Commit graph

32 commits

Author SHA1 Message Date
Darylgolden
6018ebf445 Revert "Merge branch 'main' of https://github.com/ManimCommunity/manim"
This reverts commit e7f9d23aa7, reversing
changes made to afe91d02b6.
2023-07-31 15:29:39 +08:00
Hugues Devimeux
2044ef8abc
Removed unused `GraphicalUnitTester` (#3054)
* Removed graphicalUnitTester

* Removed reference about it in teh docs
2022-11-30 22:10:13 +01:00
NotWearingPants
95bca6f24b
Convert all types of parameters in docstrings to proper type annotations (#2988)
* Converted types in docstrings to type annotations

* `isort .`

* `black .`

* Additional docstrings type annotation fixes

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2022-11-10 07:17:21 +01:00
NotWearingPants
206db54af5
Migrate more os.path to pathlib in tests (#2991)
* Migrate more `os.path` to `pathlib` in tests

* Convert test fixtures to pathlib

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

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

* fix mypy errors in tests

* migrate another pathlib instance

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>
2022-10-26 19:51:38 +02:00
Jonathan Alpert
7a13f0e969
Migrate from os.path to pathlib in Testing Scripts (#2685)
* updated styling

* final commit

* fixed style

* removed exist_ok=true

* added parents=True

* potentially .exists() is the problem

* fixed style'

* fixed style on revisions

* style check processed

* Update tests/helpers/graphical_units.py

Co-authored-by: ad_chaos <90276965+Kiran-Raj-Dev@users.noreply.github.com>

* fixed changes

* made get_dir_layout also accept path.

* removed small auto import error

Co-authored-by: ad_chaos <90276965+Kiran-Raj-Dev@users.noreply.github.com>
Co-authored-by: Naveen M K <naveen521kk@gmail.com>
2022-04-24 10:48:11 +00:00
Darylgolden
7efa2066ac
Removed unused imports (#2503)
* Remove unused imports

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

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

* Removed non pytest imports from tests

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

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

* Remove unused pytest imports

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

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

* re-added removed pass statements

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>
2022-01-30 14:31:45 +00: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
c4217731e0
Added MyPy Support (#1972)
* MyPy Support

* MyPy Hook

* Removing MyPy Hook

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

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

* Delete __init__.pyi

* Delete color.pyi

* Update .mypy.ini

Co-authored-by: Christopher Besch <christopher.besch@gmx.de>

* changes

* quick fix

* MyPy Hook

* MyPy Hook

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Christopher Besch <christopher.besch@gmx.de>
2022-01-03 19:41:07 +08:00
Christopher Besch
3ce4c133dd
Introduced API for scene sections via :meth:.Scene.next_section (#2152)
* feat: added section class

* fix: fixed imports in scene.py

* feat: added section class

* fix: fixed imports in scene.py

* feat: scene file writer update; needs testing

* broken test

* fixed wrong partial movie files

* feat: added animation concatenation for sections

* fix: sections can contains None as partial movie file

* fix: correct section output file names

* fix: removed media folder

* feat: section output able to extract type

* feat: added guarantee_existence tests

* fix: touch file on windows

* fix: touch file on windows

* feat: automatically create control data with --set_test flag

* feat: added tests for sections output folder

* feat: added flag to enable sections

* feat: testing section metadata file

* feat: finished metadata tests; changed enums to be extendable

* fix: removed testing files

* fix: fixed section types

* fix: fixed outdated control data

* fix: fixed simple_scenes.py

* fix: fixed section type documentation example

* feat: added section video metadata to API

* fix: isort should stop destroying the import order for commands.py

* fix: fixed types of section metadata output

* fix: better comments

* ?

* feat: added elaborate test; switched name and type in next_section call

* feat: changed testing terminology: "config" got renamed to "movie metadata"

* fix: removed unicode lambda :<

* fix: fixed control data

* fix: removed test setter

* feat: added tutorial in the documentation

* fix: updated test control data

* fix: fixed double '.' in video tests

* fix: fixed some documentation

* fix: fixed missign JSON file in docs

* fix: implemented proposed changes

* fix: better --save_sections help

* fix: better docstrings

* fix: fixed last docstring...hopefully :>

* feat: custom section output supported

* fix: removed resolved todos

* fix: added debug for movie concatenation back

* fix: removed implemented TODO

* fix: removed doubled log

* fix: changed debug to info log

* fix: fixed log test data
2021-10-20 10:36:24 +02: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
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
Devin Neal
d37481669c Merge commit '9a525a81' into opengl-tex 2021-04-09 19:19:19 -07:00
Mark Miller
99de10f61d
Reorder red/green layers in the graphical unit test (#1299) 2021-04-10 00:26:28 +05:30
Devin Neal
358d175e7b Replace use_opengl_renderer with renderer = opengl 2021-04-07 18:13:37 -07:00
Naveen M K
dcb90a8656
Format Imports using Isort (#1178)
* Format imports using Isort.
Add a check for pull requests.

Signed-off-by: Naveen M K <naveen@syrusdark.website>

* CI: update check's name
2021-04-03 13:45:12 +05:30
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
Mark Miller
d8d9a01b9a
Enable CI testing for OpenGL (#1160)
* add simple circle test for opengl

* literally a comma

* add rgb tolerance to graphical unit tester

* start up xvfb on ubuntu?

* black style

* reduce tolerance to pixel ?

* add msys2 action

* add mesa install

* ci: windows add msys2 to path
Compile moderngl from source
add a init tests for CI to work
add colour to pytest

* minor edits

* mild refactor of scene / camera / renderer relationship

* flake-d

* reverted refactor

* reverted opengl split at the level of graphical unit tester

* remove unnecessary config in definition

* CI: remove python3 from MSYS2 also

Co-authored-by: Naveen M K <naveen@syrusdark.website>
2021-03-28 22:09:29 +02:00
Hugues Devimeux
fc6159b45d
Refactored play logic (#1019)
* refactored play logic

* fixed tests (and minor improvement)

* moved time progression generation

* fixed typo :/

* added tests

* fixed tests

* fixed imports

* fixed tests

* black

* fixed tests in  python 3.7

* fixed tests for python 3.7

* Update manim/renderer/cairo_renderer.py

* removed is_cached variable

* updated webgl renderer and removed redondent code

* Update manim/scene/scene.py

* Add self.duration back into compile_animation_data

* Fixed openGL ?

* black

* fixed merge conflict by adding fixture marker

* Called begin_animation to fix OpenGL

* Fixed original_skippingstatu sname for opengl renderer

* Update manim/utils/caching.py

Co-authored-by: Devin Neal <devin@eulertour.com>

Co-authored-by: Hugues Devimeux <hugues.devimeux@gmail.com>
Co-authored-by: Jason G. Villanueva <a@jsonvillanueva.com>
Co-authored-by: Devin Neal <devin@eulertour.com>
2021-03-23 09:58:49 +01:00
Aathish Sivasubrahmanian
9fb1a1666e
Fix - as filename feature (#1005)
* Exemption from absolute filepath if filename is -

* Comment why filepath is not made absolute if - is filename.

* Add a test for `-` as filename feature.

* Fix typo

* Use subprocess instead of echo and pipe for test.

* Run black

* Removed unused shell mode argument.
2021-02-06 18:03:23 +05:30
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
kolibril13
691db1e461
Run proofreading over the whole library (#890) 2021-01-01 17:59:12 +01:00
Philipp Imhof
1b57ef38a0
Remove old str.format() syntax and change to f-Strings (#867)
* Changing old str.format() to f-Strings

* Fixed mistake

* Line too long

* str(...) is not needed in f-string

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

Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2020-12-20 17:46:34 +01:00
Aron
68e66dccf5
remove all CONFIG and all digest_config (#783)
* remove CONFIG and digest_config

* docstring fix - arrow tips have length, not tip_length

* fix divide by zero as per issue 780

* Update manim/mobject/geometry.py

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

* black, what else

Co-authored-by: leotrs <leo@leotrs.com>
Co-authored-by: Aron <co-bordism@gitlab / cobordism@github>
Co-authored-by: kolibril13 <44469195+kolibril13@users.noreply.github.com>
2020-12-03 17:19:57 +05:30
Leo Torres
f377481096
Refactor skip animations (#696)
* refactor: make skip_animations an instance attribute of Renderer instead of a config option
* Changes from @huguesdevimeux
2020-11-19 12:39:21 -05:00
leotrs
45980e56fc added new test and fixed a couple of things with deepcopy 2020-10-28 14:18:22 -04:00
leotrs
12e1e528eb merge master 2020-10-26 17:46:00 -04:00
leotrs
70649b79ac use the new "quality" config option 2020-10-25 23:00:01 -04:00
leotrs
6e0ba47a1e change every mention of file_writer_config to config. Also some tweaks to ManimConfig 2020-10-14 22:08:00 -04:00
Devin Neal
41f6f054e0
Add interface to JS renderer (#465)
* Add interface to JS renderer

* Update manim_directive.py

* Add simple flag to get_style()

* Change add_frames to add_frame

* Update changelog.rst
2020-10-04 18:49:01 -07:00
Hugues Devimeux
50c504f094
Refactored logs and added log-to-json feature (removed the old log-to-file feature), added logging test utils. (#403)
* refactored logging, and logging to file feature.

* cleaned up old tests

* Update tests/test_logging/test_logging.py

Co-authored-by: Hugues Devimeux <hugues.devimeux@gmail.com>
Co-authored-by: Pg Biel <9021226+PgBiel@users.noreply.github.com>
Co-authored-by: Leo Torres <dleonardotn@gmail.com>
2020-09-12 15:45:27 -04: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
Hugues Devimeux
a623a9e4c3
Refactored tests and added new tests tools for videos-tests. (#335)
* Refactored file architecture of graphical tests

* removed tests_cache now useless

* added show_diff helper flag

* updated test data for TextMobjecttest

* refactored set_test_scene

* removed useless imports

* added video comparison tools

* improved tests helpers for devs

* added small video tests (provisionnal)

* small changes and cleanup

* RUN BLACK SIR YES SIR

* removed unused imports

* improved docs

* Apply suggestions from code review

Co-authored-by: Leo Torres <dleonardotn@gmail.com>

* updated tests from master.

* RUN BLACK SIR YES SIR

* fixed logging tests

* fixed test name

* rgb(0,0,0)

* fixed tests

* changed .npy data to fix test (hopefully)

* removed bad control data.

* aaand re added control data

* Regenerate Reference data for TextMobject and Text tests.

* Turn off fast-failing to see if tests pass anywhere

* Use shell mode for logging test.
(Fixes the failing logging test)

* Merge branch 'master' into refactor-tests

* Add OS Specific control data for Tex[t] tests on MacOS, Windows

* Use old TextMobject reference data.

* Add reference data for Linux.

* Use reference data from Ubuntu for Linux tests.

* Use @CorvidCanine's Text data and @leotrs's Tex[t]Mobject data.

* removed hash comparison in video tests.

* updated control data

* updated helpers

* removed useless comment

* removed test_writing

* updated tests

* renamed tests

* fixed tests

* Re-add fail-fast

* Apply suggestions from code review

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

* small docs mistake

* Update tests/utils/video_tester.py

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

Co-authored-by: Leo Torres <dleonardotn@gmail.com>
Co-authored-by: Aathish Sivasubrahmanian <aathish04@gmail.com>
Co-authored-by: Hugues Devimeux <hugues.devimeux@gmail.com>
Co-authored-by: Pg Biel <9021226+PgBiel@users.noreply.github.com>
2020-09-01 23:12:39 +02:00