* added tutorial chapter on mobject
* Update docs/source/tutorials/building_blocks.rst
* added transform example and updated position example
* extra line
* Apply suggestions from code review
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
* Update docs/source/tutorials/building_blocks.rst
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
* Notify user if local version is outdated
Running the `manim` command will display the version number as green
if it is the latest detected on GitHub. Otherwise, display the version
number as red and let the user know that a newer version is available.
* Black formatting
* Add requests dependency
* Switch to PyPi API since it's not ratelimited
* Add CLI option for notifying local outdated build
Manim will notify user if local installation is outdated, after
rendering. This feature is enabled by default, but could be turned off
in config.
* Update notify_outdated_version instructions
* Please the flake
* Add documentation to configuration.rst
* Update poetry.lock
* Update option punctuation
* No need to inform users if they're up to date
* Move variable to within method
* Remove unused import
* Update dependencies
* Update outdated version message
* Run isort
* Fix typo
* Set `--notify_outdated_version` default to `None`
Flag value by default is None so config file will determine the value.
If flag is used then value is True.
* Convert CLRF to Unix newline LF (cleaner diffs)
* Remove argument check for outdated version
Too verbose, value should be configured via config
* Handle requests exceptions
* Update manim/cli/render/commands.py
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Use f-strings for logger warnings
* Update poetry.lock
* Update manim/cli/render/commands.py
Co-authored-by: KingWampy <9156604+WampyCakes@users.noreply.github.com>
* Update manim/cli/render/commands.py
Co-authored-by: KingWampy <9156604+WampyCakes@users.noreply.github.com>
* Move print statements within try block
* Except JSONDecodeError only
* Update manim/cli/render/commands.py
Co-authored-by: Naveen M K <naveen@syrusdark.website>
* Update manim/cli/render/commands.py
Co-authored-by: Naveen M K <naveen@syrusdark.website>
* Don't raise exceptions, log in debug
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: KingWampy <9156604+WampyCakes@users.noreply.github.com>
Co-authored-by: Naveen M K <naveen@syrusdark.website>
* Added click dependency and command structure
* Refactored code for separation of concerns
* Shortened plugins command to plugin, added render options
* first draft for render -h
* First successful render using click
* Cleaned main
* Moved flush_cache to option, ran black
* Removed argparse logic, scattered print statements
* corrected tests, all passing
* merge upstream
* fixed test with click's clirunner
* Fixed doctest configuration.rst
* Temporarily add in main_utils
* Removed main_utils.parse_args, used ManimConfig.digest_args
* fixed progress bar
* Fix jupyter
* black
* Fixed incorrectly merged merge conflict
* updated README command.png image
* updated configuration.rst expected output
* Fixed test_plugins and config_file expected type
* Refixed the jupyter fix
* Apply 3/5 suggestions
Remove stray print
Improve readability of test code
Added module docs for the subcommands
* Updated `main` to `manim` for tests
* Forced `file` positional argument to be Path type
* Fixed main -> manim
* Added libpango to linux dependency
* Updated poetry.lock
* Changed configuration.rst test
* Fixed test_a_flag test
minor space issue
added media_width to configuration.rst
* Fixed fps flag in Cairo rendering
* Fixed more outdated rst in sphinx docs
Removed default for fps option, always overwrote quality
Fixed doctest control_data
* Fixed more incorrect rst orderings
* Update tests/test_commands.py
Co-authored-by: Naveen M K <naveen@syrusdark.website>
* Added suggestions
* Removed unused imports
* Reverted entry point back to main
* Update manim/_config/default.cfg
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
* Adjusted ipython_magic's call to the entry_point
* Converted frame_rate to int if integer
* run black
* Fixed doctest
* Fixed issue with command name from CliRunner
* Fixed multiple video windows opening from upstream merge
* to black or not to black
* Added deprecation warning to render subcommand
* warning instead of warn
* Applied Naveen's suggestions
* Made `manim render` show the help page
* Update manim/cli/render/commands.py
Co-authored-by: Naveen M K <naveen@syrusdark.website>
* Update manim/cli/cfg/commands.py
Co-authored-by: Naveen M K <naveen@syrusdark.website>
* Update manim/cli/cfg/commands.py
Co-authored-by: Naveen M K <naveen@syrusdark.website>
* Update manim/cli/plugins/commands.py
Co-authored-by: Naveen M K <naveen@syrusdark.website>
* Addressed some style changes
* add back in write_to_movie temporarily for OpenGL support
* Removed sound flag, deprecated use_opengl_renderer, added renderer option
* revert webgl_renderer_path removal
* Fixed cfg export
Fixed readme usage of CLI
* Flake8/black
* Fixed bug in setting renderer choice
* Removed log message due to default option
Removed default option of background color
Fixed write_to_movie flag default
* Fix log_to_file tests
* Make '-c' option for config_file, not background_color
* print colored version always
* Remove -v = --version shorthand, conflicts with verbosity
* Use subprocess.run instead of Click's CliRunner for stdout
* Refactor cli/render to use Cloup instead of click-option-group
1) There's a new file for each option group
2) render is now a cloup.Command, not a Group
Fixed issue when an animation is cached, manim can't merge the partial movie files. (#1192)
* fixed issue
* fixed tests
* Update manim/renderer/cairo_renderer.py
Co-authored-by: Darylgolden <darylgolden@gmail.com>
* added tests
* imrpoved test
* fixed logic
* added new test
* check if the file has been outputed
* added test when caching is enabled
* fixed tests on windows
* black
* Update manim/renderer/cairo_renderer.py
Co-authored-by: Naveen M K <naveen@syrusdark.website>
* Update tests/assert_utils.py
Co-authored-by: Naveen M K <naveen@syrusdark.website>
Co-authored-by: KingWampy <9156604+WampyCakes@users.noreply.github.com>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
Co-authored-by: Naveen M K <naveen@syrusdark.website>
Added :ref_methods: to the manim directive (#1209)
* fix manim_directive for methods
* added ref_methods to Angle example
* black
* added new ref_methods references
* sort out ref_functions vs ref_methods in examples.rst
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Fixed issue when an animation is cached, manim can't merge the partial movie files. (#1192)
* fixed issue
* fixed tests
* Update manim/renderer/cairo_renderer.py
Co-authored-by: Darylgolden <darylgolden@gmail.com>
* added tests
* imrpoved test
* fixed logic
* added new test
* check if the file has been outputed
* added test when caching is enabled
* fixed tests on windows
* black
* Update manim/renderer/cairo_renderer.py
Co-authored-by: Naveen M K <naveen@syrusdark.website>
* Update tests/assert_utils.py
Co-authored-by: Naveen M K <naveen@syrusdark.website>
Co-authored-by: KingWampy <9156604+WampyCakes@users.noreply.github.com>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
Co-authored-by: Naveen M K <naveen@syrusdark.website>
Added :ref_methods: to the manim directive (#1209)
* fix manim_directive for methods
* added ref_methods to Angle example
* black
* added new ref_methods references
* sort out ref_functions vs ref_methods in examples.rst
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Fixed unnecessary args dict
* Fixed bug that changed caching hashing result
* Revert doctest logic for fps filename output
Co-authored-by: Naveen M K <naveen@syrusdark.website>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Gianluca Gippetto <gianluca.gippetto@gmail.com>
* Deprecated ShowCreation in favor of Create
* Fixed Black formatting and logger error
* Fixed relative import issue of logger
* Renamed CreateThen.. calls to previous names
* Fixed __all__ classes, fixed Create inheritance
* Update manim/animation/creation.py
Move logger warning to class initializer
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
* Added new 3D mobjects: mostly taken from dor2727's previous incomplete PR
* Added Torus from 3b1b manim
* Added tests
* Remove personal test file
* Ran black
* Added test for Arrow3D
* Apply suggestions from code review
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
* Black formatting
* Added documentation, tests failing?
* Added documentation, tests fixed
* Rename self.height to self._height
* Removed unnecessary property.
* Fixed tests
* Apply suggestions from code review
Co-authored-by: friedkeenan <friedkeenan@protonmail.com>
* Black
* Apply suggestions from code review
Simple changes for now
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
* Apply suggestions from code review
Possibly breaking changes
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
Co-authored-by: friedkeenan <friedkeenan@protonmail.com>
* Update manim/mobject/three_dimensions.py
Fix indentation
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
* Update manim/mobject/three_dimensions.py
Fix indentation
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
* Fix things
* Change parameter names for Torus
* Added get_direction method for Cylinder and fixed direction setting
* retrigger checks
* Changed max-width to 375px
* Resolve merge conflict
* Attempted to add config for jupyter_width
* Apply suggestions from code review
Attempt to fix
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
* Fixed config
* Updated test data.
* Change name in cfg file to match ManimConfig
* Added media_width support to iPython Image
* Revert "Change name in cfg file to match ManimConfig"
This reverts commit 57080a91be.
* Revert "Added media_width support to iPython Image"
This reverts commit 0391bfb223.
* Revert "Revert "Change name in cfg file to match ManimConfig""
This reverts commit 7d499fa43c.
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
Co-authored-by: friedkeenan <friedkeenan@protonmail.com>
* Add .animate attribute to mobjects
* Return function from _AnimationBuilder.__getattr__
* black
* Pass background color to JS renderer
* Handle default case
* Pass background color to JS renderer
* Remove line that came back in the merge
* Handle FrameServer case
* Use community colors by default
* Allow for chaining _AnimationBuilder
* Trying to do tweening
* Add _AnimationBuilder.build()
* Apply docs patch
* Pass tweening data
* Pass ID for ImageMobject
* Fix Wait bug, add FadeIn tween data
* Remove unused proto fields
* Remove unused proto field
* Optimize RPCs
* Handle frame skipping better
* Refactoring
* Ignore PreviewMode.ALL
* Remove preview mode
* Don't send tween data for wait
* Opacity fixes
* Add comments
* Simplify protos
* Add tween data for wait
* Add todo
* Serialize when updating
* Prepare to send tweened and non-tweened mobject IDs
* Pass updater information to javascript
* Add log
* Rename js_* -> webgl_*, remove WebGLScene
* rename js->webgl in workflow file
* Update doctest
* Update .gitattributes
* Remove try/except for webgl imports
* Step through animations using updaters with fixed frame rate
* Add --webgl_updater_fps flag
* Configuration test
* configuration test
* JS->WebGL
* Add install message
* Automatically import Plugins
Specify plugins using CLI and config file
Signed-off-by: Naveen M K <naveen@syrusdark.website>
* Fix Doc tests
* clean manim.cfg
* Add more explanatory docs
* add info about plugins site
* use property method
Co-authored-by: friedkeenan <friedkeenan@protonmail.com>
* use types module and f-strings
* Add tests
* lint
* remove --plugins
it seems it is not possible currently to implement that
* fix doc tests
* don't define unnecessary variables
* Apply suggestions from code review
Co-authored-by: Leo Torres <dleonardotn@gmail.com>
Co-authored-by: friedkeenan <friedkeenan@protonmail.com>
Co-authored-by: Leo Torres <dleonardotn@gmail.com>
* working prototype of manim line and cell magic
* downgrade "dummy animation" log entry from warning to debug
* use built-in methods for displaying images/videos
* create tempconfig from current config, if available
* cleanup imports
* add some basic documentation and pointers
* make import of ipython_magic robust against missing IPython
* add statement to README
* fix link in quickstart
* experimental: stateful magic allowing to circumvent caching
* add jupyterlab to optional dependencies in pyproject.toml
* actually make jupyterlab an optional dependency
Co-authored-by: Naveen M K <naveen@syrusdark.website>
* try to improve the situation for google colab
* embed video within google colab
Co-authored-by: Naveen M K <naveen@syrusdark.website>
* Add --version commandline flag
* Update __init__.py
* Update manim/_config/main_utils.py
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
* Fix Black Check
* Update poetry.lock
* Create test_version.py
* Make black happy
Running black locally didn't catch this for some reason..
* Review changes
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
* fix doctests
* add doctest to our ci pipeline
* need test reqs
* skip rendering videos for the doctests
* try to fix doctests under windows
* shell=True only when running on windows
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
* rename config subpkg to _config for the time being
* Revamp documentation for configuration system modules and classes. Revamp tutorial. Update changelog
* use as_posix so that doctests will pass on Windows
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: kolibril13 <44469195+kolibril13@users.noreply.github.com>
* #added some examples to the camera scene
* #added 3 ZoomedScene examples
* #removed accidentally added files
* #added updater examples
* #added text examples
* #renamed example
* #added 3d example with other light source
* #added imagemobject examples
* # added one line of code
* # small fix
* # added 3d examples
* # added one advanced project
* fixed error
* small changes
* 3d render
* another idea with the file 3d_fix.rst
* # one more change
* some more formula examples
* fix indent
* remove reference to examples/3d_fix
* change default resolution for videos in doc to 480p30
* Apply suggestions leotrs
Co-authored-by: Leo Torres <leo@leotrs.com>
* Added credits and 3d scene changes
* # removed unnecessary lines
* # implemented lots of changes suggested be leotrs
* # updated credits
* # updated scene names
* Update docs/source/examples/shapes.rst
Co-authored-by: Leo Torres <leo@leotrs.com>
* updated credits
* updated examples entery
* Update camera_settings.rst
* changed two lines
* Update shapes.rst
* Update plots.rst
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Leo Torres <leo@leotrs.com>
* add a section to the quickstart explaining the basics of building a scene
* add the internals_basic tutorial. Currently contains the section for Mobjects only
Co-authored by @behackl
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
* add output of manim -h to the documentation, as a poor man documentation of CLI arguments
* document config system and general changes in the description of each command line flag
* run black
* MacOS
* update
* Add configuration.rst back to the toctree. Add the contributing guidelines, which is just a symlink to the main repository\'s contributing.md file.
* add the symlinks
* fix length of underlines
* update contributing guidelines
* convert quickstart doc from md to rst. Also add a troubleshooting stub file
* finish the second part of the quickstart
* add general and linux instructions
* add mac instructions
* add windows install instructions
* final touches
* Update docs/source/installation/win.rst
Co-authored-by: Naveen M K <naveen@syrusdark.website>
* Update a_deeper_look.rst
added explanation on the ``-s`` flag
* Update docs/source/installation/installation_linux.rst
Co-authored-by: Aathish Sivasubrahmanian <aathish04@gmail.com>
* Update docs/source/installation/win.rst
Co-authored-by: Aathish Sivasubrahmanian <aathish04@gmail.com>
* Update docs/source/installation/win.rst
Co-authored-by: Aathish Sivasubrahmanian <aathish04@gmail.com>
* Update docs/source/installation/win.rst
Co-authored-by: Aathish Sivasubrahmanian <aathish04@gmail.com>
* Update docs/source/installation/win.rst
Co-authored-by: Aathish Sivasubrahmanian <aathish04@gmail.com>
* updates from code review
* update from code review
Co-authored-by: Pg Biel <9021226+PgBiel@users.noreply.github.com>
Co-authored-by: Naveen M K <naveen@syrusdark.website>
Co-authored-by: kolibril13 <44469195+kolibril13@users.noreply.github.com>
Co-authored-by: Aathish Sivasubrahmanian <aathish04@gmail.com>
* add output of manim -h to the documentation, as a poor man documentation of CLI arguments
* document config system and general changes in the description of each command line flag
* run black
* MacOS
* update
* Add configuration.rst back to the toctree. Add the contributing guidelines, which is just a symlink to the main repository\'s contributing.md file.
* add the symlinks
* fix length of underlines
Co-authored-by: Pg Biel <9021226+PgBiel@users.noreply.github.com>