* move tutorials -> tutorials_guide
* change title in tutorials_guides
* rename: a_deeper_look -> output_and_config
* splitting Tutorials
* reorder index (sidebar), move some top level sections elsewhere
* rename some tutorials
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* replace recommonmark with rest for rendering md files
* fixed broken references
* fixed **all** warnings and errors during docbuild
* faq: help, more structure for landing page
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix deprecation tests
* prepare some sort of skeleton for installation faq
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* ensure that pip from poetry venv is used in pipeline
* added myst-parser as dev dependency
* remove fixed sphinx version from requirement.txt, don't re-install dependencies
* move and improve versions and troubleshooting content to FAQ
* resolve broken references
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* help blacken-docs
* new: navigating the docs
* make different versions question more prominent
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fixed order of tutorials
* added explicit references to building blocks and quickstart tutorial
* docs -> doc
* change a page-reference to a paragraph-reference
* pypi manimlib, split answer regarding chocolatey failing
* added a note on #beginner-resources
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* First draft of cloup/click update
* Added some customizability via cfg files
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fixed test_command epilogs
* Adjusted logic for overriding theme
* Update main help page, no_args_is_help, and documentation
* Removed help shorthand '-h'
* Apply suggestions from code review
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
* Update poetry lock again, update DefaultGroup snippet
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
* Copyedited Documentation
Changelog / Overview
Reviewed tutorials\configurations.rst. Edited simple mistakes such as Manim not being capitalized and commas.
Motivation and Explanation: Why and how do your changes improve the library?
My motivation was to start getting involved in the open source community. This improves the library as it increases readability and professionalism.
Links to added or changed documentation pages
Further Information and Comments
Closes#1401
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Apply suggestions from code review
Co-authored-by: Darylgolden <darylgolden@gmail.com>
Co-authored-by: Luca <30503695+tameTNT@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
Co-authored-by: Luca <30503695+tameTNT@users.noreply.github.com>
* Remove WebGL renderer
Fixes https://github.com/ManimCommunity/manim/issues/2629
* Remove occurence of webgl_renderer in CI config
* Fix Dockerfile
* Remove reference to webgl renderer in config docs
* Update poetry lock file
* Remove some scripts related to webgl
* Don't use rich 12.0 version
* Ignore rich 12.0.0
* Fix dependency, it was wrong previously
* Attempt to use CI to update translations
* try again
* runs on ubuntu latest
* Try to fix
* again
* try to use PR branch
* that didn't work
* will this work?
* Revert "will this work?"
This reverts commit 1e6543a77f.
* Try a different action
* fix attempt
* another attempt
* Revert "another attempt"
This reverts commit 8965000ac3.
* try again
* automatically generate list of all flags
* remove unrelated change
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* specify dep
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update tutorial
Move CLI stuff to the top since it's the most important, slight rewrite, some copyediting
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* slight rephrasing
* make underline long enough
* Revert "Merge branch 'main' into command-output"
This reverts commit e6a9d457d3, reversing
changes made to 3f0137a690.
* Revert "Revert "Merge branch 'main' into command-output""
This reverts commit c823c6eb8f.
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Add png output support for opengl
* Handle when interactive embed should launch
* Handle when window should be created
* Remove unused import
* Remove confusing field
* Avoid creating window when any format is set
* Revert removing manim import
* Remove second log for interactive_embed
* Add force_window flag
* temp skip tests due to opengl context issue
* Fix context issue
* Try manually closing window in opengl tests
* Test disabling parallel runs
* Test disabling parallel runs
* Try clearing frame buffer on finish
* revert clear
* Skip tests that pass locally but fail windows CI
* Reenable opengl tests
* Remove stdin closed check
* Skip flakey test
* Stop window creation when save_last_frame is set
* Update config path
Co-authored-by: Laith Bahodi <70682032+hydrobeam@users.noreply.github.com>
Tested config in `~/.config/manim/manim.cfg` and `~/config/manim/manim.cfg` on Debian.
The config in `config` doesn't work, while the one in `.config` does.
* Finished copyedititng
* Made some more changes
* Update plugins.rst
* Fixed scoop link
* Capped the character limit to 80
* Declare *.npz *.wav *.png as binary (#1560)
* Revert "Capped the character limit to 80"
This reverts commit c7e57faea5.
* Capped the character limit to 80 again
* Made it small r
Co-authored-by: Naveen M K <naveen@syrusdark.website>
Co-authored-by: Darylgolden <darylgolden@gmail.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>
* 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>
* 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>
* 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>