Commit graph

26 commits

Author SHA1 Message Date
Dan Walsh
0bc593a8a0
Add SpiralIn Animation (#2404)
* Added a cool animation.

* Added Spiral Effect

* Added SpiralIn to logo.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Made a better example to show how to use SpiralIn.

* Added docstring

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Removed SpiralInExample.py, and moved my example into basic.py with its friends.

* Update manim/animation/creation.py

Gotcha, yeah. I like this.

Co-authored-by: GameDungeon <60719255+GameDungeon@users.noreply.github.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fixing docstring

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update manim/animation/creation.py

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* imported TAU from constants.py.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Got rid of redundant, weird factor of 8 multiplication which was confusing. Now default value is 8.

* Added the ability to modify the opacity effect at the beginning.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Something is still wrong with opacity in this commit, but it's a step forward...

* Fixed the opacity issues. Seems I have to re-save the mobject state immediately after restoring it every time.

* Added fade_in_fraction to basic.py so people learning how to use it can understand the usage a bit better.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: danielkwalsh <dan@crossnokaye.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: GameDungeon <60719255+GameDungeon@users.noreply.github.com>
Co-authored-by: Darylgolden <darylgolden@gmail.com>
2022-03-12 21:32:22 +08:00
GameDungeon
daf23c9d10
Upgraded typehints (#2429)
* Future Annotations

* Delete template_twitter_post.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Apply suggestions from code review

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fixed broken RTD

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-01-20 12:26:21 +08:00
GameDungeon
94821c10d8
Flake8 Changes + Fixing Warnings (#1968)
* Warning Removal

* Flake Stuff

* HotFix

* Docs Fix

* I'm Dumb

* Docs Fix 2

* Fixing Github Requests

* Fix

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* quick fix

* Add Deprecation Warning

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Weird Pre Commit Stuff

* Quick Fix

* Quick Fix

* Fix

* Flake Fix

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-09-03 13:45:48 -04:00
Laith Bahodi
f7ed88008b
Add font_size parameter for Tex and Text mobjects. (#1694)
* refactor numbers.py, numbers.py now uses font_size, adjust constants in tex_mobject.py and text_mobject, remove uses of number_scale_value in favour of font_size

* adjust PolarPlane to use font_size instead of scaling

* some of the docs have been changed to use font_size, adjust constant and add font_size to markup text

* accurate scale factors

* code mobject compatibility with font_size

* number_line now takes font_size

* make tests work

* cleanup

* deprecated test raised error, fixed

* typing for NumberLine

* fix misbehaving test

* actually fix set_value

* use native font_size scaling for text_mobject.py

* add constant and adjust BraceLabel

* fix change_label

* drop scale_factor for Title

* add some supers

* maybe fixes import issues

* numberplanetest

* the merge conflict is over and the tests run

* add test for tex_size

* some changes to the docs

* properly deprecate instead of removing

* move deprecations to __init__

* drop the config

* deprecate number_Scale_value

* update version number for deprecation

* adjust test precision

* if TYPE_CHECKING check

* adjust Using Text

* add font_size parameters for numberline and fix bug with decimal_number_config

* make set_value work with opengl

* make kwarg

* fix typo

* another typo

* change dates

* add font_size property for tex_mobjects

* _font_size instead of font_size (prep for prop)

* accidental bugfix, handle separately)

* generalize text2svg

* add font_size property for text_mobject.py

* add check for greater than 0

* Attribute error in dd_labels

* str for attr in hasattr

* rewrite and fix tests

* remove debugging print

* fix error when self.height ==0

* Apply suggestions from code review

Co-authored-by: Darylgolden <darylgolden@gmail.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* revert accidental @deprecated change

* fix error in line_spacing

* slight fixes

* use private attribute when checking for font_size in add_labels()

* raise a Value error when font_size < 0 + improve docs

* Apply suggestions from code review

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>

* deprecate azimuth_label_scale and use more descriptive deprecation message

* wrong number of dots for an import

* add font_size property for decimalmobject

* return to using public attribute

* remove redundant constant

* add comment

Co-authored-by: Darylgolden <darylgolden@gmail.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>
2021-08-26 20:16:55 -04:00
Christian Clauss
66d26380e5
Upgrade to modern Python syntax (#1956)
* Upgrade to modern Python syntax

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-08-24 20:28:55 +08:00
Anton Ballmaier
15261ea65b
Fading module enhancements (#1454)
* finish draft implementation
* use @wrapss to remove docs problems
* reduce complexity and add doc deprecation
* Docs deprecated_params
* add decoratos to __init__
* Add decorators to documentation
* Finish detailed docs
* Apply suggestions from code review
Co-authored-by: Naveen M K <naveen@syrusdark.website>

* change since/until/message param docs
* Mark get_callable_info and deprecation_text_component as private
* change how until is included in warning messages
* Add The to parameter descriptions
* make params docs more readable
* make redirections docs clearer
* update dependency list
* order dependencies
* update examples
* fix dependency problem
* fix duplicate problem
* change decorator version
* updated lock file
* enhance function / method separation
* fix typo and double underscores
* rename message_ and replacement_
* Change warning to custom admonition
* remove [] as default parameters
* Remove "" around type
* fix bug and move to inspect
* doc string => docstring
* rename to deprecate
* change module docstring
* change to deprecation.py
* remove tests again
* Rename decorators.py to deprecate.py
* Update poetry.lock
* Test if deprecated class outputs the correct warning when used
* Rename deprecate to deprecation
* Shorten conditional for msg, since, util
* Specify decorator arguments in test
* Add tests for since and until as arguments
* Add test for msg argument for class
* Add test for replacement argument for class
* Remove unneeded docstring in deprecated class
* Add test for deprecate method, no args
* Update docstring examples, move deprecated method outside class
* Add test for method in class, since and message args
* Add test for deprecating nested class
* Add test for deprecated method in nested class
* Test deprecation of nested function
* Test param deprecation, only params argument
* Test deprecation of single method param
* Rename single param test method name
* Fix deprecated_params docstring whitespace
* Test parameter redirection using tuple
* Update warning msgs in deprecated_params docstring
* Test parameter redirection using lambda function
* Test param redirection from many to one
* Test param redirection from one to many
* Update Top.foo to deprecate with message
* FadeIn & FadeOut overhaul and deprecations
* Adjust examples
* Add docs
* Add simple example
* handle empty docstrings
* Update poetry.lock
* Deprecate ShowCreation using decorator to test the docs
* Test docstrings
* add examples
* Update example_scenes/basic.py

Co-authored-by: Laith Bahodi <70682032+hydrobeam@users.noreply.github.com>
Co-authored-by: Naveen M K <naveen@syrusdark.website>
Co-authored-by: Ricky Chon <rickychon99@gmail.com>
Co-authored-by: Laith Bahodi <70682032+hydrobeam@users.noreply.github.com>
2021-05-15 16:23:47 +02:00
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
Darylgolden
28abd477d7
Replace links to the latest version of the documentation to the stable version (#1177)
* Replace latest links with stable links

* Change link in PR template back to latest
2021-03-26 20:49:22 +01: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
friedkeenan
3ad385a168
Enhancement: Migrate width/height/depth to properties (#1024)
* Migrate width/height/depth to properties

* Fix examples

* Fix typos

* Import manim for doctests

* Expect Square for doctests

* Improve docs for width/height/depth properties
2021-02-14 12:33:12 +01:00
kolibril13
691db1e461
Run proofreading over the whole library (#890) 2021-01-01 17:59:12 +01:00
Devin Neal
ffd8b42d26
Add .animate attribute to mobjects (#881)
Adds a .animate attribute to mobjects to be used to animate methods.
2020-12-30 05:56:38 -08:00
Aron
247cdeecf6
Update Docs Url (#832)
* Changed manimce links in the docs to docs.manim.community, replaced manimce with manim where applicable

* black is extra finicky today

Co-authored-by: Aron Fischer <cobordism@github, co-bordism@gitlab>
2020-12-07 09:59:21 +05:30
Devin Neal
3b6519a586
Restore examples/basic.py (#560)
* Restore examples/basic.py

* Update example_scenes/basic.py

Co-authored-by: kolibril13 <44469195+kolibril13@users.noreply.github.com>

* Update example_scenes/basic.py

Co-authored-by: kolibril13 <44469195+kolibril13@users.noreply.github.com>

* Format basic.py

* Update example_scenes/basic.py

Co-authored-by: kolibril13 <44469195+kolibril13@users.noreply.github.com>

* Format basic.py

* Remove extra comment

Co-authored-by: kolibril13 <44469195+kolibril13@users.noreply.github.com>
2020-10-18 14:19:13 +02:00
kolibril13
64d398ab4d # removed neat_projects.rst
and renamed shapes_images_positions.rst
2020-10-13 15:50:22 +02:00
github-actions[bot]
384de0ff91
Running Black On Master (#419)
Co-authored-by: github-actions <actions@github.com>
2020-09-08 07:47:55 -04:00
Nilay
a15368035c
Add the Variable class with an example (#380)
* Add the Variable class with an example. It inherits 

* Automatically detect math/text mode

* Allow passing a Tex, MathTex, Text as label

* Update changelog with Variable class

Co-authored-by: Leo Torres <dleonardotn@gmail.com>
Co-authored-by: Aathish Sivasubrahmanian <aathish04@gmail.com>
2020-09-03 11:34:11 -04:00
Aathish Sivasubrahmanian
6df53cc9f7
Deprecate TexMobject and TextMobject in favour of MathTex and Tex (#391)
* Rename TexMobject to MathTex
Rename TextMobject to Tex
Replace all instances of TexMobject with MathTex and TextMobject with Tex.
Get rid of single-use TexSymbol.
Rename SingleStringTexMobject to SingleStringMathTex.
Add Deprecation warnings to TexMobject and TextMobject.

* Edit __all__ for tex_mobject.py

* Re-add TexSymbol by request of devs.

* Docstring Modifications by @pgbiel

Co-authored-by: Pg Biel <9021226+PgBiel@users.noreply.github.com>

* Import logger differently, by @leotrs

* Run updated Black on files changed.

Co-authored-by: Pg Biel <9021226+PgBiel@users.noreply.github.com>
2020-09-02 09:20:37 +05:30
Nilay
c19a06db24
Support VDict init from python dict of mobjects (#316)
* Support VDict init from python dict of mobjects

* Small style change

* Formatting using black

* Rework VDict to emulate init of python dict

* Update comment

* Add a few tests

* Update manim/mobject/types/vectorized_mobject.py

* Update docs

* Add few more tests, raise TypeError instead of Exception

* Raise KeyError instead of Exception when key is not in the VDcit

* Remove old comment

Co-authored-by: Leo Torres <dleonardotn@gmail.com>
2020-08-20 07:29:17 -04:00
Devin Neal
6e5770a85f
Enforce formatting with CI (#221)
Enforce formatting with CI
2020-07-31 00:42:34 -07:00
Syrus Dark
7112b51580
Remove print statement 2020-07-22 18:42:35 +05:30
Nilay Bhatia
e7e29e8841
Added a VDict class with usage example (#190)
* Added a VDict class

* Changed a typo in error message

* Added an example to use VDict class in example_scenes.py

* Added option to show key beside mobject

* Implemented python dict styled key assignment

* Added docstrings

* Added support for python dict styled reassignment

* Corrected small typo

Co-authored-by: Aathish <aathish04@gmail.com>

* Changed type for pairs in docs

Co-authored-by: Pg Biel <9021226+PgBiel@users.noreply.github.com>

* Removed incorrect attribute

Co-authored-by: Pg Biel <9021226+PgBiel@users.noreply.github.com>

* Removed 'optional' from attribute

Co-authored-by: Pg Biel <9021226+PgBiel@users.noreply.github.com>

* Removed 'kwargs' as an incorrect attribute

Co-authored-by: Pg Biel <9021226+PgBiel@users.noreply.github.com>

* Removed extra colon

Co-authored-by: Pg Biel <9021226+PgBiel@users.noreply.github.com>

* Update manim/mobject/types/vectorized_mobject.py

Co-authored-by: Pg Biel <9021226+PgBiel@users.noreply.github.com>

* Removed 'self'

Co-authored-by: Pg Biel <9021226+PgBiel@users.noreply.github.com>

* Removed self

Co-authored-by: Pg Biel <9021226+PgBiel@users.noreply.github.com>

* Added type to key

Co-authored-by: Pg Biel <9021226+PgBiel@users.noreply.github.com>

* Changed type for pairs in docs

Co-authored-by: Pg Biel <9021226+PgBiel@users.noreply.github.com>

* Removed name for return value

Co-authored-by: Pg Biel <9021226+PgBiel@users.noreply.github.com>

* Update manim/mobject/types/vectorized_mobject.py

Co-authored-by: Pg Biel <9021226+PgBiel@users.noreply.github.com>

* Update manim/mobject/types/vectorized_mobject.py

Co-authored-by: Pg Biel <9021226+PgBiel@users.noreply.github.com>

* Removed extra square brackets

Co-authored-by: Pg Biel <9021226+PgBiel@users.noreply.github.com>

* Update manim/mobject/types/vectorized_mobject.py

Co-authored-by: Pg Biel <9021226+PgBiel@users.noreply.github.com>

* Update manim/mobject/types/vectorized_mobject.py

Co-authored-by: Pg Biel <9021226+PgBiel@users.noreply.github.com>

* Corrected type for key in docs

* Fix docs indentation

Co-authored-by: Aathish <aathish04@gmail.com>
Co-authored-by: Pg Biel <9021226+PgBiel@users.noreply.github.com>
2020-07-12 09:42:17 +05:30
leotrs
32f72a0d59 split config into two dicts 2020-06-04 23:25:55 -04:00
leotrs
9958044e0e The __init__ file is executed when the user imports our package, so this is the natural file to place all imports. This removes the necessity for a separate imports.py file. Also, the main entrypoint has been moved from __init__.py to __main__.py, as intended by python packaging standards. Finally, the extract_scene.py module is not an entrypoint so it does not require a if __name__ == __main__ clause. Finally, this commit also fixes a typo (extra trailing comma) in requirements.py 2020-05-24 18:27:26 -04:00
Devin Neal
82f6572209 Replace manimlib imports with manim 2020-05-21 15:13:11 -07:00
Devin Neal
c3c11b31dc Rename sample scenes 2020-05-20 14:33:35 -07:00
Renamed from samples/sample_scenes.py (Browse further)