Skip to main content

manim-marimo

manim-marimo brings Manim animations to marimo notebooks through marimo-studio. The notebook computes the values. A Manim scene in a Studio view animates them, and Studio renders the movie again whenever a value changes.

A marimo notebook beside its Animation view. The notebook analyzes a small notebook's dataflow graph, and the Manim movie sorts its cells and lights up the ones a slider reruns. Choosing another slider in the notebook renders the movie again for its cascade.
import numpy as np
from manimlib import Scene, ShowCreation, VMobject
from manim_marimo import value


class Animation(Scene):
    def construct(self):
        points = np.asarray(value("trajectory", default=[[0, 0], [1, 1]]), dtype=float)
        curve = VMobject()
        curve.set_points_as_corners(np.column_stack((points, np.zeros(len(points)))))
        self.play(ShowCreation(curve), run_time=3)

trajectory is a variable in the notebook. The view's page plays the movie beside the notebook's live controls, and output() and cell() place notebook figures inside the scene.

Get started

manim-marimo renders scenes in the notebook's pixi environment, which installs the OpenGL and Pango libraries ManimGL renders with from conda-forge. Declare it in the notebook's script metadata:

# /// script
# requires-python = ">=3.10,<3.15"
# dependencies = [
#     "manim-marimo[render]",
# ]
#
# [tool.pixi.workspace]
# channels = ["conda-forge"]
#
# [tool.pixi.dependencies]
# manimpango = ">=0.6"
# ///
uvx --with manim-marimo marimo edit analysis.py --sandbox=pixi --watch

In Studio, click Add view and choose Manim animation. Getting started shows the complete metadata, including the Mesa tables that render on Linux servers without a display.

Author with a coding agent

manim-marimo ships an agent skill beside marimo-studio's. Paste this into Claude Code, Codex, or another terminal agent:

Read the marimo-studio and manim-marimo skills with
`uvx --with manim-marimo agent-plugins read <name>`,
then create a notebook that explains Fourier series and an Animation view
that draws a square wave from rotating vectors.

Examples

  • A notebook is a dataflow graph: the notebook parses a small notebook, sorts its cells topologically, and finds what each slider reruns. The scene draws those results.
  • Fourier drawing: rotating vectors draw manim-marimo's mark and TeX's italic m from Fourier coefficients the notebook computes.
  • Convolution of dice: a joint probability table folding into the distribution of a sum, ending on the notebook's own chart.
  • Simulating an epidemic: two hundred people simulated in the notebook, after 3Blue1Brown's Simulating an epidemic. Pause the movie and point at anyone to trace them to the notebook row that simulated them.
pixi run edit dataflow

Documentation

Guide · Examples · Reference · Contributing

License

Apache License 2.0. The epidemic example's scene.py adapts code from 3b1b/videos and shares its CC BY-NC-SA 4.0 license.

Metadata

Release files for manim-marimo 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for manim-marimo 0.0.1
File Size Uploaded Provenance Actions
manim_marimo-0.0.1.tar.gz 62.8 kB Without provenance Details for manim_marimo-0.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for manim-marimo 0.0.1
File Interpreter ABI Platform Actions
manim_marimo-0.0.1-py3-none-any.whl Python 3 none any Details for manim_marimo-0.0.1-py3-none-any.whl

Total release size: 129.4 kB

Release files / manim_marimo-0.0.1.tar.gz

Download URL manim_marimo-0.0.1.tar.gz
Size 62.8 kB
Tags Source
SHA-256 checksum
How to use checksums
1130180842570993434b6bbcd529503d7f044ab86a71976befe706afdba4e040
BLAKE2b-256 checksum
How to use checksums
57027b494d977a6decfdcb8e7e0f103337b7023c94b5decb5014bb320ce458bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / manim_marimo-0.0.1-py3-none-any.whl

Download URL manim_marimo-0.0.1-py3-none-any.whl
Size 66.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1f9c8f9e0559e5904011c3f7918c8e209e1dfda58e065fdbebbb92d094ebceb8
BLAKE2b-256 checksum
How to use checksums
56337bd1963b60ca9d5383810c5b46bc28d6deb6ac3accbac04ad29bbc4f5397
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for manim-marimo 0.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page