manim 0.18.0.post0__tar.gz → 0.18.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of manim might be problematic. Click here for more details.
- {manim-0.18.0.post0 → manim-0.18.1}/LICENSE.community +1 -1
- {manim-0.18.0.post0 → manim-0.18.1}/PKG-INFO +29 -35
- {manim-0.18.0.post0 → manim-0.18.1}/manim/__init__.py +3 -6
- {manim-0.18.0.post0 → manim-0.18.1}/manim/__main__.py +18 -10
- {manim-0.18.0.post0 → manim-0.18.1}/manim/_config/__init__.py +5 -2
- {manim-0.18.0.post0 → manim-0.18.1}/manim/_config/cli_colors.py +12 -8
- {manim-0.18.0.post0 → manim-0.18.1}/manim/_config/default.cfg +1 -1
- {manim-0.18.0.post0 → manim-0.18.1}/manim/_config/logger_utils.py +9 -8
- {manim-0.18.0.post0 → manim-0.18.1}/manim/_config/utils.py +637 -449
- {manim-0.18.0.post0 → manim-0.18.1}/manim/animation/animation.py +9 -2
- {manim-0.18.0.post0 → manim-0.18.1}/manim/animation/composition.py +78 -40
- {manim-0.18.0.post0 → manim-0.18.1}/manim/animation/creation.py +12 -6
- {manim-0.18.0.post0 → manim-0.18.1}/manim/animation/fading.py +0 -1
- {manim-0.18.0.post0 → manim-0.18.1}/manim/animation/indication.py +10 -21
- {manim-0.18.0.post0 → manim-0.18.1}/manim/animation/movement.py +1 -2
- {manim-0.18.0.post0 → manim-0.18.1}/manim/animation/rotation.py +1 -1
- {manim-0.18.0.post0 → manim-0.18.1}/manim/animation/specialized.py +1 -1
- {manim-0.18.0.post0 → manim-0.18.1}/manim/animation/speedmodifier.py +7 -2
- {manim-0.18.0.post0 → manim-0.18.1}/manim/animation/transform_matching_parts.py +1 -1
- {manim-0.18.0.post0 → manim-0.18.1}/manim/camera/camera.py +13 -4
- {manim-0.18.0.post0 → manim-0.18.1}/manim/cli/cfg/group.py +18 -8
- {manim-0.18.0.post0 → manim-0.18.1}/manim/cli/checkhealth/checks.py +2 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/cli/checkhealth/commands.py +2 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/cli/default_group.py +13 -5
- {manim-0.18.0.post0 → manim-0.18.1}/manim/cli/init/commands.py +4 -1
- {manim-0.18.0.post0 → manim-0.18.1}/manim/cli/plugins/commands.py +3 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/cli/render/commands.py +27 -20
- {manim-0.18.0.post0 → manim-0.18.1}/manim/cli/render/ease_of_access_options.py +4 -3
- {manim-0.18.0.post0 → manim-0.18.1}/manim/cli/render/global_options.py +9 -7
- {manim-0.18.0.post0 → manim-0.18.1}/manim/cli/render/output_options.py +6 -5
- {manim-0.18.0.post0 → manim-0.18.1}/manim/cli/render/render_options.py +13 -13
- {manim-0.18.0.post0 → manim-0.18.1}/manim/constants.py +54 -15
- {manim-0.18.0.post0 → manim-0.18.1}/manim/gui/gui.py +2 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/geometry/arc.py +4 -4
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/geometry/boolean_ops.py +13 -9
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/geometry/line.py +16 -8
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/geometry/polygram.py +17 -5
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/geometry/tips.py +2 -2
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/graph.py +379 -106
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/graphing/coordinate_systems.py +17 -20
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/graphing/functions.py +14 -10
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/graphing/number_line.py +1 -1
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/mobject.py +175 -72
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/opengl/opengl_compatibility.py +2 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/opengl/opengl_geometry.py +26 -1
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/opengl/opengl_image_mobject.py +2 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/opengl/opengl_mobject.py +3 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/opengl/opengl_point_cloud_mobject.py +2 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/opengl/opengl_surface.py +2 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/opengl/opengl_three_dimensions.py +2 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/opengl/opengl_vectorized_mobject.py +19 -14
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/svg/brace.py +2 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/svg/svg_mobject.py +2 -2
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/table.py +0 -1
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/text/code_mobject.py +2 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/text/numbers.py +2 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/text/tex_mobject.py +1 -1
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/text/text_mobject.py +43 -6
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/three_d/three_d_utils.py +4 -4
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/three_d/three_dimensions.py +4 -4
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/types/image_mobject.py +5 -1
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/types/point_cloud_mobject.py +2 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/types/vectorized_mobject.py +124 -29
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/value_tracker.py +3 -3
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/vector_field.py +3 -1
- manim-0.18.1/manim/plugins/__init__.py +17 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/plugins/plugins_flags.py +11 -5
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/cairo_renderer.py +12 -2
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/opengl_renderer.py +2 -3
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/opengl_renderer_window.py +2 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shader_wrapper.py +2 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/vectorized_mobject_rendering.py +5 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/scene/scene.py +22 -6
- {manim-0.18.0.post0 → manim-0.18.1}/manim/scene/scene_file_writer.py +3 -1
- {manim-0.18.0.post0 → manim-0.18.1}/manim/scene/section.py +2 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/scene/three_d_scene.py +5 -6
- {manim-0.18.0.post0 → manim-0.18.1}/manim/scene/vector_space_scene.py +21 -5
- manim-0.18.1/manim/typing.py +633 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/bezier.py +9 -18
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/caching.py +2 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/color/BS381.py +1 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/color/XKCD.py +1 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/color/core.py +31 -13
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/commands.py +8 -1
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/debug.py +0 -1
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/deprecation.py +3 -2
- manim-0.18.1/manim/utils/docbuild/__init__.py +17 -0
- manim-0.18.1/manim/utils/docbuild/autoaliasattr_directive.py +197 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/docbuild/autocolor_directive.py +9 -4
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/docbuild/manim_directive.py +18 -9
- manim-0.18.1/manim/utils/docbuild/module_parsing.py +198 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/exceptions.py +6 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/family.py +2 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/family_ops.py +5 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/file_ops.py +6 -2
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/hashing.py +2 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/ipython_magic.py +2 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/module_ops.py +2 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/opengl.py +14 -0
- manim-0.18.1/manim/utils/parameter_parsing.py +31 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/paths.py +12 -20
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/rate_functions.py +6 -8
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/space_ops.py +81 -36
- manim-0.18.1/manim/utils/testing/__init__.py +17 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/testing/frames_comparison.py +7 -5
- manim-0.18.1/manim/utils/tex.py +197 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/tex_file_writing.py +2 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/tex_templates.py +1 -0
- manim-0.18.1/pyproject.toml +119 -0
- manim-0.18.0.post0/manim/cli/new/group.py +0 -189
- manim-0.18.0.post0/manim/plugins/__init__.py +0 -3
- manim-0.18.0.post0/manim/plugins/import_plugins.py +0 -43
- manim-0.18.0.post0/manim/typing.py +0 -133
- manim-0.18.0.post0/manim/utils/__init__.py +0 -0
- manim-0.18.0.post0/manim/utils/docbuild/__init__.py +0 -0
- manim-0.18.0.post0/manim/utils/testing/__init__.py +0 -0
- manim-0.18.0.post0/manim/utils/tex.py +0 -269
- manim-0.18.0.post0/pyproject.toml +0 -149
- {manim-0.18.0.post0 → manim-0.18.1}/LICENSE +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/README.md +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/animation/__init__.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/animation/changing.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/animation/growing.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/animation/numbers.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/animation/transform.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/animation/updaters/__init__.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/animation/updaters/mobject_update_utils.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/animation/updaters/update.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/camera/__init__.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/camera/mapping_camera.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/camera/moving_camera.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/camera/multi_camera.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/camera/three_d_camera.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/cli/__init__.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/cli/cfg/__init__.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/cli/checkhealth/__init__.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/cli/init/__init__.py +0 -0
- {manim-0.18.0.post0/manim/cli/new → manim-0.18.1/manim/cli/plugins}/__init__.py +0 -0
- {manim-0.18.0.post0/manim/cli/plugins → manim-0.18.1/manim/cli/render}/__init__.py +0 -0
- {manim-0.18.0.post0/manim/cli/render → manim-0.18.1/manim/gui}/__init__.py +0 -0
- {manim-0.18.0.post0/manim/gui → manim-0.18.1/manim/mobject}/__init__.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/frame.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/geometry/__init__.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/geometry/labeled.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/geometry/shape_matchers.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/graphing/__init__.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/graphing/probability.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/graphing/scale.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/logo.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/matrix.py +0 -0
- {manim-0.18.0.post0/manim/mobject → manim-0.18.1/manim/mobject/opengl}/__init__.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/opengl/dot_cloud.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/svg/__init__.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/text/__init__.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/three_d/__init__.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/three_d/polyhedra.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/types/__init__.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/mobject/utils.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/opengl/__init__.py +0 -0
- {manim-0.18.0.post0/manim/mobject/opengl → manim-0.18.1/manim/renderer}/__init__.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shader.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/default/frag.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/default/vert.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/design.frag +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/design_2.frag +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/design_3.frag +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/image/frag.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/image/vert.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/include/NOTE.md +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/include/add_light.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/include/camera_uniform_declarations.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/include/finalize_color.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/include/get_gl_Position.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/include/get_rotated_surface_unit_normal_vector.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/include/get_unit_normal.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/include/position_point_into_frame.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/include/quadratic_bezier_distance.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/include/quadratic_bezier_geometry_functions.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/manim_coords/frag.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/manim_coords/vert.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/quadratic_bezier_fill/frag.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/quadratic_bezier_fill/geom.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/quadratic_bezier_fill/vert.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/quadratic_bezier_stroke/frag.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/quadratic_bezier_stroke/geom.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/quadratic_bezier_stroke/vert.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/simple_vert.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/surface/frag.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/surface/vert.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/test/frag.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/test/vert.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/textured_surface/frag.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/textured_surface/vert.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/true_dot/frag.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/true_dot/geom.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/true_dot/vert.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/vectorized_mobject_fill/frag.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/vectorized_mobject_fill/vert.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/vectorized_mobject_stroke/frag.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/vectorized_mobject_stroke/vert.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/vertex_colors/frag.glsl +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/renderer/shaders/vertex_colors/vert.glsl +0 -0
- {manim-0.18.0.post0/manim/renderer → manim-0.18.1/manim/scene}/__init__.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/scene/moving_camera_scene.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/scene/zoomed_scene.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/templates/Axes.mtp +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/templates/Default.mtp +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/templates/MovingCamera.mtp +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/templates/template.cfg +0 -0
- {manim-0.18.0.post0/manim/scene → manim-0.18.1/manim/utils}/__init__.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/color/AS2700.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/color/X11.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/color/__init__.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/color/manim_colors.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/config_ops.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/images.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/iterables.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/simple_functions.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/sounds.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/testing/_frames_testers.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/testing/_show_diff.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/testing/_test_class_makers.py +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/testing/config_graphical_tests_monoframe.cfg +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/testing/config_graphical_tests_multiframes.cfg +0 -0
- {manim-0.18.0.post0 → manim-0.18.1}/manim/utils/unit.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) 2024, the Manim Community Developers
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -1,59 +1,53 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: manim
|
|
3
|
-
Version: 0.18.
|
|
3
|
+
Version: 0.18.1
|
|
4
4
|
Summary: Animation engine for explanatory math videos.
|
|
5
5
|
Home-page: https://www.manim.community/
|
|
6
6
|
License: MIT
|
|
7
7
|
Author: The Manim Community Developers
|
|
8
8
|
Author-email: contact@manim.community
|
|
9
|
-
Requires-Python: >=3.
|
|
9
|
+
Requires-Python: >=3.9,<3.13
|
|
10
10
|
Classifier: Development Status :: 4 - Beta
|
|
11
11
|
Classifier: License :: OSI Approved :: MIT License
|
|
12
12
|
Classifier: Natural Language :: English
|
|
13
13
|
Classifier: Programming Language :: Python :: 3
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
15
14
|
Classifier: Programming Language :: Python :: 3.9
|
|
16
15
|
Classifier: Programming Language :: Python :: 3.10
|
|
17
16
|
Classifier: Programming Language :: Python :: 3.11
|
|
18
17
|
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
19
19
|
Classifier: Topic :: Multimedia :: Graphics
|
|
20
20
|
Classifier: Topic :: Multimedia :: Video
|
|
21
21
|
Classifier: Topic :: Scientific/Engineering
|
|
22
22
|
Provides-Extra: gui
|
|
23
23
|
Provides-Extra: jupyterlab
|
|
24
|
-
Requires-Dist: Pillow (>=9.1
|
|
25
|
-
Requires-Dist: Pygments (>=2.
|
|
26
|
-
Requires-Dist:
|
|
27
|
-
Requires-Dist:
|
|
28
|
-
Requires-Dist:
|
|
29
|
-
Requires-Dist:
|
|
30
|
-
Requires-Dist:
|
|
31
|
-
Requires-Dist:
|
|
32
|
-
Requires-Dist:
|
|
33
|
-
Requires-Dist: isosurfaces (==0.1.0)
|
|
34
|
-
Requires-Dist: jupyterlab (>=3.0,<4.0) ; extra == "jupyterlab"
|
|
24
|
+
Requires-Dist: Pillow (>=9.1)
|
|
25
|
+
Requires-Dist: Pygments (>=2.0.0)
|
|
26
|
+
Requires-Dist: click (>=8.0)
|
|
27
|
+
Requires-Dist: cloup (>=2.0.0)
|
|
28
|
+
Requires-Dist: dearpygui (>=1.0.0) ; extra == "gui"
|
|
29
|
+
Requires-Dist: decorator (>=4.3.2)
|
|
30
|
+
Requires-Dist: importlib-metadata (>=3.6) ; python_full_version <= "3.9.0"
|
|
31
|
+
Requires-Dist: isosurfaces (>=0.1.0)
|
|
32
|
+
Requires-Dist: jupyterlab (>=3.0.0) ; extra == "jupyterlab"
|
|
35
33
|
Requires-Dist: manimpango (>=0.5.0,<1.0.0)
|
|
36
|
-
Requires-Dist: mapbox-earcut (>=1.0.0
|
|
37
|
-
Requires-Dist: moderngl (>=5.
|
|
38
|
-
Requires-Dist: moderngl-window (>=2.
|
|
39
|
-
Requires-Dist: networkx (>=2.
|
|
40
|
-
Requires-Dist: notebook (>=6.
|
|
41
|
-
Requires-Dist: numpy (>=1.
|
|
42
|
-
Requires-Dist:
|
|
43
|
-
Requires-Dist:
|
|
44
|
-
Requires-Dist:
|
|
45
|
-
Requires-Dist:
|
|
46
|
-
Requires-Dist:
|
|
47
|
-
Requires-Dist:
|
|
48
|
-
Requires-Dist:
|
|
49
|
-
Requires-Dist:
|
|
50
|
-
Requires-Dist:
|
|
51
|
-
Requires-Dist:
|
|
52
|
-
Requires-Dist:
|
|
53
|
-
Requires-Dist: svgelements (>=1.8.0,<2.0.0)
|
|
54
|
-
Requires-Dist: tqdm (>=4.62.3,<5.0.0)
|
|
55
|
-
Requires-Dist: typing-extensions (>=4.7.1,<5.0.0)
|
|
56
|
-
Requires-Dist: watchdog (>=2.1,<=3.0.0)
|
|
34
|
+
Requires-Dist: mapbox-earcut (>=1.0.0)
|
|
35
|
+
Requires-Dist: moderngl (>=5.0.0,<6.0.0)
|
|
36
|
+
Requires-Dist: moderngl-window (>=2.0.0)
|
|
37
|
+
Requires-Dist: networkx (>=2.6)
|
|
38
|
+
Requires-Dist: notebook (>=6.0.0) ; extra == "jupyterlab"
|
|
39
|
+
Requires-Dist: numpy (>=1.26)
|
|
40
|
+
Requires-Dist: pycairo (>=1.13,<2.0.0)
|
|
41
|
+
Requires-Dist: pydub (>=0.20.0)
|
|
42
|
+
Requires-Dist: rich (>=12.0.0)
|
|
43
|
+
Requires-Dist: scipy (>=1.6.0)
|
|
44
|
+
Requires-Dist: screeninfo (>=0.7)
|
|
45
|
+
Requires-Dist: skia-pathops (>=0.7.0)
|
|
46
|
+
Requires-Dist: srt (>=3.0.0)
|
|
47
|
+
Requires-Dist: svgelements (>=1.8.0)
|
|
48
|
+
Requires-Dist: tqdm (>=4.0.0)
|
|
49
|
+
Requires-Dist: typing-extensions (>=4.0.0)
|
|
50
|
+
Requires-Dist: watchdog (>=2.0.0)
|
|
57
51
|
Project-URL: Bug Tracker, https://github.com/ManimCommunity/manim/issues
|
|
58
52
|
Project-URL: Changelog, https://docs.manim.community/en/stable/changelog.html
|
|
59
53
|
Project-URL: Documentation, https://docs.manim.community/
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
|
-
|
|
3
|
-
|
|
4
2
|
from __future__ import annotations
|
|
5
3
|
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
__version__: str = pkg_resources.get_distribution(__name__).version
|
|
4
|
+
from importlib.metadata import version
|
|
9
5
|
|
|
6
|
+
__version__ = version(__name__)
|
|
10
7
|
|
|
11
|
-
import sys
|
|
12
8
|
|
|
13
9
|
# isort: off
|
|
14
10
|
|
|
@@ -20,6 +16,7 @@ from ._config import *
|
|
|
20
16
|
from .utils.commands import *
|
|
21
17
|
|
|
22
18
|
# isort: on
|
|
19
|
+
import numpy as np
|
|
23
20
|
|
|
24
21
|
from .animation.animation import *
|
|
25
22
|
from .animation.changing import *
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
import sys
|
|
4
|
-
|
|
5
3
|
import click
|
|
6
4
|
import cloup
|
|
7
5
|
|
|
@@ -10,18 +8,20 @@ from .cli.cfg.group import cfg
|
|
|
10
8
|
from .cli.checkhealth.commands import checkhealth
|
|
11
9
|
from .cli.default_group import DefaultGroup
|
|
12
10
|
from .cli.init.commands import init
|
|
13
|
-
from .cli.new.group import new
|
|
14
11
|
from .cli.plugins.commands import plugins
|
|
15
12
|
from .cli.render.commands import render
|
|
16
13
|
from .constants import EPILOG
|
|
17
14
|
|
|
18
15
|
|
|
19
|
-
def
|
|
16
|
+
def show_splash(ctx, param, value):
|
|
20
17
|
if value:
|
|
21
|
-
|
|
18
|
+
console.print(f"Manim Community [green]v{__version__}[/green]\n")
|
|
22
19
|
|
|
23
20
|
|
|
24
|
-
|
|
21
|
+
def print_version_and_exit(ctx, param, value):
|
|
22
|
+
show_splash(ctx, param, value)
|
|
23
|
+
if value:
|
|
24
|
+
ctx.exit()
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
@cloup.group(
|
|
@@ -35,15 +35,24 @@ console.print(f"Manim Community [green]v{__version__}[/green]\n")
|
|
|
35
35
|
"is specified. Run 'manim render --help' if you would like to know what the "
|
|
36
36
|
f"'-ql' or '-p' flags do, for example.\n\n{EPILOG}",
|
|
37
37
|
)
|
|
38
|
-
@
|
|
38
|
+
@cloup.option(
|
|
39
39
|
"--version",
|
|
40
40
|
is_flag=True,
|
|
41
41
|
help="Show version and exit.",
|
|
42
|
-
callback=
|
|
42
|
+
callback=print_version_and_exit,
|
|
43
|
+
is_eager=True,
|
|
44
|
+
expose_value=False,
|
|
45
|
+
)
|
|
46
|
+
@click.option(
|
|
47
|
+
"--show-splash/--hide-splash",
|
|
48
|
+
is_flag=True,
|
|
49
|
+
default=True,
|
|
50
|
+
help="Print splash message with version information.",
|
|
51
|
+
callback=show_splash,
|
|
43
52
|
is_eager=True,
|
|
44
53
|
expose_value=False,
|
|
45
54
|
)
|
|
46
|
-
@
|
|
55
|
+
@cloup.pass_context
|
|
47
56
|
def main(ctx):
|
|
48
57
|
"""The entry point for manim."""
|
|
49
58
|
pass
|
|
@@ -53,7 +62,6 @@ main.add_command(checkhealth)
|
|
|
53
62
|
main.add_command(cfg)
|
|
54
63
|
main.add_command(plugins)
|
|
55
64
|
main.add_command(init)
|
|
56
|
-
main.add_command(new)
|
|
57
65
|
main.add_command(render)
|
|
58
66
|
|
|
59
67
|
if __name__ == "__main__":
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
import logging
|
|
6
|
-
from contextlib import
|
|
6
|
+
from contextlib import contextmanager
|
|
7
|
+
from typing import Any, Generator
|
|
7
8
|
|
|
8
9
|
from .cli_colors import parse_cli_ctx
|
|
9
10
|
from .logger_utils import make_logger
|
|
@@ -35,12 +36,14 @@ logging.getLogger("PIL").setLevel(logging.INFO)
|
|
|
35
36
|
logging.getLogger("matplotlib").setLevel(logging.INFO)
|
|
36
37
|
|
|
37
38
|
config = ManimConfig().digest_parser(parser)
|
|
39
|
+
# TODO: to be used in the future - see PR #620
|
|
40
|
+
# https://github.com/ManimCommunity/manim/pull/620
|
|
38
41
|
frame = ManimFrame(config)
|
|
39
42
|
|
|
40
43
|
|
|
41
44
|
# This has to go here because it needs access to this module's config
|
|
42
45
|
@contextmanager
|
|
43
|
-
def tempconfig(temp: ManimConfig | dict) ->
|
|
46
|
+
def tempconfig(temp: ManimConfig | dict[str, Any]) -> Generator[None, None, None]:
|
|
44
47
|
"""Context manager that temporarily modifies the global ``config`` object.
|
|
45
48
|
|
|
46
49
|
Inside the ``with`` statement, the modified config will be used. After
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
1
3
|
import configparser
|
|
2
4
|
|
|
3
5
|
from cloup import Context, HelpFormatter, HelpTheme, Style
|
|
4
6
|
|
|
7
|
+
__all__ = ["parse_cli_ctx"]
|
|
8
|
+
|
|
5
9
|
|
|
6
|
-
def parse_cli_ctx(parser: configparser.
|
|
7
|
-
formatter_settings = {
|
|
10
|
+
def parse_cli_ctx(parser: configparser.SectionProxy) -> Context:
|
|
11
|
+
formatter_settings: dict[str, str | int] = {
|
|
8
12
|
"indent_increment": int(parser["indent_increment"]),
|
|
9
13
|
"width": int(parser["width"]),
|
|
10
14
|
"col1_max_width": int(parser["col1_max_width"]),
|
|
@@ -30,16 +34,16 @@ def parse_cli_ctx(parser: configparser.ConfigParser) -> Context:
|
|
|
30
34
|
formatter = {}
|
|
31
35
|
theme = parser["theme"] if parser["theme"] else None
|
|
32
36
|
if theme is None:
|
|
33
|
-
formatter = HelpFormatter
|
|
34
|
-
theme=HelpTheme(**theme_settings), **formatter_settings
|
|
37
|
+
formatter = HelpFormatter.settings(
|
|
38
|
+
theme=HelpTheme(**theme_settings), **formatter_settings # type: ignore[arg-type]
|
|
35
39
|
)
|
|
36
40
|
elif theme.lower() == "dark":
|
|
37
|
-
formatter = HelpFormatter
|
|
38
|
-
theme=HelpTheme.dark().with_(**theme_settings), **formatter_settings
|
|
41
|
+
formatter = HelpFormatter.settings(
|
|
42
|
+
theme=HelpTheme.dark().with_(**theme_settings), **formatter_settings # type: ignore[arg-type]
|
|
39
43
|
)
|
|
40
44
|
elif theme.lower() == "light":
|
|
41
|
-
formatter = HelpFormatter
|
|
42
|
-
theme=HelpTheme.light().with_(**theme_settings), **formatter_settings
|
|
45
|
+
formatter = HelpFormatter.settings(
|
|
46
|
+
theme=HelpTheme.light().with_(**theme_settings), **formatter_settings # type: ignore[arg-type]
|
|
43
47
|
)
|
|
44
48
|
|
|
45
49
|
return Context.settings(
|
|
@@ -9,13 +9,13 @@ Both ``logger`` and ``console`` use the ``rich`` library to produce rich text
|
|
|
9
9
|
format.
|
|
10
10
|
|
|
11
11
|
"""
|
|
12
|
+
|
|
12
13
|
from __future__ import annotations
|
|
13
14
|
|
|
14
15
|
import configparser
|
|
15
16
|
import copy
|
|
16
17
|
import json
|
|
17
18
|
import logging
|
|
18
|
-
import sys
|
|
19
19
|
from typing import TYPE_CHECKING
|
|
20
20
|
|
|
21
21
|
from rich import color, errors
|
|
@@ -27,6 +27,8 @@ from rich.theme import Theme
|
|
|
27
27
|
if TYPE_CHECKING:
|
|
28
28
|
from pathlib import Path
|
|
29
29
|
|
|
30
|
+
__all__ = ["make_logger", "parse_theme", "set_file_logger", "JSONFormatter"]
|
|
31
|
+
|
|
30
32
|
HIGHLIGHTED_KEYWORDS = [ # these keywords are highlighted specially
|
|
31
33
|
"Played",
|
|
32
34
|
"animations",
|
|
@@ -50,9 +52,9 @@ Loading the default color configuration.[/logging.level.error]
|
|
|
50
52
|
|
|
51
53
|
|
|
52
54
|
def make_logger(
|
|
53
|
-
parser: configparser.
|
|
55
|
+
parser: configparser.SectionProxy,
|
|
54
56
|
verbosity: str,
|
|
55
|
-
) -> tuple[logging.Logger, Console]:
|
|
57
|
+
) -> tuple[logging.Logger, Console, Console]:
|
|
56
58
|
"""Make the manim logger and console.
|
|
57
59
|
|
|
58
60
|
Parameters
|
|
@@ -84,14 +86,13 @@ def make_logger(
|
|
|
84
86
|
theme = parse_theme(parser)
|
|
85
87
|
console = Console(theme=theme)
|
|
86
88
|
|
|
87
|
-
|
|
88
|
-
error_console = Console(theme=theme, file=sys.stderr)
|
|
89
|
+
error_console = Console(theme=theme, stderr=True)
|
|
89
90
|
|
|
90
91
|
# set the rich handler
|
|
91
|
-
RichHandler.KEYWORDS = HIGHLIGHTED_KEYWORDS
|
|
92
92
|
rich_handler = RichHandler(
|
|
93
93
|
console=console,
|
|
94
94
|
show_time=parser.getboolean("log_timestamps"),
|
|
95
|
+
keywords=HIGHLIGHTED_KEYWORDS,
|
|
95
96
|
)
|
|
96
97
|
|
|
97
98
|
# finally, the logger
|
|
@@ -102,7 +103,7 @@ def make_logger(
|
|
|
102
103
|
return logger, console, error_console
|
|
103
104
|
|
|
104
105
|
|
|
105
|
-
def parse_theme(parser: configparser.
|
|
106
|
+
def parse_theme(parser: configparser.SectionProxy) -> Theme:
|
|
106
107
|
"""Configure the rich style of logger and console output.
|
|
107
108
|
|
|
108
109
|
Parameters
|
|
@@ -178,7 +179,7 @@ class JSONFormatter(logging.Formatter):
|
|
|
178
179
|
|
|
179
180
|
"""
|
|
180
181
|
|
|
181
|
-
def format(self, record:
|
|
182
|
+
def format(self, record: logging.LogRecord) -> str:
|
|
182
183
|
"""Format the record in a custom JSON format."""
|
|
183
184
|
record_c = copy.deepcopy(record)
|
|
184
185
|
if record_c.args:
|