Move custom type to manimlib.typing

This commit is contained in:
Grant Sanderson 2022-12-16 20:19:18 -08:00
parent c00af3c1bf
commit 43fd5e1aea
35 changed files with 58 additions and 48 deletions

View file

@ -19,7 +19,7 @@ if TYPE_CHECKING:
from typing import Callable
from manimlib.mobject.mobject import Mobject
from manimlib.scene.scene import Scene
from manimlib.constants import ManimColor
from manimlib.typing import ManimColor
class ShowPartial(Animation, ABC):

View file

@ -10,7 +10,7 @@ if TYPE_CHECKING:
from manimlib.mobject.geometry import Arrow
from manimlib.mobject.mobject import Mobject
from manimlib.constants import ManimColor
from manimlib.typing import ManimColor
class GrowFromPoint(Transform):

View file

@ -36,7 +36,7 @@ from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Callable
from manimlib.constants import ManimColor
from manimlib.typing import ManimColor
from manimlib.mobject.mobject import Mobject

View file

@ -10,7 +10,7 @@ from typing import TYPE_CHECKING
if TYPE_CHECKING:
import numpy as np
from manimlib.constants import ManimColor
from manimlib.typing import ManimColor
class Broadcast(LaggedStart):

View file

@ -18,7 +18,7 @@ if TYPE_CHECKING:
from typing import Callable
import numpy.typing as npt
from manimlib.scene.scene import Scene
from manimlib.constants import ManimColor
from manimlib.typing import ManimColor
class Transform(Animation):

View file

@ -26,7 +26,7 @@ from typing import TYPE_CHECKING
if TYPE_CHECKING:
from manimlib.shader_wrapper import ShaderWrapper
from manimlib.constants import ManimColor
from manimlib.typing import ManimColor
from typing import Sequence
np_vector = np.ndarray[int, np.dtype[np.float64]]

View file

@ -1,19 +1,11 @@
from __future__ import annotations
import numpy as np
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Union, Tuple
from colour import Color
from typing import List
from manimlib.typing import ManimColor, np_vector
# Abbreviations for a common types
ManimColor = Union[str, Color, None]
RangeSpecifier = Tuple[float, float, float] | Tuple[float, float]
np_vector = np.ndarray[int, np.dtype[np.float64]]
# Sizes relevant to default camera frame
ASPECT_RATIO: float = 16.0 / 9.0

View file

@ -11,8 +11,8 @@ from manimlib.utils.rate_functions import smooth
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Callable, List, Tuple, Iterable
from manimlib.constants import ManimColor, np_vector
from typing import Callable, List, Iterable
from manimlib.typing import ManimColor, np_vector
class AnimatedBoundary(VGroup):

View file

@ -34,7 +34,7 @@ from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Callable, Iterable, Sequence, Type, TypeVar
from manimlib.mobject.mobject import Mobject
from manimlib.constants import ManimColor, np_vector, RangeSpecifier
from manimlib.typing import ManimColor, np_vector, RangeSpecifier
T = TypeVar("T", bound=Mobject)

View file

@ -6,7 +6,7 @@ from manimlib.mobject.geometry import Rectangle
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from manimlib.constants import ManimColor
from manimlib.typing import ManimColor
class ScreenRectangle(Rectangle):

View file

@ -11,7 +11,7 @@ from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Callable, Sequence, Tuple
from manimlib.constants import ManimColor, np_vector
from manimlib.typing import ManimColor, np_vector
class ParametricCurve(VMobject):

View file

@ -30,7 +30,7 @@ from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Iterable
from manimlib.constants import ManimColor, np_vector
from manimlib.typing import ManimColor, np_vector
DEFAULT_DOT_RADIUS = 0.08

View file

@ -26,7 +26,7 @@ from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Callable
from manimlib.constants import ManimColor
from manimlib.typing import ManimColor
# Interactive Mobjects

View file

@ -21,7 +21,7 @@ if TYPE_CHECKING:
from typing import Sequence
import numpy.typing as npt
from manimlib.mobject.mobject import Mobject
from manimlib.constants import ManimColor, np_vector
from manimlib.typing import ManimColor, np_vector
VECTOR_LABEL_SCALE_FACTOR = 0.8

View file

@ -48,7 +48,7 @@ from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Callable, Iterable, Sequence, Union, Tuple
import numpy.typing as npt
from manimlib.constants import ManimColor, np_vector
from manimlib.typing import ManimColor, np_vector
TimeBasedUpdater = Callable[["Mobject", float], None]
NonTimeUpdater = Callable[["Mobject"], None]

View file

@ -16,8 +16,8 @@ from manimlib.utils.simple_functions import fdiv
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Iterable, Sequence
from manimlib.constants import ManimColor, np_vector, RangeSpecifier
from typing import Iterable
from manimlib.typing import ManimColor, np_vector, RangeSpecifier
class NumberLine(Line):

View file

@ -11,8 +11,8 @@ from manimlib.mobject.types.vectorized_mobject import VMobject
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Type, TypeVar
from manimlib.constants import ManimColor, np_vector
from typing import TypeVar
from manimlib.typing import ManimColor, np_vector
T = TypeVar("T", bound=VMobject)

View file

@ -19,7 +19,7 @@ from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Iterable
from manimlib.constants import ManimColor
from manimlib.typing import ManimColor
EPSILON = 0.0001

