The original Manim, not the default Manim
The most important fact about 3b1b/manim is its identity. This is ManimGL, the descendant of Grant Sanderson's personal animation engine for 3Blue1Brown. It is not the separately maintained Manim Community edition, even though both projects share history, concepts, and much of the name. The install package here is manimgl; installing manim follows a different project. Mixing tutorials, commands, or APIs between them is a reliable way to lose an afternoon.
The repository makes the choice unusually explicit. Manim Community was forked in 2020 with goals of greater stability, better testing, faster responses to contributions, and an easier start. ManimGL remains the closer match for Sanderson's own production and an interactive, GPU-oriented style of working. That makes it a specialist recommendation. Pick it because you need this branch, not because it has the original and most famous repository name.
Why code is a good medium for math animation
A ManimGL scene is a Python class with a construct method. You create objects, position them, and pass animations to self.play. The included examples show a coordinate grid transformed by a matrix, a complex plane mapped through a function, equations rearranged by matching their component strings, and labels updated on every frame. Those are exactly the effects that become brittle in a general video editor. In code, the transformation remains tied to the underlying mathematical operation.
The object model is expressive without hiding the mechanism. A grid can animate a method call, colors can flow across subobjects, and a function from three-dimensional points to new points can deform an object. Tex and TexText turn typeset expressions into drawable pieces. Matching transforms can associate terms across two equations so viewers see where each symbol moves rather than watching one formula fade into another.
Repeatability is the larger payoff. Change a matrix, equation, color rule, or timing value, then render again. A family of related lessons can share helper classes and configuration. The separate 3b1b/videos repository provides real production source as a deep reference, although this README warns that older video code may no longer match current ManimGL. Treat it as a workshop full of techniques, not a stable example suite.
Installation has a long tail
pip install manimgl looks easy, and for an already prepared workstation it can be. The actual prerequisites are FFmpeg and graphics support, with Pango and its development headers required on Linux. LaTeX is optional in the narrow sense that plain text and shapes can work without it. For the equation-heavy reason most people choose Manim, it is effectively part of the setup.
The macOS instructions illustrate the tradeoff. Homebrew can install FFmpeg and MacTeX, but the README calls the full MacTeX bundle about 6 GB. BasicTeX is smaller, then requires adding the packages needed by your scenes. ARM Macs also have a Cairo installation step. Windows gets a separate sequence for FFmpeg, MiKTeX, cloning, and editable installation. None of this is unreasonable for a graphics tool, but it is not the frictionless Python package suggested by a single pip line.
After the example window opens, there is another learning curve. CLI switches control writing, opening, skipping to a final frame, jumping to a numbered animation, and fullscreen playback. A custom_config.yml determines output paths, asset locations, sounds, style, and quality. Fonts and LaTeX distributions can change behavior across machines. A serious project should pin Python and package versions, document system packages, and render a known scene in continuous integration or on a controlled build machine.
Rough edges worth choosing consciously
Version boundaries create the first risk. The latest numbered release is v1.7.2 from December 2024, while the repository was pushed on August 6, 2026. Recent merged work includes major renderer changes, including a move toward wgpu, so current master and the published package are meaningfully different targets. The old release date is not evidence of abandonment. It is evidence that you must decide whether you want the released package or active source and then pin that choice.
Open reports show practical compatibility costs. A Python 3.14 uvx run fails on a missing pkg_resources import. A Windows report describes LaTeX compilation and empty SVG output problems. Another report says the interactive embed event loop can peg one CPU core. These may not affect a pinned, known-good workstation, but they make casual upgrades risky before a deadline.
Documentation is useful but unfinished by its own description. The README covers platform setup, essential commands, configuration, project lineage, and links to example scenes. Chinese community documentation is also available. The strongest learning material remains examples plus source, which suits experienced Python developers better than teachers hoping for a guided visual authoring tool.
Health and the recommendation
The repository's GitHub open count is 494, including issues and pull requests. That is a substantial queue, yet recent activity is real: several rendering pull requests were merged in late July and early August 2026, and open issues continued receiving updates through August 10. Development is concentrated rather than dormant. The setup metadata still labels the package beta, a fair description for software that produces professional work but expects users to tolerate moving internals.
ManimGL is exceptional when its exact strengths match the job: mathematical objects, programmable transformations, interactive iteration, and compatibility with Sanderson's current creative environment. For a newcomer who simply wants to make a Manim lesson, Manim Community is the safer first choice. For a creator studying 3Blue1Brown techniques or depending on ManimGL APIs, this repository is worth the extra setup and stricter environment discipline.