Commit graph

90 commits

Author SHA1 Message Date
Jason Villanueva
a87bb28484
Refactored the Command Line Interface to use Click + Cloup instead of Argparse (#1013)
* 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>
2021-04-01 23:53:07 -07:00
Lionel Ray
39351b0202
Deprecation: Deprecated ShowCreation in favor of Create, added logger warning (#1124)
* 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>
2021-03-23 16:13:59 +01:00
Darylgolden
1d9fdaf629
New Feature: Added media_width option to the config to change the default width of gif+video output in Jupyter notebooks (#1074)
* 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>
2021-03-21 23:21:28 +01:00
Devin Neal
83dd82b6d3 doctests 2021-03-06 15:50:20 -08:00
Devin Neal
4748f3c730 Merge remote-tracking branch 'origin/master' into moderngl 2021-03-04 18:06:21 -08:00
Sergii Penner
6b8ef88ebf
Remove duplicate word 'vector' (#1065) 2021-02-28 15:27:34 +05:30
Devin Neal
448d10b590 Animate Arc with OpenGL 2021-02-19 20:41:01 -08:00
Anoop Hallur
0b15360096
Bugfix: fix link to wikipedia vector graphics page (#1031) 2021-02-14 18:32:17 +01:00
KingWampy
554f829848
Enhancement: Add manim version to CLI output, append version name for generated gif+png, add version to metadata of rendered videos (#984)
* Initial commit

* black formatting

* Changes

* Test to see if it works

* Changes

* Update manim_directive.py

* Update manim_directive.py

* Update manim_directive.py

* Update manim_directive.py

* Update scene_file_writer.py

* Always forget black..

* Change path separator

* Changes

* Add blank line in option block

* Update scene_file_writer.py

* Update metadata messages

* No longer add version to video names

* Fix test_dash_as_filename

* Update __init__.py
2021-02-10 16:56:05 +01:00
Devin Neal
57f228b8eb
Js tweening (#952)
* 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
2021-01-29 08:33:49 -08:00
Naveen M K
65240b8bc8
Automatically Import Plugins (#967)
* 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>
2021-01-28 20:57:27 +05:30
Benjamin Hackl
b2abe699fb
New Feature: IPython %%manim magic (#943)
* 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>
2021-01-28 13:36:23 +01:00
KingWampy
80574b7125
Make ManimCommunity look consistent (#971) 2021-01-28 15:05:08 +05:30
KingWampy
8fce5a74cb
New feature: Added --version command line flag (#970)
* 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>
2021-01-28 02:26:00 +01:00
Tanner Gilbert
2ed00b6b26
removed deprecated command line arguments from documentation (#908) 2021-01-05 10:46:10 -05:00
kolibril13
691db1e461
Run proofreading over the whole library (#890) 2021-01-01 17:59:12 +01:00
kolibril13
5f1cfa3c9d
Added flowchart for Docs overview (#828)
* added flowchart

* updated flowchart

* added second flowchart
2020-12-05 21:26:55 +05:30
Jason Villanueva
a9321acd52
fixed test (#831) 2020-12-05 13:57:55 +01:00
Leo Torres
f3256087a3
Fix doctests (#797)
* 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>
2020-12-04 11:05:11 +01:00
Benjamin Hackl
6a02b38a2d
Fix docbuild warning (#744)
* fix all docbuild warnings

* black
2020-11-20 23:50:40 +01:00
Benjamin Hackl
e51d774078
Reorganize example gallery (#687)
* reorganize example gallery
* larger heading for example gallery page
* add references to gallery examples
2020-11-17 18:45:03 -05:00
Leo Torres
d0e04f8cc6
Document config system (#659)
* 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>
2020-11-06 21:56:12 -05:00
leotrs
24b1a7fa26 update list of flags 2020-11-02 11:17:43 -05:00
Benjamin Hackl
9733d6ad42 fix warnings in docbuild 2020-10-12 19:30:00 +02:00
Julian van Doorn
d8dab7857d
Added explicit production quality flag. (#529)
* Added explicit production quality flag.

* Updated documentation to mention production quality flag.
2020-10-08 15:28:28 +02:00
Julian van Doorn
299e75631c
Merge branch 'master' into issue-511 2020-10-06 22:45:19 +02:00
Julian van Doorn
fa0a82c226
Implements -q[l|m|h|k] (#514)
Consolidates quality flags under a single --quality or -q flag
2020-10-06 13:42:52 -07:00
Julian van Doorn
f79948348c
Removed play_chord, play_error_sound and play_finish_sound functions. As a consequence sox has become a redundant dependency, thus it has been removed. 2020-10-06 21:50:10 +02:00
kolibril13
5233c598ac
Bunch of more examples for the docs (#458)
* #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>
2020-10-02 16:06:01 +02:00
Benjamin Hackl
99428cfab0
change default for displaying source code with manim directive (#446)
* change display_source to hide_source (changed default behavior)

* :display_source: change in examples
2020-09-16 17:54:05 -04:00
Leo Torres
e48d46717b
New tutorial: manim internals basic (#394)
* 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>
2020-09-12 11:51:12 -04:00
Benjamin Hackl
9c511502cc
Render videos while building documentation (#402)
Implement a sphinx directive to allow for rendering video at the time of generating the documentation
2020-09-11 16:22:06 -04:00
Leo Torres
b21c50493a
add docs reqs for RTD site, and update the output of 'manim --help' to fix doctests (#381) 2020-08-30 19:27:23 -04:00
leotrs
cf66a22a4c add some other modules to the API reference 2020-08-21 22:34:26 -04:00
Leo Torres
271c235f78
Documentation: finish quickstart and add installation instructions (#324)
* 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>
2020-08-21 20:40:27 -04:00
Leo Torres
aada9f00f0
Change the folder of auto-generated reference from _autosummary to reference. This will change the URLs as well so they look prettier. I also moved the installation/examples/tutorials indices one folder up so the URLs look less messy and more straightforward as well. (#312) 2020-08-17 07:43:52 -04:00
Leo Torres
54854ccf23
Documenting the config system (#303)
* 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>
2020-08-16 07:08:26 -04:00
kolibril13
68046dfbe0 # fixed typos 2020-08-15 19:59:54 +02:00
kolibril13
2752a47279 added changelog an gifs 2020-08-15 15:31:56 +02:00
kolibril13
ba418692f9 # Restructured the docs-chapters 2020-08-15 12:57:38 +02:00