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
manimx
For 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 OpeningManimExample
This should pop up a window playing a simple scene.
Some useful flags include:
-w
to write the scene to a file-o
to write the scene to a file and open the result-s
to skip to the end and just show the final frame.-so
will save the final frame to an image and show it
-n <number>
to skip ahead to then
'th animation of a scene.-f
to 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.