Animation engine for explanatory math videos

Overview

pypi version MIT License Manim Subreddit Manim Discord docs

Manim is an engine for precise programatic animations, designed for creating explanatory math videos.

Note, there are two versions of manim. This repository began as a personal project by the author of 3Blue1Brown for the purpose of animating those videos, with video-specific code available here. In 2020 a group of devlopers forked it into what is now the community edition, with a goal of being more stable, better tested, quicker to respond to community contributions, and all around friendlier to get started with. You can engage with that community by joining the discord.

Since the fork, this version has evolved to work on top of OpenGL, and allows real-time rendering to an interactive window before scenes are finalized and written to a file.

Installation

Manim runs on Python 3.6 or higher (Python 3.8 is recommended).

System requirements are FFmpeg, OpenGL and LaTeX (optional, if you want to use LaTeX).

Directly

# Install manimgl
pip install manimgl

# Try it out
manimgl

For more options, take a look at the Using manim sections further below.

If you want to hack on manimlib itself, clone this repository and in that directory execute:

# Install manimgl
pip install -e .

# Try it out
manimgl example_scenes.py OpeningManimExample
# or
manim-render example_scenes.py OpeningManimExample

Directly (Windows)

  1. Install FFmpeg.
  2. Install a LaTeX distribution. MiKTeX is recommended.
  3. Install the remaining Python packages.
    git clone https://github.com/3b1b/manim.git
    cd manim
    pip install -e .
    manimgl example_scenes.py OpeningManimExample

Mac OSX

  1. Install FFmpeg, LaTeX in terminal using homebrew.

    brew install ffmpeg mactex
  2. Install latest version of manim using these command.

    git clone https://github.com/3b1b/manim.git
    cd manim
    pip install -e .
    manimgl example_scenes.py OpeningManimExample

Anaconda Install

  1. Install LaTeX as above.
  2. Create a conda environment using conda create -n manim python=3.8.
  3. Activate the environment using conda activate manim.
  4. Install manimgl using pip install -e ..

Using manim

Try running the following:

manimgl example_scenes.py OpeningManimExample

This should pop up a window playing a simple scene.

Some useful flags include:

  • -w to write the scene to a file
  • -o to write the scene to a file and open the result
  • -s to skip to the end and just show the final frame.
    • -so will save the final frame to an image and show it
  • -n <number> to skip ahead to the n'th animation of a scene.
  • -f to make the playback window fullscreen

Take a look at custom_config.yml for further configuration. To add your customization, you can either edit this file, or add another file by the same name "custom_config.yml" to whatever directory you are running manim from. For example this is the one for 3blue1brown videos. There you can specify where videos should be output to, where manim should look for image files and sounds you want to read in, and other defaults regarding style and video quality.

Look through the example scenes to get a sense of how it is used, and feel free to look through the code behind 3blue1brown videos for a much larger set of example. Note, however, that developments are often made to the library without considering backwards compatibility with those old videos. To run an old project with a guarantee that it will work, you will have to go back to the commit which completed that project.

Documentation

Documentation is in progress at 3b1b.github.io/manim. And there is also a Chinese version maintained by @manim-kindergarten: manim.ml (in Chinese).

manim-kindergarten wrote and collected some useful extra classes and some codes of videos in manim_sandbox repo.

Contributing

Is always welcome. As mentioned above, the community edition has the most active ecosystem for contributions, with testing and continuous integration, but pull requests are welcome here too. Please explain the motivation for a given change and examples of its effect.

License

This project falls under the MIT license.

