manim 0.18.0.post0__py3-none-any.whl → 0.19.0__py3-none-any.whl

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.

Files changed (146) hide show
  1. manim/__init__.py +3 -6
  2. manim/__main__.py +61 -20
  3. manim/_config/__init__.py +6 -3
  4. manim/_config/cli_colors.py +16 -8
  5. manim/_config/default.cfg +1 -3
  6. manim/_config/logger_utils.py +14 -8
  7. manim/_config/utils.py +651 -472
  8. manim/animation/animation.py +152 -5
  9. manim/animation/composition.py +80 -39
  10. manim/animation/creation.py +196 -14
  11. manim/animation/fading.py +5 -9
  12. manim/animation/indication.py +103 -47
  13. manim/animation/movement.py +22 -5
  14. manim/animation/rotation.py +3 -2
  15. manim/animation/specialized.py +4 -6
  16. manim/animation/speedmodifier.py +10 -5
  17. manim/animation/transform.py +4 -5
  18. manim/animation/transform_matching_parts.py +1 -1
  19. manim/animation/updaters/mobject_update_utils.py +17 -14
  20. manim/camera/camera.py +15 -6
  21. manim/cli/__init__.py +17 -0
  22. manim/cli/cfg/group.py +70 -44
  23. manim/cli/checkhealth/checks.py +93 -75
  24. manim/cli/checkhealth/commands.py +14 -5
  25. manim/cli/default_group.py +157 -25
  26. manim/cli/init/commands.py +32 -24
  27. manim/cli/plugins/commands.py +16 -3
  28. manim/cli/render/commands.py +72 -60
  29. manim/cli/render/ease_of_access_options.py +4 -3
  30. manim/cli/render/global_options.py +51 -15
  31. manim/cli/render/output_options.py +6 -5
  32. manim/cli/render/render_options.py +97 -32
  33. manim/constants.py +65 -19
  34. manim/gui/gui.py +2 -0
  35. manim/mobject/frame.py +0 -1
  36. manim/mobject/geometry/arc.py +112 -78
  37. manim/mobject/geometry/boolean_ops.py +32 -25
  38. manim/mobject/geometry/labeled.py +300 -77
  39. manim/mobject/geometry/line.py +132 -64
  40. manim/mobject/geometry/polygram.py +126 -30
  41. manim/mobject/geometry/shape_matchers.py +35 -15
  42. manim/mobject/geometry/tips.py +38 -29
  43. manim/mobject/graph.py +414 -133
  44. manim/mobject/graphing/coordinate_systems.py +126 -64
  45. manim/mobject/graphing/functions.py +25 -15
  46. manim/mobject/graphing/number_line.py +24 -10
  47. manim/mobject/graphing/probability.py +2 -10
  48. manim/mobject/graphing/scale.py +6 -5
  49. manim/mobject/matrix.py +17 -19
  50. manim/mobject/mobject.py +314 -165
  51. manim/mobject/opengl/opengl_compatibility.py +2 -0
  52. manim/mobject/opengl/opengl_geometry.py +30 -9
  53. manim/mobject/opengl/opengl_image_mobject.py +2 -0
  54. manim/mobject/opengl/opengl_mobject.py +509 -343
  55. manim/mobject/opengl/opengl_point_cloud_mobject.py +5 -7
  56. manim/mobject/opengl/opengl_surface.py +3 -2
  57. manim/mobject/opengl/opengl_three_dimensions.py +2 -0
  58. manim/mobject/opengl/opengl_vectorized_mobject.py +46 -79
  59. manim/mobject/svg/brace.py +63 -13
  60. manim/mobject/svg/svg_mobject.py +4 -3
  61. manim/mobject/table.py +11 -13
  62. manim/mobject/text/code_mobject.py +186 -548
  63. manim/mobject/text/numbers.py +9 -7
  64. manim/mobject/text/tex_mobject.py +23 -14
  65. manim/mobject/text/text_mobject.py +70 -24
  66. manim/mobject/three_d/polyhedra.py +98 -1
  67. manim/mobject/three_d/three_d_utils.py +4 -4
  68. manim/mobject/three_d/three_dimensions.py +62 -34
  69. manim/mobject/types/image_mobject.py +42 -24
  70. manim/mobject/types/point_cloud_mobject.py +105 -67
  71. manim/mobject/types/vectorized_mobject.py +496 -228
  72. manim/mobject/value_tracker.py +5 -4
  73. manim/mobject/vector_field.py +5 -5
  74. manim/opengl/__init__.py +3 -3
  75. manim/plugins/__init__.py +14 -1
  76. manim/plugins/plugins_flags.py +14 -8
  77. manim/renderer/cairo_renderer.py +20 -10
  78. manim/renderer/opengl_renderer.py +21 -23
  79. manim/renderer/opengl_renderer_window.py +2 -0
  80. manim/renderer/shader.py +2 -3
  81. manim/renderer/shader_wrapper.py +5 -2
  82. manim/renderer/vectorized_mobject_rendering.py +5 -0
  83. manim/scene/moving_camera_scene.py +23 -0
  84. manim/scene/scene.py +90 -43
  85. manim/scene/scene_file_writer.py +316 -165
  86. manim/scene/section.py +17 -15
  87. manim/scene/three_d_scene.py +13 -21
  88. manim/scene/vector_space_scene.py +22 -9
  89. manim/typing.py +830 -70
  90. manim/utils/bezier.py +1667 -399
  91. manim/utils/caching.py +13 -5
  92. manim/utils/color/AS2700.py +2 -0
  93. manim/utils/color/BS381.py +3 -0
  94. manim/utils/color/DVIPSNAMES.py +96 -0
  95. manim/utils/color/SVGNAMES.py +179 -0
  96. manim/utils/color/X11.py +3 -0
  97. manim/utils/color/XKCD.py +3 -0
  98. manim/utils/color/__init__.py +8 -5
  99. manim/utils/color/core.py +844 -309
  100. manim/utils/color/manim_colors.py +7 -9
  101. manim/utils/commands.py +48 -20
  102. manim/utils/config_ops.py +18 -13
  103. manim/utils/debug.py +8 -7
  104. manim/utils/deprecation.py +90 -40
  105. manim/utils/docbuild/__init__.py +17 -0
  106. manim/utils/docbuild/autoaliasattr_directive.py +234 -0
  107. manim/utils/docbuild/autocolor_directive.py +21 -17
  108. manim/utils/docbuild/manim_directive.py +50 -35
  109. manim/utils/docbuild/module_parsing.py +245 -0
  110. manim/utils/exceptions.py +6 -0
  111. manim/utils/family.py +5 -3
  112. manim/utils/family_ops.py +17 -4
  113. manim/utils/file_ops.py +26 -16
  114. manim/utils/hashing.py +9 -7
  115. manim/utils/images.py +10 -4
  116. manim/utils/ipython_magic.py +14 -8
  117. manim/utils/iterables.py +161 -119
  118. manim/utils/module_ops.py +57 -19
  119. manim/utils/opengl.py +83 -24
  120. manim/utils/parameter_parsing.py +32 -0
  121. manim/utils/paths.py +21 -23
  122. manim/utils/polylabel.py +168 -0
  123. manim/utils/qhull.py +218 -0
  124. manim/utils/rate_functions.py +74 -39
  125. manim/utils/simple_functions.py +24 -15
  126. manim/utils/sounds.py +7 -1
  127. manim/utils/space_ops.py +125 -69
  128. manim/utils/testing/__init__.py +17 -0
  129. manim/utils/testing/_frames_testers.py +13 -8
  130. manim/utils/testing/_show_diff.py +5 -3
  131. manim/utils/testing/_test_class_makers.py +33 -18
  132. manim/utils/testing/frames_comparison.py +27 -19
  133. manim/utils/tex.py +127 -197
  134. manim/utils/tex_file_writing.py +47 -45
  135. manim/utils/tex_templates.py +2 -1
  136. manim/utils/unit.py +6 -5
  137. {manim-0.18.0.post0.dist-info → manim-0.19.0.dist-info}/LICENSE.community +1 -1
  138. {manim-0.18.0.post0.dist-info → manim-0.19.0.dist-info}/METADATA +40 -39
  139. manim-0.19.0.dist-info/RECORD +221 -0
  140. {manim-0.18.0.post0.dist-info → manim-0.19.0.dist-info}/WHEEL +1 -1
  141. manim/cli/new/__init__.py +0 -0
  142. manim/cli/new/group.py +0 -189
  143. manim/plugins/import_plugins.py +0 -43
  144. manim-0.18.0.post0.dist-info/RECORD +0 -217
  145. {manim-0.18.0.post0.dist-info → manim-0.19.0.dist-info}/LICENSE +0 -0
  146. {manim-0.18.0.post0.dist-info → manim-0.19.0.dist-info}/entry_points.txt +0 -0
