Jupyter Notebooks

Binder

Binder is an online platform that hosts shareable and customizable computing environments in the form of Jupyter notebooks. Manim ships with a built-in %%manim Jupyter magic command which makes it easy to use in these notebooks.

To see an example for such an environment, visit our interactive tutorial over at https://try.manim.community/.

It is relatively straightforward to prepare your own notebooks in a way that allows them to be shared interactively via Binder as well:

  1. First, prepare a directory containing one or multiple notebooks which you would like to share in an interactive environment. You can create these notebooks by using Jupyter notebooks with a local installation of Manim, or also by working in our pre-existing interactive tutorial environment.

  2. In the same directory containing your notebooks, add a file named Dockerfile with the following content:

    FROM manimcommunity/manim:v0.9.0
    
    COPY --chown=manimuser:manimuser . /manim
    

    Don’t forget to change the version tag v0.9.0 to the version you were working with locally when creating your notebooks.

  3. Make the directory with your worksheets and the Dockerfile available to the public (and in particular: to Binder!). There are several different options to do so, within the community we usually work with GitHub repositories or gists.

  4. Once your material is publicly available, visit https://mybinder.org and follow the instructions there to generate an interactive environment for your worksheets.

Hint

The repository containing our interactive tutorial can be found at https://github.com/ManimCommunity/jupyter_examples.

Google Colaboratory

It is also possible to install Manim in a Google Colaboratory environment. In contrast to Binder, where you can customize and prepare the environment beforehand (such that Manim is already installed and ready to be used), you will have to take care of that every time you start a new notebook in Google Colab. Fortunately, this is not particularly difficult.

After creating a new notebook, paste the following code block in a cell, then execute it.

!sudo apt update
!sudo apt install libcairo2-dev ffmpeg \
    texlive texlive-latex-extra texlive-fonts-extra \
    texlive-latex-recommended texlive-science \
    tipa libpango1.0-dev
!pip install manim
!pip install IPython --upgrade

You should start to see Colab installing all the dependencies specified in these commands. After the execution has completed, you will be prompted to restart the runtime. Click the “restart runtime” button at the bottom of the cell output. You are now ready to use Manim in Colab!

To check that everything works as expected, first import Manim by running

from manim import *

in a new code cell. Then create another cell containing the following code:

%%manim -qm -v WARNING SquareToCircle

class SquareToCircle(Scene):
   def construct(self):
      square = Square()
      circle = Circle()
      circle.set_fill(PINK, opacity=0.5)
      self.play(Create(square))
      self.play(Transform(square, circle))
      self.wait()

Upon running this cell, a short animation transforming a square into a circle should be rendered and displayed.