From 2394bdc2e62cdacdb482c5b7b69a2880598f5a5f Mon Sep 17 00:00:00 2001 From: Tony031218 <975062472@qq.com> Date: Sun, 7 Feb 2021 17:43:05 +0800 Subject: [PATCH] refactor __init__.py and __main__.py --- custom_defaults.yml | 2 +- example_scenes.py | 2 +- manimlib/__init__.py | 96 ++++++++++++++++++++++++++++++++++---- manimlib/__main__.py | 12 +++++ manimlib/defaults.yml | 2 +- manimlib/imports.py | 106 ------------------------------------------ setup.cfg | 4 +- 7 files changed, 104 insertions(+), 120 deletions(-) create mode 100644 manimlib/__main__.py delete mode 100644 manimlib/imports.py diff --git a/custom_defaults.yml b/custom_defaults.yml index d34236ae..45b3b77b 100644 --- a/custom_defaults.yml +++ b/custom_defaults.yml @@ -25,7 +25,7 @@ tex: # executable: "xelatex -no-pdf" # template_file: "ctex_template.tex" # intermediate_filetype: "xdv" -universal_import_line: "from manimlib.imports import *" +universal_import_line: "from manimlib import *" style: font: "Consolas" background_color: "#333333" diff --git a/example_scenes.py b/example_scenes.py index 666faa42..f881a1b5 100644 --- a/example_scenes.py +++ b/example_scenes.py @@ -1,4 +1,4 @@ -from manimlib.imports import * +from manimlib import * # To watch one of these scenes, run the following: # python -m manim example_scenes.py SquareToCircle diff --git a/manimlib/__init__.py b/manimlib/__init__.py index 9b3b3f28..a03b7b89 100644 --- a/manimlib/__init__.py +++ b/manimlib/__init__.py @@ -1,12 +1,90 @@ -#!/usr/bin/env python -import manimlib.config -import manimlib.extract_scene +from manimlib.constants import * +from manimlib.animation.animation import * +from manimlib.animation.composition import * +from manimlib.animation.creation import * +from manimlib.animation.fading import * +from manimlib.animation.growing import * +from manimlib.animation.indication import * +from manimlib.animation.movement import * +from manimlib.animation.numbers import * +from manimlib.animation.rotation import * +from manimlib.animation.specialized import * +from manimlib.animation.transform import * +from manimlib.animation.transform_matching_parts import * +from manimlib.animation.update import * -def main(): - args = manimlib.config.parse_cli() - config = manimlib.config.get_configuration(args) - scenes = manimlib.extract_scene.main(config) +from manimlib.camera.camera import * - for scene in scenes: - scene.run() +from manimlib.mobject.coordinate_systems import * +from manimlib.mobject.changing import * +from manimlib.mobject.frame import * +from manimlib.mobject.functions import * +from manimlib.mobject.geometry import * +from manimlib.mobject.matrix import * +from manimlib.mobject.mobject import * +from manimlib.mobject.number_line import * +from manimlib.mobject.numbers import * +from manimlib.mobject.probability import * +from manimlib.mobject.shape_matchers import * +from manimlib.mobject.interactive import * +from manimlib.mobject.svg.brace import * +from manimlib.mobject.svg.drawings import * +from manimlib.mobject.svg.svg_mobject import * +from manimlib.mobject.svg.tex_mobject import * +from manimlib.mobject.svg.text_mobject import * +from manimlib.mobject.three_dimensions import * +from manimlib.mobject.types.image_mobject import * +from manimlib.mobject.types.point_cloud_mobject import * +from manimlib.mobject.types.surface import * +from manimlib.mobject.types.vectorized_mobject import * +from manimlib.mobject.types.dot_cloud import * +from manimlib.mobject.mobject_update_utils import * +from manimlib.mobject.value_tracker import * +from manimlib.mobject.vector_field import * + +from manimlib.once_useful_constructs.arithmetic import * +from manimlib.once_useful_constructs.combinatorics import * +from manimlib.once_useful_constructs.complex_transformation_scene import * +from manimlib.once_useful_constructs.counting import * +from manimlib.once_useful_constructs.fractals import * +from manimlib.once_useful_constructs.graph_theory import * +from manimlib.once_useful_constructs.light import * + +from manimlib.scene.scene import * +from manimlib.scene.sample_space_scene import * +from manimlib.scene.three_d_scene import * +from manimlib.scene.vector_space_scene import * + +from manimlib.utils.bezier import * +from manimlib.utils.color import * +from manimlib.utils.config_ops import * +from manimlib.utils.customization import * +from manimlib.utils.debug import * +from manimlib.utils.directories import * +from manimlib.utils.images import * +from manimlib.utils.iterables import * +from manimlib.utils.file_ops import * +from manimlib.utils.paths import * +from manimlib.utils.rate_functions import * +from manimlib.utils.simple_functions import * +from manimlib.utils.sounds import * +from manimlib.utils.space_ops import * +from manimlib.utils.strings import * + +# Non manim libraries that are also nice to have without thinking + +import inspect +import itertools as it +import numpy as np +import operator as op +import os +import random +import re +import string +import sys +import math +import sympy + +from PIL import Image +from colour import Color diff --git a/manimlib/__main__.py b/manimlib/__main__.py new file mode 100644 index 00000000..9b3b3f28 --- /dev/null +++ b/manimlib/__main__.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python +import manimlib.config +import manimlib.extract_scene + + +def main(): + args = manimlib.config.parse_cli() + config = manimlib.config.get_configuration(args) + scenes = manimlib.extract_scene.main(config) + + for scene in scenes: + scene.run() diff --git a/manimlib/defaults.yml b/manimlib/defaults.yml index 7b89767c..c63ff796 100644 --- a/manimlib/defaults.yml +++ b/manimlib/defaults.yml @@ -25,7 +25,7 @@ tex: # executable: "xelatex -no-pdf" # template_file: "ctex_template.tex" # intermediate_filetype: "xdv" -universal_import_line: "from manimlib.imports import *" +universal_import_line: "from manimlib import *" style: font: "Consolas" background_color: "#333333" diff --git a/manimlib/imports.py b/manimlib/imports.py deleted file mode 100644 index 2237bfaf..00000000 --- a/manimlib/imports.py +++ /dev/null @@ -1,106 +0,0 @@ -""" -I won't pretend like this is best practice, but in creating animations for a video, -it can be very nice to simply have all of the Mobjects, Animations, Scenes, etc. -of manim available without having to worry about what namespace they come from. - -Rather than having a large pile of "from import *" at the top of every such -script, the intent of this file is to make it so that one can just include -"from manimlib.imports import *". The effects of adding more modules -or refactoring the library on current or older scene scripts should be entirely -addressible by changing this file. - -Note: One should NOT import from this file for main library code, it is meant only -as a convenience for scripts creating scenes for videos. -""" - - -from manimlib.constants import * - -from manimlib.animation.animation import * -from manimlib.animation.composition import * -from manimlib.animation.creation import * -from manimlib.animation.fading import * -from manimlib.animation.growing import * -from manimlib.animation.indication import * -from manimlib.animation.movement import * -from manimlib.animation.numbers import * -from manimlib.animation.rotation import * -from manimlib.animation.specialized import * -from manimlib.animation.transform import * -from manimlib.animation.transform_matching_parts import * -from manimlib.animation.update import * - -from manimlib.camera.camera import * - -from manimlib.mobject.coordinate_systems import * -from manimlib.mobject.changing import * -from manimlib.mobject.frame import * -from manimlib.mobject.functions import * -from manimlib.mobject.geometry import * -from manimlib.mobject.matrix import * -from manimlib.mobject.mobject import * -from manimlib.mobject.number_line import * -from manimlib.mobject.numbers import * -from manimlib.mobject.probability import * -from manimlib.mobject.shape_matchers import * -from manimlib.mobject.interactive import * -from manimlib.mobject.svg.brace import * -from manimlib.mobject.svg.drawings import * -from manimlib.mobject.svg.svg_mobject import * -from manimlib.mobject.svg.tex_mobject import * -from manimlib.mobject.svg.text_mobject import * -from manimlib.mobject.three_dimensions import * -from manimlib.mobject.types.image_mobject import * -from manimlib.mobject.types.point_cloud_mobject import * -from manimlib.mobject.types.surface import * -from manimlib.mobject.types.vectorized_mobject import * -from manimlib.mobject.types.dot_cloud import * -from manimlib.mobject.mobject_update_utils import * -from manimlib.mobject.value_tracker import * -from manimlib.mobject.vector_field import * - -from manimlib.once_useful_constructs.arithmetic import * -from manimlib.once_useful_constructs.combinatorics import * -from manimlib.once_useful_constructs.complex_transformation_scene import * -from manimlib.once_useful_constructs.counting import * -from manimlib.once_useful_constructs.fractals import * -from manimlib.once_useful_constructs.graph_theory import * -from manimlib.once_useful_constructs.light import * - -from manimlib.scene.scene import * -from manimlib.scene.sample_space_scene import * -from manimlib.scene.three_d_scene import * -from manimlib.scene.vector_space_scene import * - -from manimlib.utils.bezier import * -from manimlib.utils.color import * -from manimlib.utils.config_ops import * -from manimlib.utils.customization import * -from manimlib.utils.debug import * -from manimlib.utils.directories import * -from manimlib.utils.images import * -from manimlib.utils.iterables import * -from manimlib.utils.file_ops import * -from manimlib.utils.paths import * -from manimlib.utils.rate_functions import * -from manimlib.utils.simple_functions import * -from manimlib.utils.sounds import * -from manimlib.utils.space_ops import * -from manimlib.utils.strings import * - -# Non manim libraries that are also nice to have without thinking - -import inspect -import itertools as it -import numpy as np -import operator as op -import os -import random -import re -import string -import sys -import math -import sympy - -from PIL import Image -from colour import Color diff --git a/setup.cfg b/setup.cfg index 956d6556..73f4db16 100644 --- a/setup.cfg +++ b/setup.cfg @@ -19,5 +19,5 @@ extra_files = requirements.txt [entry_points] console_scripts = - manimgl = manimlib:main - manim-render = manimlib:main + manimgl = manimlib.__main__:main + manim-render = manimlib.__main__:main