manim/utils/caching.py CHANGED
@@ -1,12 +1,20 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import Callable
3
+ from typing import TYPE_CHECKING, Callable
4
4
 
5
5
  from .. import config, logger
6
6
  from ..utils.hashing import get_hash_from_play_call
7
7
 
8
+ __all__ = ["handle_caching_play"]
8
9
 
9
- def handle_caching_play(func: Callable[..., None]):
10
+ if TYPE_CHECKING:
11
+ from typing import Any
12
+
13
+ from manim.renderer.opengl_renderer import OpenGLRenderer
14
+ from manim.scene.scene import Scene
15
+
16
+
17
+ def handle_caching_play(func: Callable[..., None]) -> Callable[..., None]:
10
18
  """Decorator that returns a wrapped version of func that will compute
11
19
  the hash of the play invocation.
12
20
 
@@ -20,14 +28,13 @@ def handle_caching_play(func: Callable[..., None]):
20
28
  The play like function that has to be written to the video file stream.
21
29
  Take the same parameters as `scene.play`.
22
30
  """
23
-
24
31
  # NOTE : This is only kept for OpenGL renderer.
25
32
  # The play logic of the cairo renderer as been refactored and does not need this function anymore.
26
33
  # When OpenGL renderer will have a proper testing system,
27
34
  # the play logic of the latter has to be refactored in the same way the cairo renderer has been, and thus this
