skillfed

manim

Animation engine for explanatory math videos.

manim v0.21.0 218.8K downloads/30d#9,334 on PyPI40,173
Permissive license MIT Active released

What it is and what it does

Manim is a Python animation engine designed for creating explanatory math videos by defining scenes as code. You write Python classes that inherit from Scene, add geometric objects (circles, squares, graphs), apply transformations and animations, then render to video via command-line. It's the engine behind 3Blue1Brown's educational videos and is maintained by an active community.

The package combines graphics rendering (moderngl, cairo), audio processing (av, pydub), and scientific computing (numpy, scipy, networkx) to produce smooth animations of mathematical concepts. It ships with a CLI for rendering scenes and an IPython magic for Jupyter notebooks. Typical workflow: write a scene class, call `manim` from the terminal with flags like `-p` (preview) or `-ql` (low quality for speed), and get a video file.

Use it for:

  • Create educational videos explaining mathematical concepts, proofs, or algorithms through animated diagrams.
  • Generate animated visualizations of data structures, graph algorithms, or network topology for teaching.
  • Produce presentation slides or supplementary videos for STEM courses with dynamic geometric transformations.
  • Build animated infographics or explainer videos for technical content with precise control over timing and motion.
  • Prototype mathematical visualizations for research papers or technical documentation.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Manim is an animation engine that creates precise, programmatic animations for explanatory math videos, rendering geometric shapes, transformations, and mathematical concepts as video output.

Yes, if you need to create programmatic math animations for education or technical content. The active maintenance, zero known vulnerabilities, permissive MIT license, and strong community support make it a solid choice. Install friction is low despite many dependencies. Not suitable if you need real-time interactive graphics or 3D rendering beyond what the engine provides—it's optimized for offline video production, not live visualization.

Install

manim on PyPI

pip

pip install manim

uv

uv add manim

poetry

poetry add manim

Installing manim

Before you install

Installation has low friction as a pure Python wheel, though it carries 26 runtime dependencies including graphics libraries (moderngl, pycairo, pillow), audio processing (av, pydub), and scientific computing (numpy, scipy). The project is actively maintained with recent commits and no known vulnerabilities.

License in practice

Licensed under MIT with dual copyright (3blue1brown LLC and Manim Community Developers), a permissive license allowing commercial and private use with attribution.

Quickstart

pip install manim

from manim import *

class SquareToCircle(Scene):
    def construct(self):
        square = Square()
        circle = Circle()
        self.play(Create(square))
        self.play(Transform(square, circle))

manim -p -ql example.py SquareToCircle

Requires Python 3.11 or later; system dependencies for graphics rendering (cairo, ffmpeg, latex) must be installed separately per OS-specific documentation.

Verify before relying

  • Whether all 26 runtime dependencies are required for basic use or if subsets suffice for specific animation types.
  • Performance characteristics and typical render times for different scene complexity levels.
  • Memory requirements for rendering high-resolution or long-duration animations.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.11)
Install friction low — pure-Python wheel
Runtime dependencies 26 — audioop-lts, av, beautifulsoup4, click, cloup, decorator, isosurfaces, manimpango, mapbox-earcut, moderngl-window, moderngl, networkx, numpy, pillow, pycairo, pydub, pygments, rich, scipy, screeninfo, skia-pathops, srt, svgelements, tqdm, typing-extensions, watchdog
Maintenance actively maintained — 4 days since the last release
Last repo commit
First released
Downloads 218,839/month — #9,334 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: manim-0.21.0-py3-none-any.whl

Development Status :: 4 - BetaNatural Language :: EnglishProgramming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Multimedia :: GraphicsTopic :: Multimedia :: VideoTopic :: Scientific/Engineering

Tags

math animation engineprogrammatic video creationgeometric animation libraryeducational math visualizationanimation rendering for mathematicsscene-based animation frameworkmathematical graphics animation
animation-enginemath-visualizationeducational-content

More Scientific/Engineering packages