Comments
  • Multiple problems in example_scene.py --> OpeningManimExample, WriteStuff  not working. I am receiving IndexError: 'List out of Range Error'. Any quick Fix?

    Multiple problems in example_scene.py --> OpeningManimExample, WriteStuff not working. I am receiving IndexError: 'List out of Range Error'. Any quick Fix?

    Encountered this error while playing the example_scene. The mentioned examples (i.e. OpeningManimExample and WriteStuff) is throwing IndexError The following is the errored output:

    But before that, I am using a windows system and downloaded manim 2days ago.

    The error message:

    C:\manim\manim-master\manimlib\mobject\svg\svg_mobject.py:125: UserWarning: g1-88 not recognized
      warnings.warn("%s not recognized" % ref)
    
    Traceback (most recent call last):
      File "C:\manim\manim-master\manimlib\extract_scene.py", line 155, in main
        scene = SceneClass(**scene_kwargs)
      File "C:\manim\manim-master\manimlib\scene\scene.py", line 75, in __init__
        self.construct()
      File "example_scenes.py", line 20, in construct
        title = TextMobject("This is some \\LaTeX")
      File "C:\manim\manim-master\manimlib\mobject\svg\tex_mobject.py", line 150, in __init__
        self.break_up_by_substrings()
      File "C:\manim\manim-master\manimlib\mobject\svg\tex_mobject.py", line 190, in break_up_by_substrings
        sub_tex_mob.move_to(self.submobjects[last_submob_index], RIGHT)
    IndexError: list index out of range 
    
    

    ###Hoping to get a fix soon πŸ‘

    opened by P0intMaN 53
  • Latex is not recognized as an internal or external command, Later error converting to dvi

    Latex is not recognized as an internal or external command, Later error converting to dvi

    @Elteoremadebeethoven need your help again

    Examples other than SquareToCircle don't work. I have seen people on github posting similar queries but they are a bit confusing. Mind helping me?

    Screenshot (21)

    opened by gargVader 48
  • [concat @ <nums>] Impossible to Open

    [concat @ ] Impossible to Open "'DD:/Documents/Coding/Installations/manim/media/videos/example_scenes/480p15/partial_movie_files/SquareToCircle/00000.mp4'"

    I followed this tutorial: https://www.youtube.com/watch?v=ZltiKHFWmv8 After, I ran the python -m manim example_scenes.py SquareToCircle -pl command through the Windows terminal, in the manim repo folder, and got an error. Here is the trace:

    D:\Documents\Coding\Installations\manim>python -m manim example_scenes.py SquareToCircle -pl
    Media will be stored in media\. You can change this behavior by writing a different directory to media_dir.txt.
    [concat @ 000001a1d404bf80] Impossible to open 'DD:/Documents/Coding/Installations/manim/media/videos/example_scenes/480p15/partial_movie_files/SquareToCircle/00000.mp4'
    D:\Documents\Coding\Installations\manim\media\videos\example_scenes\480p15\partial_movie_files\SquareToCircle\partial_movie_file_list.txt: Protocol not found
    Did you mean file:D:\Documents\Coding\Installations\manim\media\videos\example_scenes\480p15\partial_movie_files\SquareToCircle\partial_movie_file_list.txt?
    
    File ready at D:\Documents\Coding\Installations\manim\media\videos\example_scenes\480p15\SquareToCircle.mp4
    
    Played 3 animations
    
    
    
    Traceback (most recent call last):
      File "D:\Documents\Coding\Installations\manim\manimlib\extract_scene.py", line 154, in main
        open_file_if_needed(scene.file_writer, **config)
      File "D:\Documents\Coding\Installations\manim\manimlib\extract_scene.py", line 35, in open_file_if_needed
        os.startfile(file_path)
    FileNotFoundError: [WinError 2] The system cannot find the file specified: 'D:\\Documents\\Coding\\Installations\\manim\\media\\videos\\example_scenes\\480p15\\SquareToCircle.mp4'
    

    I am using this version of manim: https://github.com/3b1b/manim/tree/3b088b12843b7a4459fe71eba96b70edafb7aa78

    opened by SuperMaZingCoder 43
  • Code() in file Code_mobject.py to display code with color highlighted works correctly with updates in text_mobject.py and svg_mobject.

    Code() in file Code_mobject.py to display code with color highlighted works correctly with updates in text_mobject.py and svg_mobject.

    you can use it as follow. if you put file into "assets/codes" folder then you don't need to specify full file path, just name of file is enough otherwise specify full file path. if generate_html_file==True it create a html file with color highlighted and save it to "assets/codes/generated_html_files/"

    from manimlib.imports import *
    class codeExample(Scene):
        def construct(self):
            heading = TextMobject("\"Hello, World\" Program", stroke_width=0).scale(1.3)
            heading.to_edge(UP)
            helloworldc = Code("helloworldc.c",
                               run_time=1,
                               scale_factor=0.6,
                               line_spacing=0.2,
                               tab_spacing=0.6,
                               insert_line_no=False,
                               style=code_styles_list[4],
                               background="rectangle",
                               language=code_languages_list["c"],
                               generate_html_file=True
                               )
            helloworldcpp = Code("helloworldcpp.cpp",
                                 run_time=1,
                                 scale_factor=0.6,
                                 line_spacing=0.2,
                                 tab_spacing=0.6,
                                 margin=0.3,
                                 insert_line_no=True,
                                 line_no_from=8,
                                 line_no_buff=0.4,
                                 style=code_styles_list[9],
                                 background="window",
                                 corner_radius=0.2,
                                 language=code_languages_list["cpp"],
                                 generate_html_file=True
                                 )
            helloworldc.move_to(np.array([-3.6, 0, 0]))
            helloworldcpp.move_to(np.array([3.1, 0, 0]))
            self.play(Write(heading), run_time=0.5)
            self.play(Write(helloworldc), run_time=1.3)
            self.draw_code_all_lines_at_a_time(helloworldcpp)
            self.wait()
    
        def draw_code_all_lines_at_a_time(self, Code):
            self.play(Write(Code.background_mobject), run_time=0.3)
            self.play(Write(Code.line_numbers), run_time=0.3)
            self.play(*[Write(Code.code[i]) for i in range(Code.code.__len__())],
                      run_time=Code.run_time)
    
    

    Output will be looks like ezgif-6-3eb6f393e805

    '''
    coordinate point is LEFT+UP corner
    
    Code is VGroup() with three things
    Code[0] is Code.background_mobject
        which can be a 
            Rectangle() if background == "rectangle" 
            VGroup() of Rectangle() and Dot() for three buttons
    Code[1] is Code.line_numbers
        Which is a VGroup() of Text() objects with line numbers as a text, this mean you can use 
            Code.line_numbers[0] or Code[1][0] to access first line number 
    Code[2] is Code.code
        Which is a VGroup() of lines with color highlighted, this mean you can use 
            Code.code[1] or Code[2][1] 
                line number 1
            Code.code[1][0] or Code.code[1][0] 
                first character of line number 1
            Code.code[1][0:5] or Code.code[1][0:5] 
                first five characters of line number 1
    
    '''
    

    Updated text_mobject() to use Text() as paragraph.

    class Test3(Scene):
        def construct(self):
            t = Text('this is a awesome', 'paragraph', 'With \nNewlines', '\tWith Tabs', '  With Spaces', 'With Alignments',
                     'center', "left", "right", line_spacing=0.1, alignment="left", t2c={"Tabs": RED})
            t.set_alignment("center", 7)
            t.set_alignment("left", 8)
            t.set_alignment("right", 9)
            #t.set_all_lines_alignment("center")
            t[0][0].set_color(GREEN)
            t[1][0:4].set_color(YELLOW)
            self.add(t)
            self.wait()
    

    Output Test6

    It solves the following problems

    1. display code with color highlighted
    2. manage to print single '{' or '}' because of using Text() instead of TextMobject() from https://github.com/3b1b/manim/issues/941#issuecomment-621615699
    3. Solved Text( ) transform animation for " " space character from https://github.com/3b1b/manim/issues/1017
    opened by NavpreetDevpuri 39
  • Fixed Some bugs of code_mobject.py and Text_mobject.py

    Fixed Some bugs of code_mobject.py and Text_mobject.py

    Fixed https://github.com/3b1b/manim/issues/1067 NOTE : SurroundingRectangle() only contains visible text.

    class te(Scene):
        def construct(self):
            text1 = Text(" ab ", font="Consolas", size=2)
            rect1 = SurroundingRectangle(text1)
            text1.chars[1].set_color(GREEN)
            self.add(text1,rect1)
    

    Output te

    class bug1(Scene):
        def construct(self):
            text1 = Text("  ab\ncd", font="Consolas", size=2)
            text2 = Text("ab\ngh", font="Consolas", size=2)
            rect1 = SurroundingRectangle(text1)
            rect2 = SurroundingRectangle(text2)
            self.play(Transform(remove_invisible_chars(text1), remove_invisible_chars(text2)), Transform(rect1, rect2))
            self.wait()
    

    Output bug1

    Added new parameters background_stroke_width and background_stroke_color

    class bug2andbug3(Scene):
        def construct(self):
            helloworldc = Code(
                "helloworldc.c",
                tab_width=4,
                background_stroke_width=1,
                background_stroke_color=WHITE,
                insert_line_no=True,
                style=Code.styles_list[4],
                background="window",
                language="cpp",
            )
            helloworldcpp = Code(
                "helloworldcpp.cpp",
                tab_width=4,
                background_stroke_width=1,
                background_stroke_color=WHITE,
                insert_line_no=True,
                style=Code.styles_list[15],
                background="window",
                language="cpp",
            )
            helloworldc.move_to(np.array([-3.6, 0, 0]))
            helloworldcpp.move_to(np.array([3.1, 0, 0]))
            self.add(helloworldc,helloworldcpp)
    

    Output bug2andbug3

    Updated Paragraph() and added new methods set_line_to_initial_position() and set_all_lines_to_initial_positions()

    class para(Scene):
        def construct(self):
            t = Paragraph('this is a awesome', 'paragraph', 'With \nNewlines', '\tWith Tabs', '  With Spaces',
                          'With Alignments',
                          'center', "left", "right")
            t.set_line_alignment("center", 7)
            t.set_line_alignment("right", 9)
            t.shift(2 * RIGHT)
            rect = SurroundingRectangle(t)
            self.add(t, rect)
            self.wait()
            self.play(t.set_all_lines_alignments, "right")
            self.play(t.set_line_to_initial_position, 4)
            self.play(t.set_all_lines_to_initial_positions)
            self.play(t.set_line_alignment, "center", 7)
            self.play(t.set_line_alignment, "right", 9)
            t.chars[0][5:7].set_color(GREEN)
            t[1][0:4].set_color(YELLOW)
            self.wait()
    

    Output ezgif-3-3dc23c79c5fa

    opened by NavpreetDevpuri 27
  • Exception: Xelatex error converting to xdv. See log output above or the log file: .\files\Tex\0edd36fe50692e98.log

    Exception: Xelatex error converting to xdv. See log output above or the log file: .\files\Tex\0edd36fe50692e98.log

    Hello, the moment I change "constants.py" from "TEX_USE_CTEX = False" to "TEX_USE_CTEX = True;, It returns an erro: File "D:\manim-master\manimlib\mobject\svg\tex_mobject.py", line 309, in __init__ TextMobject.__init__(self, *text_parts, **kwargs) File "D:\manim-master\manimlib\mobject\svg\tex_mobject.py", line 144, in __init__ self, self.arg_separator.join(tex_strings), **kwargs File "D:\manim-master\manimlib\mobject\svg\tex_mobject.py", line 44, in __init__ self.template_tex_file_body File "D:\manim-master\manimlib\utils\tex_file_writing.py", line 19, in tex_to_svg_file dvi_file = tex_to_dvi(tex_file) File "D:\manim-master\manimlib\utils\tex_file_writing.py", line 67, in tex_to_dvi "See log output above or the log file: %s" % log_file) Exception: Xelatex error converting to xdv. See log output above or the log file: .\files\Tex\0edd36fe50692e98.log , I need use Chinese, so I change "constants.py" .This erro has already been 3 days, and please tell me why, thanks. @HanwenZhu

    opened by FitzMusk 27
  • Nothing happens when manimgl is run!

    Nothing happens when manimgl is run!

    Describe the error

    No output on the console or no GUI shows up when manimgl is run from the command line (installed by pip install manimgl). I observe the same issue when running from this repository and installing using pip install -e . as well.

    Code and Error

    manimgl
    

    Environment

    OS System: Ubuntu 20.04.1 (5.8.0.38-generic) OpenGL version: 4.6.0 NVIDIA 450.102.04 manim version: 1.0.0 (pip install manimgl) python version: Tried both 3.6 and 3.8

    opened by heethesh 26
  • Incorrect triangulation of polygons with many holes

    Incorrect triangulation of polygons with many holes

    I tried to use Text to write Chinese, but there were many problems. For example, the simplest one is to write the word "ε›ž". But the result is this (contains unnecessary connections):

    class TextBug(Scene):
        def construct(self):
            txt = Text("ε›ž", font="εΊžι—¨ζ­£ι“ζ ‡ι’˜δ½“", height=FRAME_HEIGHT-1)
            self.add(txt)
    

    result I lowered its opacity and showed the point set and its indices. The result is this:

    class TextBug(Scene):
        def construct(self):
            txt = Text("ε›ž", font="εΊžι—¨ζ­£ι“ζ ‡ι’˜δ½“", height=FRAME_HEIGHT-1)
            txt.set_fill(opacity=0.3)
            self.add(txt)
            points = txt[0].get_points()
            ind = index_labels(points).set_color(PURPLE).set_stroke(width=1)
            self.add(ind)
    

    TextBug The position and order of the point set are correct. So I suspect that there may be an error in the triangulation, so I displayed the inner triangles in the triangulation, and the result is this:

    class TextBug(Scene):
        def construct(self):
            txt = Text("ε›ž", font="εΊžι—¨ζ­£ι“ζ ‡ι’˜δ½“", height=FRAME_HEIGHT-1)
            txt.set_fill(opacity=0.3)
            self.add(txt)
            points = txt[0].get_points()
            ind = index_labels(points).set_color(PURPLE).set_stroke(width=1)
            self.add(ind)
            tri = txt[0].get_triangulation()
            tri_indices = tri[len(points):]
            a = tri_indices[0::3]
            b = tri_indices[1::3]
            c = tri_indices[2::3]
            for i, _ in enumerate(a):
                self.add(Polygon(points[a[i]], points[b[i]], points[c[i]],\
                stroke_color=WHITE, stroke_width=4, fill_color=ORANGE, fill_opacity=0.5))
    

    TextTri Basically it is certain that there is a problem, but I don't know how to solve it.


    In addition, this is the svg file of this Chinese character, you can use SVGMobject to test it. d17bf5c77d8120cd.txt (change its extension to .svg, because GitHub does not support uploading svg files here) And it this way, not only Text will have problems, but SVGMobject and even other mobjects may also have such problems. So, @3b1b please take a look at this.

    opened by TonyCrane 21
  • Problems with setting up the engine

    Problems with setting up the engine

    I use the version of manim mentioned in the tutorial in the readme file which is in Python 2.7 and get this:

    Traceback (most recent call last):
      File "D:\manim-e4d44bf2bfdd1343da75041b215c9675b8018a79\extract_scene.py", line 14, in <module>
        from scene.scene import Scene
      File "D:\manim-e4d44bf2bfdd1343da75041b215c9675b8018a79\scene\scene.py", line 10, in <module>
        from tqdm import tqdm as ProgressDisplay
    ImportError: No module named tqdm
    
    opened by BolnayaTPrincessa 21
  • Refactor the structure of the package and add configuration guidelines

    Refactor the structure of the package and add configuration guidelines

    Motivation

    The current manimlib is relatively inconsistent with the package specification, so some slight refactoring has been carried out. And added an automation guide for setting custom_default.yml

    Proposed changes

    • Move manimlib/__init__.py into manimlib/__main__.py as an entry point of manim and remove all non-manim imports.
    • Move manimlib/imports.py into manimlib/__init__.py. So we can use from manimlib import * to import this package.
    • Add empty __init__.py for each folder
    • Delete old entry point manim.py, Use manimgl (or manim-render) instead of python manim.py.
    • Change file names of yaml files: custom_defaults.yml -> custom_config.yml, defaults.yml -> default_config.yml
    • Add configuration guide, which will be run when there is no configuration file (custom_config.yml or manimlib/default_config.yml)
    • Add a warning if there is no custom_config.yml and using the default_config.yml
    • Add a CLI flag --config. Use manimgl --config to create a config file according to the guide for a second time.
    • Update README and docs
    opened by TonyCrane 20
  • Basic install problems

    Basic install problems

    just at the beginning - trying to get the first commands to work - pip install manimlib - the Visual Studio problem at the bottom is missing msvcp140_dll file. I have spend 4 hours this afternoon trying to solve that problem and can't even get that done. Any help is appreciated - here is the command and the result run in the cmd window. I downloaded manim today so it is the latest version of files

    C:\Users\Admin\Desktop\manim-master>pip install manimlib >install.txt ERROR: Command errored out with exit status 1: command: 'c:\users\admin\appdata\local\programs\python\python37\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\Admin\A ppData\Local\Temp\pip-install-vt3ww8c9\pycairo\setup.py'"'"'; file='"'" 'C:\Users\Admin\AppData\Local\Temp\pip-install-vt3ww8c9\pycairo\setup.py '"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace( '"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'" '"'))' install --record 'C:\Users\Admin\AppData\Local\Temp\pip-record-lsh3vkpj\i nstall-record.txt' --single-version-externally-managed --compile --install-heade rs 'c:\users\admin\appdata\local\programs\python\python37\Include\pycairo' cwd: C:\Users\Admin\AppData\Local\Temp\pip-install-vt3ww8c9\pycairo
    Complete output (18 lines): running install running build running build_py creating build creating build\lib.win-amd64-3.7 creating build\lib.win-amd64-3.7\cairo copying cairo_init_.py -> build\lib.win-amd64-3.7\cairo copying cairo_init_.pyi -> build\lib.win-amd64-3.7\cairo copying cairo\py.typed -> build\lib.win-amd64-3.7\cairo running build_ext building 'cairo.cairo' extension creating build\temp.win-amd64-3.7 creating build\temp.win-amd64-3.7\Release creating build\temp.win-amd64-3.7\Release\cairo C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DPYCAIRO_VERSION_MAJOR=1 -DPYCAIRO_VERSION MINOR=19 -DPYCAIRO_VERSION_MICRO=1 -Ic:\users\admin\appdata\local\programs\pytho n\python37\include -Ic:\users\admin\appdata\local\programs\python\python37\inclu de "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Prog ram Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files ( x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1 \include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tccairo/ device.c /Fobuild\temp.win-amd64-3.7\Release\cairo/device.obj device.c c:\users\admin\appdata\local\temp\pip-install-vt3ww8c9\pycairo\cairo\pycairo .h(37): fatal error C1083: Cannot open include file: 'cairo.h': No such file or directory error: command 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\B IN\x86_amd64\cl.exe' failed with exit status 2 ---------------------------------------- ERROR: Command errored out with exit status 1: 'c:\users\admin\appdata\local\pro grams\python\python37\python.exe' -u -c 'import sys, setuptools, tokenize; sys.a rgv[0] = '"'"'C:\Users\Admin\AppData\Local\Temp\pip-install-vt3ww8c9\pyca iro\setup.py'"'"'; file='"'"'C:\Users\Admin\AppData\Local\Temp\pip-in stall-vt3ww8c9\pycairo\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open) (file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(co mpile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\Admin\AppData \Local\Temp\pip-record-lsh3vkpj\install-record.txt' --single-version-externally- managed --compile --install-headers 'c:\users\admin\appdata\local\programs\pytho n\python37\Include\pycairo' Check the logs for full command output.

    opened by lakeside-park 20
  • Segmentation Fault (core dumped) for Python 3.10 and 3.11 on Ubuntu

    Segmentation Fault (core dumped) for Python 3.10 and 3.11 on Ubuntu

    Describe the bug

    When using manim-render (v1.6.1) in a GitHub action, it issues a Segmentation Fault when using Python versions 3.10 and 3.11. For versions 3.7, 3.8, and 3.9, everything works fine.

    I am aware of #1387 and #1406, but nothing seemed to make it work.

    Code:

    The faulty line of code is:

    xvfb-run -a -s "-screen 0 1400x900x24" manim-render -l example.py Example ThreeDExample
    

    However, it is to mention that it works just fine for earlier versions of Python, or working on MacOS.

    Full information is to be found in the jobs run and in the workflow file.

    Wrong display or Error traceback:

    image

    (some lines skipped)

    image

    Additional context

    I created a Manim plugin, and I use GitHub actions to validate my code. This makes my CI tests fail.

    bug 
    opened by jeertmans 0
  • Invalid color type Exception occured running ControlsExample in example_scenes.py

    Invalid color type Exception occured running ControlsExample in example_scenes.py

    I ran the ControlsExample in example_scenes.py

    manimgl .\example_scenes.py ControlsExample
    

    and this Exception occured:

    Traceback (most recent call last):
      File "E:\Anaconda\lib\runpy.py", line 194, in _run_module_as_main
        return _run_code(code, main_globals, None,
      File "E:\Anaconda\lib\runpy.py", line 87, in _run_code
        exec(code, run_globals)
      File "E:\Anaconda\Scripts\manimgl.exe\__main__.py", line 7, in <module>
      File "D:\programFiles\manim\manim\manimlib\__main__.py", line 25, in main
        scene.run()
      File "D:\programFiles\manim\manim\manimlib\scene\scene.py", line 118, in run
        self.setup()
      File ".\example_scenes.py", line 636, in setup
        self.color_picker = ColorSliders()
      File "D:\programFiles\manim\manim\manimlib\mobject\interactive.py", line 298, in __init__
        self.a_slider.slider.set_color_by_gradient([BLACK, WHITE])
      File "D:\programFiles\manim\manim\manimlib\mobject\mobject.py", line 1294, in set_color_by_gradient
        self.set_color(colors)
      File "D:\programFiles\manim\manim\manimlib\mobject\types\vectorized_mobject.py", line 271, in set_co
        self.set_fill(color, opacity=opacity, recurse=recurse)
      File "D:\programFiles\manim\manim\manimlib\mobject\types\vectorized_mobject.py", line 150, in set_fi
        self.set_rgba_array_by_color(color, opacity, 'fill_rgba', recurse)
      File "D:\programFiles\manim\manim\manimlib\mobject\mobject.py", line 1245, in set_rgba_array_by_colo
        rgbs = np.array([color_to_rgb(c) for c in listify(color)])
      File "D:\programFiles\manim\manim\manimlib\mobject\mobject.py", line 1245, in <listcomp>
        rgbs = np.array([color_to_rgb(c) for c in listify(color)])
      File "D:\programFiles\manim\manim\manimlib\utils\color.py", line 27, in color_to_rgb
        raise Exception("Invalid color type")
    Exception: Invalid color type
    

    it seems like self.a_slider.slider.set_color_by_gradient([BLACK, WHITE]) didn't work right.

    I debug the program and found that it sent paraments colors with value (['#000000', '#FFFFFF'],) to self.set_color , which caused the Expection.

    I believe it's a bug that need to be fixed.

    bug 
    opened by YalienY 0
  • Errno 2 Help

    Errno 2 Help

    Describe the error

    Hello, I've been trying to install Manim, but I keep running into the same errors. I've followed the instructions like how they were laid out, but I can't open up any of the example scenes. I'm running Mac OS Ventura on an m1 pro . Anyways, this is what I get when input .

    Error /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pydub/utils.py:170: RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning) Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/manimpango/init.py", line 14, in from .cmanimpango import * # noqa: F403,F401 ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/manimpango/cmanimpango.cpython-310-darwin.so, 0x0002): Library not loaded: /opt/homebrew/opt/pango/lib/libpangocairo-1.0.0.dylib Referenced from: /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/manimpango/cmanimpango.cpython-310-darwin.so Reason: tried: '/opt/homebrew/opt/pango/lib/libpangocairo-1.0.0.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/opt/pango/lib/libpangocairo-1.0.0.dylib' (no such file), '/opt/homebrew/opt/pango/lib/libpangocairo-1.0.0.dylib' (no such file), '/usr/lib/libpangocairo-1.0.0.dylib' (no such file, not in dyld cache)

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.10/bin/manim", line 5, in from manim.main import main File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/manim/init.py", line 76, in from .mobject.table import * File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/manim/mobject/table.py", line 77, in from manim.mobject.text.text_mobject import Paragraph File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/manim/mobject/text/text_mobject.py", line 64, in import manimpango File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/manimpango/init.py", line 35, in raise ImportError(msg) ImportError:

    ManimPango could not import and load the necessary shared libraries. This error may occur when ManimPango and its dependencies are improperly set up. Please make sure the following versions are what you expect:

    * ManimPango v0.4.2, Python v3.10.7
    

    If you believe there is a greater problem, feel free to contact us or create an issue on GitHub:

    * Discord: https://www.manim.community/discord/
    * GitHub: https://github.com/ManimCommunity/ManimPango/issues
    

    Original error: dlopen(/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/manimpango/cmanimpango.cpython-310-darwin.so, 0x0002): Library not loaded: /opt/homebrew/opt/pango/lib/libpangocairo-1.0.0.dylib Referenced from: /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/manimpango/cmanimpango.cpython-310-darwin.so Reason: tried: '/opt/homebrew/opt/pango/lib/libpangocairo-1.0.0.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/opt/pango/lib/libpangocairo-1.0.0.dylib' (no such file), '/opt/homebrew/opt/pango/lib/libpangocairo-1.0.0.dylib' (no such file), '/usr/lib/libpangocairo-1.0.0.dylib' (no such file, not in dyld cache)

    opened by zunzun08 0
  • Small bug: wrong type of

    Small bug: wrong type of "cube" in drawings.py Laptop class.

    ##Error message:

    File "C:\manim\manimlib\mobject\svg\drawings.py", line 152, in init body.set_fill(self.shaded_body_color, opacity=1) AttributeError: 'Cube' object has no attribute 'set_fill'

    Expected behavior:

    Being able to instantiate the class and use it for whatever

    How to reproduce the issue:

    import manimlib
    class MyScene(manimlib.Scene):
        def construct(self):
            myLaptop = manimlib.Laptop()
    

    How to fix:

    In

    C:\manim\manimlib\mobject\svg\drawings.py

    Import VCube instead of Cube

    drawings.py lines [15, 16]

    from manimlib.mobject.three_dimensions import Cube #
    from manimlib.mobject.three_dimensions import VCube # Bugfix for set_fill() issue. --> Cube is then no longer accessed, so not needed.
    

    and in the class Laptop(VGroup)

    drawings.py lines [147, 155]

    def __init__(self, **kwargs):
            super().__init__(**kwargs)
            body = VCube(side_length=1) # Changed from Cube() to VCube(), fixed the issue for me Β―\_(ツ)_/Β―
            for dim, scale_factor in enumerate(self.body_dimensions):
                body.stretch(scale_factor, dim=dim)
            body.set_width(self.width)
            body.set_fill(self.shaded_body_color, opacity=1)
            body.sort(lambda p: p[2])
            body[-1].set_fill(self.body_color)
    
    bug 
    opened by Jesperoka 0
  •  Unsupported element type

    Unsupported element type

    Describe the error

    The arrows can't be displayed correctly. There is only a tip on top.

    Code and Error

    Code:

    manimgl vex.py

    Error:

           WARNING  You may be using Windows platform and have not specified the path of `temporary_storage`, which may cause OSError. So it is recommended to specify the  config.py:232
                    `temporary_storage` in the config file (.yml)                                                                                                           
           WARNING  Unsupported element type: <class 'svgelements.svgelements.Use'>                                                                                    svg_mobject.py:174
           WARNING  Unsupported element type: <class 'svgelements.svgelements.Use'>                                                                                    svg_mobject.py:174
           WARNING  Unsupported element type: <class 'svgelements.svgelements.Use'>                                                                                    svg_mobject.py:174
           WARNING  Unsupported element type: <class 'svgelements.svgelements.Use'>                                                                                    svg_mobject.py:174
           WARNING  Unsupported element type: <class 'svgelements.svgelements.Use'>                                                                                    svg_mobject.py:174
           WARNING  Unsupported element type: <class 'svgelements.svgelements.Use'>                                                                                    svg_mobject.py:174
           WARNING  Unsupported element type: <class 'svgelements.svgelements.Use'>                                                                                    svg_mobject.py:174
           WARNING  Unsupported element type: <class 'svgelements.svgelements.Use'>                                                                                    svg_mobject.py:174
    

    0 WriteText: 40%|#####################################################6 | 12/30 [00:00<00:00, 28.87it/s] (process:19896): GLib-GIO-WARNING **: 20:46:50.113: Unexpectedly, UWP app Clipchamp.Clipchamp_2.5.5.0_neutral__yxz26nhyzhsrt' (AUMIdClipchamp.Clipchamp_yxz26nhyzhsrt!App') supports 41 extensions but has no verbs [20:47:00] INFO Tips: Now the embed iPython terminal is open. But you can't interact with the window directly. To do so, you need to type touch() or self.interact() scene.py:152 Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:37:50) [MSC v.1916 64 bit (AMD64)] Type 'copyright', 'credits' or 'license' for more information IPython 8.6.0 -- An enhanced Interactive Python. Type '?' for help.

    Environment

    OS System: Windows 11 manim version: master 1.6.1 python version: 3.8

    opened by xeonliu 9
Releases(v1.6.1)
  • v1.6.1(Apr 13, 2022)

    What's Changed

    • Added a \overset as a special string by @EbbDrop in https://github.com/3b1b/manim/pull/1783
    • Fix bug when handling multi-line tex by @YishiMichael in https://github.com/3b1b/manim/pull/1785
    • Interpolate fix by @3b1b in https://github.com/3b1b/manim/pull/1788
    • Fix ImageMobject by overriding set_color method by @TonyCrane in https://github.com/3b1b/manim/pull/1791

    New Contributors

    • @EbbDrop made their first contribution in https://github.com/3b1b/manim/pull/1783

    Full Changelog: https://3b1b.github.io/manim/development/changelog.html#v1-6-1

    Checksums

    MD5
    cd5eb952ffc1ff4fe9206a6a3dd08e2e  manimgl-1.6.1-docs.zip
    767127eb9f8b526faccf872328b72c90  manimgl-1.6.1-py310-none-any.whl
    bb3caa5d426e446407595bf6c8a5843c  manimgl-1.6.1-py37-none-any.whl
    fb85b412d0a1a66cb2d2111d12329443  manimgl-1.6.1-py38-none-any.whl
    c0c655376ca424147c8ea2ec1a828372  manimgl-1.6.1-py39-none-any.whl
    523b03d1089212cf41d7fb44afb664bd  Source code (zip) manim-1.6.1.zip
    c4387c801207ca044412016d5869bd7c  Source code (tar.gz) manim-1.6.1.tar.gz
    
    SHA256
    142dd61a39d50da924401e3495918801566e3fb152cca290bba779154ffebcc7  manimgl-1.6.1-docs.zip
    8f1cd581b1656bf8b091b88909c96f3579b1a273e55b2ae9d55519bd4f2fe84c  manimgl-1.6.1-py310-none-any.whl
    4d152b7191d922a78efb3b421a7db33b354ee54aecfe8806f86ec7b656b9c2d3  manimgl-1.6.1-py37-none-any.whl
    78f1a069ea97810c8bccd2e415e40b9c5d03ee7d485b0c5c16674ff786cd3a9b  manimgl-1.6.1-py38-none-any.whl
    b53deef6bb015859c397b0c7fc918005169969468aee81307636457eeea0435c  manimgl-1.6.1-py39-none-any.whl
    3d3d2a6f6239ab4b15ce95e245c89cf8b80366c184c6668a0b2e59637e6f0a00  Source code (zip) manim-1.6.1.zip
    424116107f8ba627a9c6de6dc9d475f24479c8e96cb48862da40d6a68d8e0c1e  Source code (tar.gz) manim-1.6.1.tar.gz
    
    Source code(tar.gz)
    Source code(zip)
    manimgl-1.6.1-docs.zip(605.85 KB)
    manimgl-1.6.1-py310-none-any.whl(230.41 KB)
    manimgl-1.6.1-py37-none-any.whl(230.41 KB)
    manimgl-1.6.1-py38-none-any.whl(230.41 KB)
    manimgl-1.6.1-py39-none-any.whl(230.41 KB)
  • v1.6.0(Apr 7, 2022)

    What's Changed

    • Python 3.6 is no longer supported
    • Specify UTF-8 encoding for tex files by @YishiMichael in https://github.com/3b1b/manim/pull/1748
    • Reorganize getters for ParametricCurve by @TurkeyBilly in https://github.com/3b1b/manim/pull/1757
    • Fix the width of riemann rectangles by @widcardw in https://github.com/3b1b/manim/pull/1762
    • Refactor Text with the latest manimpango by @YishiMichael in https://github.com/3b1b/manim/pull/1751
    • Add type hints according to PEP 484 and PEP 604 by @TonyCrane in https://github.com/3b1b/manim/pull/1736
    • Video work by @3b1b in https://github.com/3b1b/manim/pull/1764
    • Adjust some typings by @YishiMichael in https://github.com/3b1b/manim/pull/1765
    • Give the user feedback for SVGs that take a while by @sunkisser in https://github.com/3b1b/manim/pull/1766
    • Small camera/3d updates by @3b1b in https://github.com/3b1b/manim/pull/1770
    • Construct LabelledString base class for MarkupText and MTex by @YishiMichael in https://github.com/3b1b/manim/pull/1772
    • Fix typo by @YishiMichael in https://github.com/3b1b/manim/pull/1777
    • Remove unnecessary raise statement by @YishiMichael in https://github.com/3b1b/manim/pull/1778
    • Refactor LabelledString and relevant classes by @YishiMichael in https://github.com/3b1b/manim/pull/1779
    • Add support for substring and case_sensitive parameters by @YishiMichael in https://github.com/3b1b/manim/pull/1780
    • Some fix by @TonyCrane in https://github.com/3b1b/manim/pull/1781

    New Contributors

    • @sunkisser made their first contribution in https://github.com/3b1b/manim/pull/1766

    Full Changelog: https://3b1b.github.io/manim/development/changelog.html#v1-6-0

    Checksums

    MD5
    877f9dc0f17e3d7d58b42a168b4f9681  manimgl-1.6.0-docs.zip
    22eb4429a5bbc077159cc8f2f9275f1e  manimgl-1.6.0-py310-none-any.whl
    c6bab7df6e065ad9e1bdc6bba47d3bca  manimgl-1.6.0-py37-none-any.whl
    57375234a3333ec87778940ac034c514  manimgl-1.6.0-py38-none-any.whl
    32ee2baa4091ce379ba24d30cd295d4e  manimgl-1.6.0-py39-none-any.whl
    05f2b80ea5cff97fb4866c5d9239abbd  Source code (zip) manim-1.6.0.zip
    b743343cf89a17b99a44bb983d86cc67  Source code (tar.gz) manim-1.6.0.tar.gz
    
    SHA256
    366c455f8f6057200e17927b3d83f60a729b67738f4e2293ec517ed462a814a1  manimgl-1.6.0-docs.zip
    ebeee869835dd62948e2f941a4485ad37e6803e517f6b3aea891db8462df6a3e  manimgl-1.6.0-py310-none-any.whl
    89ced01549fb38dd1e958967ecc131d73db624d333b9f4503a71152bfde82265  manimgl-1.6.0-py37-none-any.whl
    f1e486852a96679fce953848902b19842ac45aafbb6948abed35fccacde3fad9  manimgl-1.6.0-py38-none-any.whl
    30a54ae57cca1afefc7f56002c2748215601486c674b9a27f91589841ae26f13  manimgl-1.6.0-py39-none-any.whl
    818d12552b307b5db0bbd4ae70052468008b2a3e9f91d9a397eccc13f7361e5e  Source code (zip) manim-1.6.0.zip
    d6a885a16722a13e4f2bf0a6aa2a33dee506dd7b0acb22b95d08c9a4ea0d2a4d  Source code (tar.gz) manim-1.6.0.tar.gz
    
    Source code(tar.gz)
    Source code(zip)
    manimgl-1.6.0-docs.zip(605.66 KB)
    manimgl-1.6.0-py310-none-any.whl(230.29 KB)
    manimgl-1.6.0-py37-none-any.whl(230.29 KB)
    manimgl-1.6.0-py38-none-any.whl(230.29 KB)
    manimgl-1.6.0-py39-none-any.whl(230.29 KB)
  • v1.5.0(Feb 16, 2022)

    What's Changed

    • Clean dependencies by @TonyCrane in https://github.com/3b1b/manim/pull/1728
    • Refactor MTex and implement TransformMatchingMTex by @YishiMichael in https://github.com/3b1b/manim/pull/1725
    • Implement ImplicitFunction by @YishiMichael in https://github.com/3b1b/manim/pull/1727
    • Attempt to refactor SVGMobject with svgelements by @YishiMichael in https://github.com/3b1b/manim/pull/1731
    • Imports update, dict keys removal etc. by @donno2048 in https://github.com/3b1b/manim/pull/1737
    • Video work by @3b1b in https://github.com/3b1b/manim/pull/1739
    • Fix Write bug by @3b1b in https://github.com/3b1b/manim/pull/1740
    • Presenter mode bug fix by @3b1b in https://github.com/3b1b/manim/pull/1742
    • Add text_config for DecimalNumber by @TurkeyBilly in https://github.com/3b1b/manim/pull/1744
    • Reorganize inheriting order and refactor SVGMobject by @YishiMichael in https://github.com/3b1b/manim/pull/1745
    • Change interaction-to-embed keybinding by @3b1b in https://github.com/3b1b/manim/pull/1746

    New Contributors

    • @donno2048 made their first contribution in https://github.com/3b1b/manim/pull/1737

    Full Changelog: https://3b1b.github.io/manim/development/changelog.html#v1-5-0

    Checksums

    MD5
    0292366bba1c1f7a3d4d15d7e0adadf4  manimgl-1.5.0-docs.zip
    78a341c0779db1112cc0ca67e2d011f2  manimgl-1.5.0-py310-none-any.whl
    071cc190fe279b07ee84aa3ae1245696  manimgl-1.5.0-py36-none-any.whl
    34adfab2be39cf126f922bd187287da5  manimgl-1.5.0-py37-none-any.whl
    4d036aa68bbc9021bac78770b4bf2df1  manimgl-1.5.0-py38-none-any.whl
    64cdef77128e7c8033ffcd2a7b67a3c7  manimgl-1.5.0-py39-none-any.whl
    3f5e4515a93f158cad476b90717db1ec  Source code (zip) manim-1.5.0.zip
    b5d44014f31ca389af938952a688d09f  Source code (tar.gz) manim-1.5.0.tar.gz
    
    SHA256
    aa334fe837b1c78802059d8e428373c173d85c627d69f21f057e35bca205bc6c  manimgl-1.5.0-docs.zip
    2241542bb252ecdf9c3f7f7c50cbbd6ea8e22a29e256cd8d689c0967c260a091  manimgl-1.5.0-py310-none-any.whl
    93ff75e29626a68a23fe2ce1c892eeefb8c6f9fa2f7029aafa9cea68823395a0  manimgl-1.5.0-py36-none-any.whl
    c9c1ddcdbc9ab43817e49cd51c26ef32b2f91be1e0c8d32aff17094c8defd894  manimgl-1.5.0-py37-none-any.whl
    4231feda935d74b20eaae98081b08d77714b8acf1460326e5dd1f979fcd12e21  manimgl-1.5.0-py38-none-any.whl
    dac2ff9e02803f7b4dd9db1991d865080af66c84300513bf79517a173410bef2  manimgl-1.5.0-py39-none-any.whl
    9574692a1565e6c3ecf651c031a0558e38d77199b6abe50ac63b6cd0a2e8677d  Source code (zip) manim-1.5.0.zip
    07629c2668790449e277df6ce23296c1ba6a5612882394bd71778029ce80a231  Source code (tar.gz) manim-1.5.0.tar.gz
    
    Source code(tar.gz)
    Source code(zip)
    manimgl-1.5.0-docs.zip(603.14 KB)
    manimgl-1.5.0-py310-none-any.whl(218.50 KB)
    manimgl-1.5.0-py36-none-any.whl(218.50 KB)
    manimgl-1.5.0-py37-none-any.whl(218.50 KB)
    manimgl-1.5.0-py38-none-any.whl(218.50 KB)
    manimgl-1.5.0-py39-none-any.whl(218.50 KB)
  • v1.4.1(Feb 4, 2022)

    What's Changed

    • Temporarily fix boolean operation bug by @TurkeyBilly in https://github.com/3b1b/manim/pull/1724
    • Import Iterable from collections.abc instead of collections which is deprecated since python 3.9 by @TonyCrane in https://github.com/3b1b/manim/commit/d2e0811285f7908e71a65e664fec88b1af1c6144

    Full Changelog: https://3b1b.github.io/manim/development/changelog.html#v1-4-1

    Source code(tar.gz)
    Source code(zip)
  • v1.4.0(Jan 30, 2022)

    What's Changed

    • Add option to add ticks on x-axis in BarChart() by @DangGiaChi in https://github.com/3b1b/manim/pull/1694
    • Video work by @3b1b in https://github.com/3b1b/manim/pull/1697
    • removed extra 'all' from comments by @Suji04 in https://github.com/3b1b/manim/pull/1702
    • Adding "label_buff" config parameter for Brace by @TurkeyBilly in https://github.com/3b1b/manim/pull/1704
    • Fix "Code is unreachable Pylance" warning for NumberPlane by @TurkeyBilly in https://github.com/3b1b/manim/pull/1709
    • Improve handling of SVG transform and Some refactors by @TonyCrane in https://github.com/3b1b/manim/pull/1712
    • Parse and generate style for SVG by @TonyCrane in https://github.com/3b1b/manim/pull/1717
    • Text fix by @3b1b in https://github.com/3b1b/manim/pull/1718
    • Refactor MTex and some clean-ups by @YishiMichael in https://github.com/3b1b/manim/pull/1716
    • Improve config helper by @TonyCrane in https://github.com/3b1b/manim/pull/1721
    • Parse style from style element and Add support to line element of SVG by @TonyCrane in https://github.com/3b1b/manim/pull/1719
    • Handle explicit color-related commands by @YishiMichael in https://github.com/3b1b/manim/pull/1720
    • Add a staticmethod for tex rendering in MTex by @YishiMichael in https://github.com/3b1b/manim/pull/1723

    New Contributors

    • @DangGiaChi made their first contribution in https://github.com/3b1b/manim/pull/1694

    Full Changelog: https://3b1b.github.io/manim/development/changelog.html#v1-4-0

    Source code(tar.gz)
    Source code(zip)
  • v1.3.0(Dec 14, 2021)

    What's Changed

    • Fix parameter typo by @YishiMichael in https://github.com/3b1b/manim/pull/1653
    • Fix the bug of rotating camera by @widcardw in https://github.com/3b1b/manim/pull/1655
    • Update the link of the Chinese Ver. Docs by @050644zf in https://github.com/3b1b/manim/pull/1658
    • Refactor command handling in svg_mobject.py by @YishiMichael in https://github.com/3b1b/manim/pull/1662
    • Overridden add operations for mobjects by @TurkeyBilly in https://github.com/3b1b/manim/pull/1667
    • Add boolean operations for mobjects by @YishiMichael in https://github.com/3b1b/manim/pull/1675
    • Video work by @3b1b in https://github.com/3b1b/manim/pull/1688
    • Video work by @3b1b in https://github.com/3b1b/manim/pull/1691
    • Construct MTex by @YishiMichael in https://github.com/3b1b/manim/pull/1678

    New Contributors

    • @widcardw made their first contribution in https://github.com/3b1b/manim/pull/1655
    • @050644zf made their first contribution in https://github.com/3b1b/manim/pull/1658

    Full Changelog: https://3b1b.github.io/manim/development/changelog.html#v1-3-0

    Source code(tar.gz)
    Source code(zip)
  • v1.2.0(Oct 16, 2021)

  • v1.1.0(Jul 28, 2021)

  • v1.0.0(Feb 15, 2021)

Owner
Grant Sanderson
I make videos about math.
Grant Sanderson
Validated, scalable, community developed variant calling, RNA-seq and small RNA analysis

Validated, scalable, community developed variant calling, RNA-seq and small RNA analysis. You write a high level configuration file specifying your in

Blue Collar Bioinformatics 915 Dec 29, 2022
AnuGA for the simulation of the shallow water equation

ANUGA Contents ANUGA What is ANUGA? Installation Documentation and Help Mailing Lists Web sites Latest source code Bug reports Developer information L

Geoscience Australia 147 Dec 14, 2022
Python Data Science Handbook: full text in Jupyter Notebooks

Python Data Science Handbook This repository contains the entire Python Data Science Handbook, in the form of (free!) Jupyter notebooks. How to Use th

Jake Vanderplas 36.9k Dec 28, 2022
A simple computer program made with Python on the brachistochrone curve.

Brachistochrone-curve This is a simple computer program made with Python on the brachistochrone curve. I decided to write it after a physics lesson on

Diego Romeo 1 Dec 16, 2021
Veusz scientific plotting application

Veusz 3.3.1 Veusz is a scientific plotting package. It is designed to produce publication-ready PDF or SVG output. Graphs are built-up by combining pl

Veusz 613 Dec 16, 2022
A logical, reasonably standardized, but flexible project structure for doing and sharing data science work.

Cookiecutter Data Science A logical, reasonably standardized, but flexible project structure for doing and sharing data science work. Project homepage

6.4k Jan 02, 2023
SeqLike - flexible biological sequence objects in Python

SeqLike - flexible biological sequence objects in Python Introduction A single object API that makes working with biological sequences in Python more

186 Dec 23, 2022
Mathics is a general-purpose computer algebra system (CAS). It is an open-source alternative to Mathematica

Mathics is a general-purpose computer algebra system (CAS). It is an open-source alternative to Mathematica. It is free both as in "free beer" and as in "freedom".

Mathics 535 Jan 04, 2023
Kedro is an open-source Python framework for creating reproducible, maintainable and modular data science code

A Python framework for creating reproducible, maintainable and modular data science code.

QuantumBlack Labs 7.9k Jan 01, 2023
ReproZip is a tool that simplifies the process of creating reproducible experiments from command-line executions, a frequently-used common denominator in computational science.

ReproZip ReproZip is a tool aimed at simplifying the process of creating reproducible experiments from command-line executions, a frequently-used comm

267 Jan 01, 2023
PennyLane is a cross-platform Python library for differentiable programming of quantum computers.

PennyLane is a cross-platform Python library for differentiable programming of quantum computers. Train a quantum computer the same way as a neural network.

PennyLaneAI 1.6k Jan 04, 2023
Graphic notes on Gilbert Strang's "Linear Algebra for Everyone"

Graphic notes on Gilbert Strang's "Linear Algebra for Everyone"

Kenji Hiranabe 3.2k Jan 08, 2023
Doing bayesian data analysis - Python/PyMC3 versions of the programs described in Doing bayesian data analysis by John K. Kruschke

Doing_bayesian_data_analysis This repository contains the Python version of the R programs described in the great book Doing bayesian data analysis (f

Osvaldo Martin 851 Dec 27, 2022
Statsmodels: statistical modeling and econometrics in Python

About statsmodels statsmodels is a Python package that provides a complement to scipy for statistical computations including descriptive statistics an

statsmodels 8.1k Dec 30, 2022
Zipline, a Pythonic Algorithmic Trading Library

Zipline is a Pythonic algorithmic trading library. It is an event-driven system for backtesting. Zipline is currently used in production as the backte

Quantopian, Inc. 15.7k Jan 07, 2023
A mathematica expression evaluator with PokemonTypes

A simple mathematical expression evaluator that uses Pokemon types to replace symbols.

Arnav Jindal 2 Nov 14, 2021
SCICO is a Python package for solving the inverse problems that arise in scientific imaging applications.

Scientific Computational Imaging COde (SCICO) SCICO is a Python package for solving the inverse problems that arise in scientific imaging applications

Los Alamos National Laboratory 37 Dec 21, 2022
A modular single-molecule analysis interface

MOSAIC: A modular single-molecule analysis interface MOSAIC is a single molecule analysis toolbox that automatically decodes multi-state nanopore data

National Institute of Standards and Technology 35 Dec 13, 2022
CoCalc: Collaborative Calculation in the Cloud

logo CoCalc Collaborative Calculation and Data Science CoCalc is a virtual online workspace for calculations, research, collaboration and authoring do

SageMath, Inc. 1k Dec 29, 2022
PsychoPy is an open-source package for creating experiments in behavioral science.

PsychoPy is an open-source package for creating experiments in behavioral science. It aims to provide a single package that is: precise enoug

PsychoPy 1.3k Dec 31, 2022