From 958002152e672403ba3f9cc4781e388be62d7ca1 Mon Sep 17 00:00:00 2001 From: Grant Sanderson Date: Wed, 14 Dec 2022 10:55:32 -0800 Subject: [PATCH] Define ManimColor type in constants --- manimlib/animation/indication.py | 6 +----- manimlib/animation/transform.py | 8 ++------ manimlib/constants.py | 7 +++++++ manimlib/mobject/coordinate_systems.py | 6 ++---- manimlib/mobject/geometry.py | 6 ++---- manimlib/mobject/matrix.py | 7 +------ manimlib/mobject/mobject.py | 5 ++--- manimlib/mobject/probability.py | 6 ++---- manimlib/mobject/shape_matchers.py | 5 +---- manimlib/mobject/svg/mtex_mobject.py | 3 +-- manimlib/mobject/svg/string_mobject.py | 3 +-- manimlib/mobject/svg/tex_mobject.py | 6 ++---- manimlib/mobject/svg/text_mobject.py | 4 +--- manimlib/mobject/types/point_cloud_mobject.py | 7 ++----- manimlib/mobject/types/vectorized_mobject.py | 6 ++---- manimlib/utils/color.py | 5 ++--- 16 files changed, 31 insertions(+), 59 deletions(-) diff --git a/manimlib/animation/indication.py b/manimlib/animation/indication.py index bccd697f..d42723a7 100644 --- a/manimlib/animation/indication.py +++ b/manimlib/animation/indication.py @@ -34,13 +34,9 @@ from manimlib.utils.rate_functions import wiggle from typing import TYPE_CHECKING if TYPE_CHECKING: - from colour import Color - from typing import Union - + from manimlib.constants import ManimColor from manimlib.mobject.mobject import Mobject - ManimColor = Union[str, Color] - class FocusOn(Transform): CONFIG = { diff --git a/manimlib/animation/transform.py b/manimlib/animation/transform.py index a156f575..b26cd2e9 100644 --- a/manimlib/animation/transform.py +++ b/manimlib/animation/transform.py @@ -19,14 +19,10 @@ from manimlib.utils.rate_functions import squish_rate_func from typing import TYPE_CHECKING if TYPE_CHECKING: - from colour import Color - from typing import Callable, Union - + from typing import Callable import numpy.typing as npt - from manimlib.scene.scene import Scene - - ManimColor = Union[str, Color] + from manimlib.constants import ManimColor class Transform(Animation): diff --git a/manimlib/constants.py b/manimlib/constants.py index f1303d01..7e76ed61 100644 --- a/manimlib/constants.py +++ b/manimlib/constants.py @@ -84,6 +84,13 @@ CTRL_MODIFIER = 2 COMMAND_MODIFIER = 64 # Colors +from typing import TYPE_CHECKING +if TYPE_CHECKING: + from typing import Union + from colour import Color + ManimColor = Union[str, Color, None] + + BLUE_E = "#1C758A" BLUE_D = "#29ABCA" BLUE_C = "#58C4DD" diff --git a/manimlib/mobject/coordinate_systems.py b/manimlib/mobject/coordinate_systems.py index b3c84dfb..fd498f9b 100644 --- a/manimlib/mobject/coordinate_systems.py +++ b/manimlib/mobject/coordinate_systems.py @@ -33,13 +33,11 @@ from manimlib.utils.space_ops import normalize from typing import TYPE_CHECKING if TYPE_CHECKING: - from colour import Color - from typing import Callable, Iterable, Sequence, Type, TypeVar, Union - + from typing import Callable, Iterable, Sequence, Type, TypeVar from manimlib.mobject.mobject import Mobject + from manimlib.constants import ManimColor T = TypeVar("T", bound=Mobject) - ManimColor = Union[str, Color] EPSILON = 1e-8 diff --git a/manimlib/mobject/geometry.py b/manimlib/mobject/geometry.py index abe3eec7..b44d7866 100644 --- a/manimlib/mobject/geometry.py +++ b/manimlib/mobject/geometry.py @@ -30,10 +30,8 @@ from manimlib.utils.space_ops import rotation_matrix_transpose from typing import TYPE_CHECKING if TYPE_CHECKING: - from colour import Color - from typing import Iterable, Union - - ManimColor = Union[str, Color] + from typing import Iterable + from manimlib.constants import ManimColor DEFAULT_DOT_RADIUS = 0.08 diff --git a/manimlib/mobject/matrix.py b/manimlib/mobject/matrix.py index bb4aad84..fae35a26 100644 --- a/manimlib/mobject/matrix.py +++ b/manimlib/mobject/matrix.py @@ -18,14 +18,9 @@ from manimlib.mobject.types.vectorized_mobject import VMobject from typing import TYPE_CHECKING if TYPE_CHECKING: - from colour import Color - from typing import Union - import numpy.typing as npt - from manimlib.mobject.mobject import Mobject - - ManimColor = Union[str, Color] + from manimlib.constants import ManimColor VECTOR_LABEL_SCALE_FACTOR = 0.8 diff --git a/manimlib/mobject/mobject.py b/manimlib/mobject/mobject.py index bd68fd95..869dd450 100644 --- a/manimlib/mobject/mobject.py +++ b/manimlib/mobject/mobject.py @@ -47,7 +47,6 @@ from manimlib.utils.space_ops import rotation_matrix_transpose from typing import TYPE_CHECKING if TYPE_CHECKING: - from colour import Color from typing import Callable, Iterable, Sequence, Union import numpy.typing as npt @@ -55,7 +54,7 @@ if TYPE_CHECKING: TimeBasedUpdater = Callable[["Mobject", float], None] NonTimeUpdater = Callable[["Mobject"], None] Updater = Union[TimeBasedUpdater, NonTimeUpdater] - ManimColor = Union[str, Color] + from manimlib.constants import ManimColor class Mobject(object): @@ -333,7 +332,7 @@ class Mobject(object): parent.assemble_family() return self - def get_family(self, recurse: bool = True): + def get_family(self, recurse: bool = True) -> list[Mobject]: if recurse: return self.family else: diff --git a/manimlib/mobject/probability.py b/manimlib/mobject/probability.py index 00d9232b..a0e79ffe 100644 --- a/manimlib/mobject/probability.py +++ b/manimlib/mobject/probability.py @@ -18,10 +18,8 @@ from manimlib.utils.iterables import listify from typing import TYPE_CHECKING if TYPE_CHECKING: - from colour import Color - from typing import Iterable, Union - - ManimColor = Union[str, Color] + from typing import Iterable + from manimlib.constants import ManimColor EPSILON = 0.0001 diff --git a/manimlib/mobject/shape_matchers.py b/manimlib/mobject/shape_matchers.py index bd799aae..ce0b5097 100644 --- a/manimlib/mobject/shape_matchers.py +++ b/manimlib/mobject/shape_matchers.py @@ -15,11 +15,8 @@ from manimlib.utils.customization import get_customization from typing import TYPE_CHECKING if TYPE_CHECKING: - from typing import Union - from manimlib.mobject.mobject import Mobject - - ManimColor = Union[str, Color] + from manimlib.constants import ManimColor class SurroundingRectangle(Rectangle): diff --git a/manimlib/mobject/svg/mtex_mobject.py b/manimlib/mobject/svg/mtex_mobject.py index 35a49695..03975f2c 100644 --- a/manimlib/mobject/svg/mtex_mobject.py +++ b/manimlib/mobject/svg/mtex_mobject.py @@ -9,13 +9,12 @@ from manimlib.utils.tex_file_writing import tex_content_to_svg_file from typing import TYPE_CHECKING if TYPE_CHECKING: - from colour import Color import re from typing import Iterable, Union from manimlib.mobject.types.vectorized_mobject import VGroup + from manimlib.constants import ManimColor - ManimColor = Union[str, Color] Span = tuple[int, int] Selector = Union[ str, diff --git a/manimlib/mobject/svg/string_mobject.py b/manimlib/mobject/svg/string_mobject.py index e40fc5a5..7f769809 100644 --- a/manimlib/mobject/svg/string_mobject.py +++ b/manimlib/mobject/svg/string_mobject.py @@ -17,10 +17,9 @@ from manimlib.utils.config_ops import digest_config from typing import TYPE_CHECKING if TYPE_CHECKING: - from colour import Color from typing import Callable, Iterable, Union + from manimlib.constants import ManimColor - ManimColor = Union[str, Color] Span = tuple[int, int] Selector = Union[ str, diff --git a/manimlib/mobject/svg/tex_mobject.py b/manimlib/mobject/svg/tex_mobject.py index 3c5e2ea1..d84ee9f3 100644 --- a/manimlib/mobject/svg/tex_mobject.py +++ b/manimlib/mobject/svg/tex_mobject.py @@ -18,10 +18,8 @@ from manimlib.utils.tex_file_writing import tex_content_to_svg_file from typing import TYPE_CHECKING if TYPE_CHECKING: - from colour import Color - from typing import Iterable, Union - - ManimColor = Union[str, Color] + from typing import Iterable + from manimlib.constants import ManimColor SCALE_FACTOR_PER_FONT_POINT = 0.001 diff --git a/manimlib/mobject/svg/text_mobject.py b/manimlib/mobject/svg/text_mobject.py index 027928eb..24c67b22 100644 --- a/manimlib/mobject/svg/text_mobject.py +++ b/manimlib/mobject/svg/text_mobject.py @@ -23,12 +23,10 @@ from manimlib.utils.simple_functions import hash_string from typing import TYPE_CHECKING if TYPE_CHECKING: - from colour import Color from typing import Iterable, Union from manimlib.mobject.types.vectorized_mobject import VGroup - - ManimColor = Union[str, Color] + from manimlib.constants import ManimColor Span = tuple[int, int] Selector = Union[ str, diff --git a/manimlib/mobject/types/point_cloud_mobject.py b/manimlib/mobject/types/point_cloud_mobject.py index 59482a25..fc118dd6 100644 --- a/manimlib/mobject/types/point_cloud_mobject.py +++ b/manimlib/mobject/types/point_cloud_mobject.py @@ -13,12 +13,9 @@ from manimlib.utils.iterables import resize_with_interpolation from typing import TYPE_CHECKING if TYPE_CHECKING: - from colour import Color - from typing import Callable, Union - + from typing import Callable import numpy.typing as npt - - ManimColor = Union[str, Color] + from manimlib.constants import ManimColor class PMobject(Mobject): diff --git a/manimlib/mobject/types/vectorized_mobject.py b/manimlib/mobject/types/vectorized_mobject.py index b21222be..10610634 100644 --- a/manimlib/mobject/types/vectorized_mobject.py +++ b/manimlib/mobject/types/vectorized_mobject.py @@ -42,12 +42,10 @@ from manimlib.shader_wrapper import ShaderWrapper from typing import TYPE_CHECKING if TYPE_CHECKING: - from colour import Color - from typing import Callable, Iterable, Sequence, Union + from typing import Callable, Iterable, Sequence import numpy.typing as npt - - ManimColor = Union[str, Color] + from manimlib.constants import ManimColor class VMobject(Mobject): diff --git a/manimlib/utils/color.py b/manimlib/utils/color.py index ae6517e0..c40fc76c 100644 --- a/manimlib/utils/color.py +++ b/manimlib/utils/color.py @@ -13,9 +13,8 @@ from manimlib.utils.iterables import resize_with_interpolation from typing import TYPE_CHECKING if TYPE_CHECKING: - from typing import Iterable, Union - - ManimColor = Union[str, Color] + from typing import Iterable + from manimlib.constants import ManimColor def color_to_rgb(color: ManimColor) -> np.ndarray: