Choose ManimGL when you want the original author's workflow
Installing ManimGL took 35 seconds in our sandbox, but choosing the right Manim matters before you type a command. The package for 3b1b/manim is manimgl. The separate community edition uses manim, and the original README warns that mixing their installation instructions causes problems. If you're following a tutorial, check which edition it uses before turning its first example into your project.
Grant Sanderson built this repository to make 3Blue1Brown videos. Its example scene transforms a coordinate grid with a matrix, then bends a complex plane using a Python function. That's the appeal: the movement follows the mathematical operation you wrote. For a lesson about transformations, you can make the explanation and the animation share the same logic instead of manually placing each intermediate shape.
What happened when we ran it
Our run installed commit fafa083 in 35 seconds, adding 35 packages and using 38 MB on disk. The build succeeded in 5 seconds. We cloned it on October 10, 2026, into an unprivileged Debian container with 3 CPUs, 8 GB of RAM, and the ghcr.io/astral-sh/uv:python3.12-bookworm image. The container had no secrets. Those are repository setup results, without a measured animation-rendering workload.
Pytest exited with code 1 after 6 seconds. The summary recorded 0 passed, 0 failed, and 2 collection/setup errors. Both affected files were named in the tail: tests/test_coordinate_systems.py and tests/test_space_ops.py. The visible traceback ends at import numpy as np with ModuleNotFoundError: No module named 'numpy'. Test collection stopped before assertions could establish whether either module's behavior was correct.
The log establishes that NumPy was unavailable to the test interpreter. It doesn't establish why. Pip-audit reported 0 known vulnerabilities, which describes that audit's result rather than every possible security problem. Installation and build both completed, while the suite remained unverified. A team adopting this commit should resolve the collection error in its own environment before treating the successful build as release evidence.
The README names system requirements beyond pip
FFmpeg and OpenGL are listed system requirements. Linux also needs Pango with its development headers, and LaTeX is optional for scenes that use mathematical typesetting. The Debian instructions include the relevant package names. This is useful documentation: the reader gets an operating-system checklist alongside the Python command. A workstation intended only for Python scripts still needs those graphics and media facilities for the documented animation workflow.
The 38 MB we measured after installation isn't a budget for a complete animation workstation. Fonts, media assets, and any LaTeX distribution belong in your environment planning separately. Local animation doesn't call for a hosted API credential. Output locations, asset directories, and style defaults live in custom_config.yml, which you can supply in the directory where you run ManimGL. Keep that file with the scenes that depend on it.
Python controls the scene, including its visual details
The checked-in OpeningManimExample uses NumberPlane, an explicit matrix, and apply_complex_function. Other examples demonstrate equation transformations and font selection. These are good starting points for a Python developer who already knows what a diagram should explain. They also expose the work you're accepting: you write scene code and decide how mathematical objects should move, appear, and relate to one another on screen.
Our checkout contained 182 files and roughly 28,510 lines of source in 2.1 MB. That's accessible enough to inspect when an example behaves differently from your expectations, but reading implementation code still costs attention. I would choose ManimGL for a reusable sequence of mathematical scenes whose logic belongs in Python. For an occasional title animation that you want to arrange visually, this authoring model adds work without much payoff.
The README's preview command opens a scene in a window. Its -w option writes an animation to a file, while -s jumps to the final frame. Those controls help you inspect composition or export the result. The official examples also describe an interactive Python shell for manipulating scene objects. Our build result doesn't verify that windowed workflow, so check an actual preview on your target machine before committing a lesson deadline to it.
Older video code can need adaptation
The 5-second successful build doesn't resolve the README's compatibility warning: code from older 3Blue1Brown videos may not work with the latest ManimGL. That matters if your starting point is an impressive scene found in 3b1b/videos. Pin the code you're borrowing alongside the library version, and expect to inspect the example rather than assume every historical animation is a ready-made template for today's checkout.
For a new course or shared teaching repository, I'd start by considering Manim Community. The original README itself describes that fork's goals as greater stability and an easier start. That's a stated direction, without a comparative result from our lab. Motion Canvas is another sensible choice when you prefer TypeScript animation code and an editor preview, especially for explanatory vector graphics timed to narration.
Recent repository activity outlasts the release tag
The last push was September 9, 2026, while the latest tagged release, v1.7.2, dates to December 13, 2024. GitHub listed 94,880 stars and 501 open issues and PRs. The recently updated activity list includes October discussions and contributions, so the old release date alone doesn't support calling the project abandoned. Release packaging and ongoing repository work are different signals, and both matter when choosing a revision.
Our scan found 2 CI workflow files and a tests directory, yet our own suite stopped at collection. Use ManimGL when its original workflow or existing scenes give you a specific reason to accept that maintenance burden. Before adopting it for teaching, write one scene from your own material and export it on the machine you'll use. A working animation of your explanation is a better admission test than recognizing the logo.

