Manim is an engine for precise programmatic animations, designed for creating explanatory math videos.
Manim runs on Python 3.8 or higher.
System requirements are FFmpeg, OpenGL and LaTeX (optional, if you want to use LaTeX). For Linux, Pango along with its development headers are required. See instruction here.
# Install manimx
pip install manimx
# Try it out
manimxFor more options, take a look at the Using manim sections further below.
If you want to hack on manimx itself, clone this repository and in that directory execute:
# Install manimx
pip install -e .
# Try it out
manimx example_scenes.py OpeningManimExample
# or
manim-render example_scenes.py OpeningManimExample- Install FFmpeg.
- Install a LaTeX distribution. MiKTeX is recommended.
- Install the remaining Python packages.
git clone https://github.com/Manim-X/manimx.git cd manimx pip install -e . manimx example_scenes.py OpeningManimExample
-
Install FFmpeg, LaTeX in terminal using homebrew.
brew install ffmpeg mactex
-
Install latest version of manimx using these command.
git clone https://github.com/Manim-X/manimx.git cd manimx pip install -e . manimx example_scenes.py OpeningManimExample
- Install LaTeX as above.
- Create a conda environment using
conda create -n manimx python=3.11. - Activate the environment using
conda activate manimx. - Install manimx using
pip install -e ..
Try running the following:
manimx example_scenes.py OpeningManimExampleThis should pop up a window playing a simple scene.
Some useful flags include:
-wto write the scene to a file-oto write the scene to a file and open the result-sto skip to the end and just show the final frame.-sowill save the final frame to an image and show it
-n <number>to skip ahead to then'th animation of a scene.-fto make the playback window fullscreen
Take a look at custom_config.yml for further configuration. To add your customization, you can either edit this file, or add another file by the same name "custom_config.yml" to whatever directory you are running manim from. There you can specify where videos should be output to, where manim should look for image files and sounds you want to read in, and other defaults regarding style and video quality.
This project falls under the MIT license.