What it is
ManimGL is a Python engine for programmatic animation, especially mathematical animation. It is associated with 3Blue1Brown and began as a personal tool for videos where formulas, graphs, geometry, and transitions are built from code.
It should not be confused with Manim Community Edition. The README explains the split: `3b1b/manim` is ManimGL, while the community edition is a separate fork focused on stability, testing, and easier onboarding.
What is inside
The repository contains Python code for scenes, objects, cameras, animations, rendering, examples, and installation instructions. FFmpeg and LaTeX are commonly needed because the project renders video and mathematical text.
ManimGL is useful when animation should be described as code: create an object, transform it, show a formula, move a camera, plot a graph, or build a geometric construction.
Minimal scene
This example shows the Manim style: a scene is a Python class, and objects and animations are added through commands.
from manimlib import *
class HelloManim(Scene):
def construct(self):
text = Text("Manim")
self.play(Write(text))
self.wait()
Strengths
The strength is precision and repeatability. For explanatory video, formulas and motion can be changed as code instead of moved manually on a timeline. It fits math visualization, educational videos, and geometry experiments.
Limits
The limitation is the learning curve. Users need Python, rendering dependencies, LaTeX, and scene structure. For a simple video, a video editor is faster. ManimGL shines when animation is tied to math, algorithms, or repeatable visual rules.