View file

@ -16,7 +16,7 @@ from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Sequence
from manimlib.mobject.mobject import Mobject
from manimlib.constants import ManimColor
from manimlib.typing import ManimColor
class SurroundingRectangle(Rectangle):

View file

@ -27,8 +27,7 @@ if TYPE_CHECKING:
from manimlib.animation.animation import Animation
from manimlib.mobject.mobject import Mobject
from manimlib.constants import ManimColor, np_vector
from manimlib.typing import np_vector
class Brace(SingleStringTex):

View file

@ -60,7 +60,7 @@ from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Tuple, Sequence, Callable
from manimlib.constants import ManimColor, np_vector
from manimlib.typing import ManimColor, np_vector
class Checkmark(TexTextFromPresetString):

View file

@ -13,7 +13,7 @@ if TYPE_CHECKING:
from typing import Iterable, Union
from manimlib.mobject.types.vectorized_mobject import VGroup
from manimlib.constants import ManimColor
from manimlib.typing import ManimColor
Span = tuple[int, int]
Selector = Union[

View file

@ -17,7 +17,7 @@ from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Callable, Iterable, Union
from manimlib.constants import ManimColor
from manimlib.typing import ManimColor
Span = tuple[int, int]
Selector = Union[

View file

@ -22,7 +22,7 @@ from manimlib.utils.simple_functions import hash_string
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from manimlib.constants import ManimColor
from manimlib.typing import ManimColor

View file

@ -17,8 +17,8 @@ from manimlib.utils.tex_file_writing import tex_content_to_svg_file
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Iterable, List, Dict, Sequence
from manimlib.constants import ManimColor
from typing import Iterable, List, Dict
from manimlib.typing import ManimColor
SCALE_FACTOR_PER_FONT_POINT = 0.001

View file

@ -22,10 +22,10 @@ from manimlib.utils.simple_functions import hash_string
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Iterable, Union, Pattern
from typing import Iterable, Union
from manimlib.mobject.types.vectorized_mobject import VGroup
from manimlib.constants import ManimColor
from manimlib.typing import ManimColor
Span = tuple[int, int]
Selector = Union[
str,

View file

@ -23,7 +23,7 @@ from manimlib.utils.space_ops import z_to_vector
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Tuple, TypeVar
from manimlib.constants import ManimColor, np_vector
from manimlib.typing import ManimColor, np_vector
T = TypeVar("T", bound=Mobject)

View file

@ -13,7 +13,7 @@ from typing import TYPE_CHECKING
if TYPE_CHECKING:
import numpy.typing as npt
from typing import Sequence, Tuple
from manimlib.constants import ManimColor, np_vector
from manimlib.typing import ManimColor, np_vector
DEFAULT_DOT_RADIUS = 0.05

View file

@ -13,7 +13,7 @@ from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Sequence, Tuple
from manimlib.constants import np_vector
from manimlib.typing import np_vector
class ImageMobject(Mobject):

View file

@ -15,7 +15,7 @@ from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Callable, Sequence
import numpy.typing as npt
from manimlib.constants import ManimColor, np_vector
from manimlib.typing import ManimColor, np_vector
class PMobject(Mobject):

View file

@ -18,7 +18,7 @@ if TYPE_CHECKING:
from typing import Callable, Iterable, Sequence, Tuple
from manimlib.camera.camera import Camera
from manimlib.constants import ManimColor, np_vector
from manimlib.typing import ManimColor, np_vector
class Surface(Mobject):

View file

@ -42,7 +42,7 @@ from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Callable, Iterable, Sequence, Tuple
from manimlib.constants import ManimColor, np_vector
from manimlib.typing import ManimColor, np_vector
DEFAULT_STROKE_COLOR = GREY_A
DEFAULT_FILL_COLOR = GREY_C

View file

@ -23,7 +23,7 @@ from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Callable, Iterable, Sequence, TypeVar, Tuple
import numpy.typing as npt
from manimlib.constants import ManimColor, np_vector
from manimlib.typing import ManimColor, np_vector
from manimlib.mobject.coordinate_systems import CoordinateSystem
from manimlib.mobject.mobject import Mobject

19
manimlib/typing.py Normal file
View file

@ -0,0 +1,19 @@
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Union, Tuple
from colour import Color
import numpy as np
# Abbreviations for a common types
ManimColor = Union[str, Color, None]
RangeSpecifier = Tuple[float, float, float] | Tuple[float, float]
# TODO, Nothing about these actually specifies length,
# they are so far just about code readability
np_vector = np.ndarray[int, np.dtype[np.float64]]
Vect2 = np.ndarray[int, np.dtype[np.float64]] # TODO, specify length of 2
Vect3 = np.ndarray[int, np.dtype[np.float64]] # TODO, specify length of 3
Vect4 = np.ndarray[int, np.dtype[np.float64]] # TODO, specify length of 4
VectN = np.ndarray[int, np.dtype[np.float64]]
Matrix3x3 = np.ndarray[int, np.dtype[np.float64]] # TODO, specify output size

View file

@ -14,7 +14,7 @@ from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Iterable
from manimlib.constants import ManimColor
from manimlib.typing import ManimColor
def color_to_rgb(color: ManimColor) -> np.ndarray: