Package: manimgl
Manim is an engine for precise programmatic animations, designed for creating explanatory math videos.Note, there are two versions of manim.  This repository began as a personal project by the author of3Blue1Brownfor the purpose of animating those videos, with video-specific code availablehere.  In 2020 a group of developers forked it into what is now thecommunity edition, with a goal of being more stable, better tested, quicker to respond to community contributions, and all around friendlier to get started with. Seethis pagefor more details.InstallationWARNING:These instructions are for ManimGLonly. Trying to use these instructions to installManimCommunity/manimor instructions there to install this version will cause problems. You should first decide which version you wish to install, then only follow the instructions for your desired version.Note: To install manim directly through pip, please pay attention to the name of the installed package. This repository is ManimGL of 3b1b. The package name ismanimglinstead ofmanimormanimlib. Please usepip install manimglto install the version in this repository.Manim runs on Python 3.7 or higher.System requirements areFFmpeg,OpenGLandLaTeX(optional, if you want to use LaTeX).
For Linux,Pangoalong with its development headers are required. See instructionhere.Directly# Install manimglpipinstallmanimgl# Try it outmanimglFor more options, take a look at theUsing manimsections further below.If you want to hack on manimlib itself, clone this repository and in that directory execute:# Install manimglpipinstall-e.# Try it outmanimglexample_scenes.pyOpeningManimExample# ormanim-renderexample_scenes.pyOpeningManimExampleDirectly (Windows)Install FFmpeg.Install a LaTeX distribution.MiKTeXis recommended.Install the remaining Python packages.gitclonehttps://github.com/3b1b/manim.gitcdmanim
pipinstall-e.
manimglexample_scenes.pyOpeningManimExampleMac OSXInstall FFmpeg, LaTeX in terminal using homebrew.brewinstallffmpegmactexInstall latest version of manim using these command.gitclonehttps://github.com/3b1b/manim.gitcdmanim
pipinstall-e.
manimglexample_scenes.pyOpeningManimExampleAnaconda InstallInstall LaTeX as above.Create a conda environment usingconda create -n manim python=3.8.Activate the environment usingconda activate manim.Install manimgl usingpip install -e ..Using manimTry running the following:manimglexample_scenes.pyOpeningManimExampleThis 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 fullscreenTake 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.  For examplethis is the onefor 3blue1brown videos.  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.Look through theexample scenesto get a sense of how it is used, and feel free to look through the code behind3blue1brown videosfor a much larger set of example. Note, however, that developments are often made to the library without considering backwards compatibility with those old videos. To run an old project with a guarantee that it will work, you will have to go back to the commit which completed that project.DocumentationDocumentation is in progress at3b1b.github.io/manim. And there is also a Chinese version maintained by@manim-kindergarten:docs.manim.org.cn(in Chinese).manim-kindergartenwrote and collected some useful extra classes and some codes of videos inmanim_sandbox repo.ContributingIs always welcome.  As mentioned above, thecommunity editionhas the most active ecosystem for contributions, with testing and continuous integration, but pull requests are welcome here too.  Please explain the motivation for a given change and examples of its effect.LicenseThis project falls under the MIT license.