28
35
  # method has to be deleted.
29
36
 
30
- def wrapper(self, scene, *args, **kwargs):
37
+ def wrapper(self: OpenGLRenderer, scene: Scene, *args: Any, **kwargs: Any) -> None:
31
38
  self.skip_animations = self._original_skipping_status
32
39
  self.update_skipping_status()
33
40
  animations = scene.compile_animations(*args, **kwargs)
@@ -42,8 +49,9 @@ def handle_caching_play(func: Callable[..., None]):
42
49
  return
43
50
  if not config["disable_caching"]:
44
51
  mobjects_on_scene = scene.mobjects
52
+ # TODO: the first argument seems wrong. Shouldn't it be scene instead?
45
53
  hash_play = get_hash_from_play_call(
46
- self,
54
+ self, # type: ignore[arg-type]
47
55
  self.camera,
48
56
  animations,
49
57
  mobjects_on_scene,
@@ -24,6 +24,8 @@ are non official approximate values intended to simulate AS 2700 colors:
24
24
 
25
25
  """
26
26
 
27
+ from __future__ import annotations
28
+
27
29
  from .core import ManimColor
28
30
 
29
31
  B11_RICH_BLUE = ManimColor("#2B3770")
@@ -24,6 +24,9 @@ in the standard:
24
24
  .. automanimcolormodule:: manim.utils.color.BS381
25
25
 
26
26
  """
27
+
28
+ from __future__ import annotations
29
+
27
30
  from .core import ManimColor
28
31
 
29
32
  BS381_101 = ManimColor("#94BFAC")
@@ -0,0 +1,96 @@
1
+ r"""dvips Colors
2
+
3
+ This module contains the colors defined in the dvips driver, which are commonly accessed
4
+ as named colors in LaTeX via the ``\usepackage[dvipsnames]{xcolor}`` package.
5
+
6
+ To use the colors from this list, access them directly from the module (which
7
+ is exposed to Manim's global name space):
8
+
9
+ .. code:: pycon
10
+
11
+ >>> from manim import DVIPSNAMES
12
+ >>> DVIPSNAMES.DARKORCHID
13
+ ManimColor('#A4538A')
14
+
15
+ List of Color Constants
16
+ -----------------------
17
+
18
+ These hex values are derived from those specified in the ``xcolor`` package
19
+ documentation (see https://ctan.org/pkg/xcolor):
20
+
21
+ .. automanimcolormodule:: manim.utils.color.DVIPSNAMES
22
+
23
+ """
24
+
25
+ from __future__ import annotations
26
+
27
+ from .core import ManimColor
28
+
29
+ AQUAMARINE = ManimColor("#00B5BE")
30
+ BITTERSWEET = ManimColor("#C04F17")
31
+ APRICOT = ManimColor("#FBB982")
32
+ BLACK = ManimColor("#221E1F")
33
+ BLUE = ManimColor("#2D2F92")
34
+ BLUEGREEN = ManimColor("#00B3B8")
35
+ BLUEVIOLET = ManimColor("#473992")
36
+ BRICKRED = ManimColor("#B6321C")
37
+ BROWN = ManimColor("#792500")
38
+ BURNTORANGE = ManimColor("#F7921D")
39
+ CADETBLUE = ManimColor("#74729A")
40
+ CARNATIONPINK = ManimColor("#F282B4")
41
+ CERULEAN = ManimColor("#00A2E3")
42
+ CORNFLOWERBLUE = ManimColor("#41B0E4")
43
+ CYAN = ManimColor("#00AEEF")
44
+ DANDELION = ManimColor("#FDBC42")
45
+ DARKORCHID = ManimColor("#A4538A")
46
+ EMERALD = ManimColor("#00A99D")
47
+ FORESTGREEN = ManimColor("#009B55")
48
+ FUCHSIA = ManimColor("#8C368C")
49
+ GOLDENROD = ManimColor("#FFDF42")
50
+ GRAY = ManimColor("#949698")
51
+ GREEN = ManimColor("#00A64F")
52
+ GREENYELLOW = ManimColor("#DFE674")
53
+ JUNGLEGREEN = ManimColor("#00A99A")
54
+ LAVENDER = ManimColor("#F49EC4")
55
+ LIMEGREEN = ManimColor("#8DC73E")
56
+ MAGENTA = ManimColor("#EC008C")
57
+ MAHOGANY = ManimColor("#A9341F")
58
+ MAROON = ManimColor("#AF3235")
59
+ MELON = ManimColor("#F89E7B")
60
+ MIDNIGHTBLUE = ManimColor("#006795")
61
+ MULBERRY = ManimColor("#A93C93")
62
+ NAVYBLUE = ManimColor("#006EB8")
63
+ OLIVEGREEN = ManimColor("#3C8031")
64
+ ORANGE = ManimColor("#F58137")
65
+ ORANGERED = ManimColor("#ED135A")
66
+ ORCHID = ManimColor("#AF72B0")
67
+ PEACH = ManimColor("#F7965A")
68
+ PERIWINKLE = ManimColor("#7977B8")
69
+ PINEGREEN = ManimColor("#008B72")
70
+ PLUM = ManimColor("#92268F")
71
+ PROCESSBLUE = ManimColor("#00B0F0")
72
+ PURPLE = ManimColor("#99479B")
73
+ RAWSIENNA = ManimColor("#974006")
74
+ RED = ManimColor("#ED1B23")
75
+ REDORANGE = ManimColor("#F26035")
76
+ REDVIOLET = ManimColor("#A1246B")
77
+ RHODAMINE = ManimColor("#EF559F")
78
+ ROYALBLUE = ManimColor("#0071BC")
79
+ ROYALPURPLE = ManimColor("#613F99")
80
+ RUBINERED = ManimColor("#ED017D")
81
+ SALMON = ManimColor("#F69289")
82
+ SEAGREEN = ManimColor("#3FBC9D")
83
+ SEPIA = ManimColor("#671800")
84
+ SKYBLUE = ManimColor("#46C5DD")
85
+ SPRINGGREEN = ManimColor("#C6DC67")
86
+ TAN = ManimColor("#DA9D76")
87
+ TEALBLUE = ManimColor("#00AEB3")
88
+ THISTLE = ManimColor("#D883B7")
89
+ TURQUOISE = ManimColor("#00B4CE")
90
+ VIOLET = ManimColor("#58429B")
91
+ VIOLETRED = ManimColor("#EF58A0")
92
+ WHITE = ManimColor("#FFFFFF")
93
+ WILDSTRAWBERRY = ManimColor("#EE2967")
94
+ YELLOW = ManimColor("#FFF200")
95
+ YELLOWGREEN = ManimColor("#98CC70")
96
+ YELLOWORANGE = ManimColor("#FAA21A")
@@ -0,0 +1,179 @@
1
+ r"""SVG 1.1 Colors
2
+
3
+ This module contains the colors defined in the SVG 1.1 specification, which are commonly
4
+ accessed as named colors in LaTeX via the ``\usepackage[svgnames]{xcolor}`` package.
5
+
6
+ To use the colors from this list, access them directly from the module (which
7
+ is exposed to Manim's global name space):
8
+
9
+ .. code:: pycon
10
+
11
+ >>> from manim import SVGNAMES
12
+ >>> SVGNAMES.LIGHTCORAL
13
+ ManimColor('#EF7F7F')
14
+
15
+ List of Color Constants
16
+ -----------------------
17
+
18
+ These hex values are derived from those specified in the ``xcolor`` package
19
+ documentation (see https://ctan.org/pkg/xcolor):
20
+
21
+ .. automanimcolormodule:: manim.utils.color.SVGNAMES
22
+
23
+ """
24
+
25
+ from __future__ import annotations
26
+
27
+ from .core import ManimColor
28
+
29
+ ALICEBLUE = ManimColor("#EFF7FF")
30
+ ANTIQUEWHITE = ManimColor("#F9EAD7")
31
+ AQUA = ManimColor("#00FFFF")
32
+ AQUAMARINE = ManimColor("#7EFFD3")
33
+ AZURE = ManimColor("#EFFFFF")
34
+ BEIGE = ManimColor("#F4F4DC")
35
+ BISQUE = ManimColor("#FFE3C4")
36
+ BLACK = ManimColor("#000000")
37
+ BLANCHEDALMOND = ManimColor("#FFEACD")
38
+ BLUE = ManimColor("#0000FF")
39
+ BLUEVIOLET = ManimColor("#892BE2")
40
+ BROWN = ManimColor("#A52A2A")
41
+ BURLYWOOD = ManimColor("#DDB787")
42
+ CADETBLUE = ManimColor("#5E9EA0")
43
+ CHARTREUSE = ManimColor("#7EFF00")
44
+ CHOCOLATE = ManimColor("#D2681D")
45
+ CORAL = ManimColor("#FF7E4F")
46
+ CORNFLOWERBLUE = ManimColor("#6395ED")
47
+ CORNSILK = ManimColor("#FFF7DC")
48
+ CRIMSON = ManimColor("#DC143B")
49
+ CYAN = ManimColor("#00FFFF")
50
+ DARKBLUE = ManimColor("#00008A")
51
+ DARKCYAN = ManimColor("#008A8A")
52
+ DARKGOLDENROD = ManimColor("#B7850B")
53
+ DARKGRAY = ManimColor("#A9A9A9")
54
+ DARKGREEN = ManimColor("#006300")
55
+ DARKGREY = ManimColor("#A9A9A9")
56
+ DARKKHAKI = ManimColor("#BCB66B")
57
+ DARKMAGENTA = ManimColor("#8A008A")
58
+ DARKOLIVEGREEN = ManimColor("#546B2F")
59
+ DARKORANGE = ManimColor("#FF8C00")
60
+ DARKORCHID = ManimColor("#9931CC")
61
+ DARKRED = ManimColor("#8A0000")
62
+ DARKSALMON = ManimColor("#E8967A")
63
+ DARKSEAGREEN = ManimColor("#8EBB8E")
64
+ DARKSLATEBLUE = ManimColor("#483D8A")
65
+ DARKSLATEGRAY = ManimColor("#2F4F4F")
66
+ DARKSLATEGREY = ManimColor("#2F4F4F")
67
+ DARKTURQUOISE = ManimColor("#00CED1")
68
+ DARKVIOLET = ManimColor("#9300D3")
69
+ DEEPPINK = ManimColor("#FF1492")
70
+ DEEPSKYBLUE = ManimColor("#00BFFF")
71
+ DIMGRAY = ManimColor("#686868")
72
+ DIMGREY = ManimColor("#686868")
73
+ DODGERBLUE = ManimColor("#1D90FF")
74
+ FIREBRICK = ManimColor("#B12121")
75
+ FLORALWHITE = ManimColor("#FFF9EF")
76
+ FORESTGREEN = ManimColor("#218A21")
77
+ FUCHSIA = ManimColor("#FF00FF")
78
+ GAINSBORO = ManimColor("#DCDCDC")
79
+ GHOSTWHITE = ManimColor("#F7F7FF")
80
+ GOLD = ManimColor("#FFD700")
81
+ GOLDENROD = ManimColor("#DAA51F")
82
+ GRAY = ManimColor("#7F7F7F")
83
+ GREEN = ManimColor("#007F00")
84
+ GREENYELLOW = ManimColor("#ADFF2F")
85
+ GREY = ManimColor("#7F7F7F")
86
+ HONEYDEW = ManimColor("#EFFFEF")
87
+ HOTPINK = ManimColor("#FF68B3")
88
+ INDIANRED = ManimColor("#CD5B5B")
89
+ INDIGO = ManimColor("#4A0082")
90
+ IVORY = ManimColor("#FFFFEF")
91
+ KHAKI = ManimColor("#EFE58C")
92
+ LAVENDER = ManimColor("#E5E5F9")
93
+ LAVENDERBLUSH = ManimColor("#FFEFF4")
94
+ LAWNGREEN = ManimColor("#7CFC00")
95
+ LEMONCHIFFON = ManimColor("#FFF9CD")
96
+ LIGHTBLUE = ManimColor("#ADD8E5")
97
+ LIGHTCORAL = ManimColor("#EF7F7F")
98
+ LIGHTCYAN = ManimColor("#E0FFFF")
99
+ LIGHTGOLDENROD = ManimColor("#EDDD82")
100
+ LIGHTGOLDENRODYELLOW = ManimColor("#F9F9D2")
101
+ LIGHTGRAY = ManimColor("#D3D3D3")
102
+ LIGHTGREEN = ManimColor("#90ED90")
103
+ LIGHTGREY = ManimColor("#D3D3D3")
104
+ LIGHTPINK = ManimColor("#FFB5C0")
105
+ LIGHTSALMON = ManimColor("#FFA07A")
106
+ LIGHTSEAGREEN = ManimColor("#1FB1AA")
107
+ LIGHTSKYBLUE = ManimColor("#87CEF9")
108
+ LIGHTSLATEBLUE = ManimColor("#8470FF")
109
+ LIGHTSLATEGRAY = ManimColor("#778799")
110
+ LIGHTSLATEGREY = ManimColor("#778799")
111
+ LIGHTSTEELBLUE = ManimColor("#AFC4DD")
112
+ LIGHTYELLOW = ManimColor("#FFFFE0")
113
+ LIME = ManimColor("#00FF00")
114
+ LIMEGREEN = ManimColor("#31CD31")
115
+ LINEN = ManimColor("#F9EFE5")
116
+ MAGENTA = ManimColor("#FF00FF")
117
+ MAROON = ManimColor("#7F0000")
118
+ MEDIUMAQUAMARINE = ManimColor("#66CDAA")
119
+ MEDIUMBLUE = ManimColor("#0000CD")
120
+ MEDIUMORCHID = ManimColor("#BA54D3")
121
+ MEDIUMPURPLE = ManimColor("#9270DB")
122
+ MEDIUMSEAGREEN = ManimColor("#3BB271")
123
+ MEDIUMSLATEBLUE = ManimColor("#7B68ED")
124
+ MEDIUMSPRINGGREEN = ManimColor("#00F99A")
125
+ MEDIUMTURQUOISE = ManimColor("#48D1CC")
126
+ MEDIUMVIOLETRED = ManimColor("#C61584")
127
+ MIDNIGHTBLUE = ManimColor("#181870")
128
+ MINTCREAM = ManimColor("#F4FFF9")
129
+ MISTYROSE = ManimColor("#FFE3E1")
130
+ MOCCASIN = ManimColor("#FFE3B5")
131
+ NAVAJOWHITE = ManimColor("#FFDDAD")
132
+ NAVY = ManimColor("#00007F")
133
+ NAVYBLUE = ManimColor("#00007F")
134
+ OLDLACE = ManimColor("#FCF4E5")
135
+ OLIVE = ManimColor("#7F7F00")
136
+ OLIVEDRAB = ManimColor("#6B8D22")
137
+ ORANGE = ManimColor("#FFA500")
138
+ ORANGERED = ManimColor("#FF4400")
139
+ ORCHID = ManimColor("#DA70D6")
140
+ PALEGOLDENROD = ManimColor("#EDE8AA")
141
+ PALEGREEN = ManimColor("#97FB97")
142
+ PALETURQUOISE = ManimColor("#AFEDED")
143
+ PALEVIOLETRED = ManimColor("#DB7092")
144
+ PAPAYAWHIP = ManimColor("#FFEED4")
145
+ PEACHPUFF = ManimColor("#FFDAB8")
146
+ PERU = ManimColor("#CD843F")
147
+ PINK = ManimColor("#FFBFCA")
148
+ PLUM = ManimColor("#DDA0DD")
149
+ POWDERBLUE = ManimColor("#AFE0E5")
150
+ PURPLE = ManimColor("#7F007F")
151
+ RED = ManimColor("#FF0000")
152
+ ROSYBROWN = ManimColor("#BB8E8E")
153
+ ROYALBLUE = ManimColor("#4168E1")
154
+ SADDLEBROWN = ManimColor("#8A4413")
155
+ SALMON = ManimColor("#F97F72")
156
+ SANDYBROWN = ManimColor("#F3A45F")
157
+ SEAGREEN = ManimColor("#2D8A56")
158
+ SEASHELL = ManimColor("#FFF4ED")
159
+ SIENNA = ManimColor("#A0512C")
160
+ SILVER = ManimColor("#BFBFBF")
161
+ SKYBLUE = ManimColor("#87CEEA")
162
+ SLATEBLUE = ManimColor("#6959CD")
163
+ SLATEGRAY = ManimColor("#707F90")
164
+ SLATEGREY = ManimColor("#707F90")
165
+ SNOW = ManimColor("#FFF9F9")
166
+ SPRINGGREEN = ManimColor("#00FF7E")
167
+ STEELBLUE = ManimColor("#4682B3")
168
+ TAN = ManimColor("#D2B38C")
169
+ TEAL = ManimColor("#007F7F")
170
+ THISTLE = ManimColor("#D8BFD8")
171
+ TOMATO = ManimColor("#FF6347")
172
+ TURQUOISE = ManimColor("#3FE0CF")
173
+ VIOLET = ManimColor("#ED82ED")
174
+ VIOLETRED = ManimColor("#D01F90")
175
+ WHEAT = ManimColor("#F4DDB2")
176
+ WHITE = ManimColor("#FFFFFF")
177
+ WHITESMOKE = ManimColor("#F4F4F4")
178
+ YELLOW = ManimColor("#FFFF00")
179
+ YELLOWGREEN = ManimColor("#9ACD30")
manim/utils/color/X11.py CHANGED
@@ -22,6 +22,9 @@ List of Color Constants
22
22
 
23
23
  .. automanimcolormodule:: manim.utils.color.X11
24
24
  """
25
+
26
+ from __future__ import annotations
27
+
25
28
  from .core import ManimColor
26
29
 
27
30
  ALICEBLUE = ManimColor("#F0F8FF")
manim/utils/color/XKCD.py CHANGED
@@ -23,6 +23,9 @@ taken from https://www.w3schools.com/colors/colors_xkcd.asp.
23
23
  .. automanimcolormodule:: manim.utils.color.XKCD
24
24
 
25
25
  """
26
+
27
+ from __future__ import annotations
28
+
26
29
  from .core import ManimColor
27
30
 
28
31
  ACIDGREEN = ManimColor("#8FFE09")
@@ -16,8 +16,9 @@ There are several predefined colors available in Manim:
16
16
 
17
17
  - The colors listed in :mod:`.color.manim_colors` are loaded into
18
18
  Manim's global name space.
19
- - The colors in :mod:`.color.AS2700`, :mod:`.color.BS381`, :mod:`.color.X11`,
20
- and :mod:`.color.XKCD` need to be accessed via their module (which are available
19
+ - The colors in :mod:`.color.AS2700`, :mod:`.color.BS381`,
20
+ :mod:`.color.DVIPSNAMES`, :mod:`.color.SVGNAMES`, :mod:`.color.X11` and
21
+ :mod:`.color.XKCD` need to be accessed via their module (which are available
21
22
  in Manim's global name space), or imported separately. For example:
22
23
 
23
24
  .. code:: pycon
@@ -42,17 +43,19 @@ The following modules contain the predefined color constants:
42
43
  manim_colors
43
44
  AS2700
44
45
  BS381
46
+ DVIPSNAMES
47
+ SVGNAMES
45
48
  XKCD
46
49
  X11
47
50
 
48
51
  """
49
52
 
50
- from typing import Dict, List
53
+ from __future__ import annotations
51
54
 
52
- from . import AS2700, BS381, X11, XKCD
55
+ from . import AS2700, BS381, DVIPSNAMES, SVGNAMES, X11, XKCD
53
56
  from .core import *
54
57
  from .manim_colors import *
55
58
 
56
- _all_color_dict: Dict[str, ManimColor] = {
59
+ _all_color_dict: dict[str, ManimColor] = {
57
60
  k: v for k, v in globals().items() if isinstance(v, ManimColor)
58
61
  }