Binding for Pango, to use with Manim.
62
stars
317
commits
Python
primary language
Aug 4, 2026
updated
ManimPango is a C binding for Pango using Cython, which is internally used in Manim to render (non-LaTeX) text.
Installing ManimPango is super easy, just use pip. It is manimpango in PyPi.
pip install manimpango
For Linux Users, there are no Wheels. You must have a C compiler as well as Pango and its dependencies along with the Pango development headers. See BUILDING for more information.
To make it easier for developers to contribute, we have a pre-commit workflow that will check for black formatting and flake checking.
pip install pre-commit
pre-commit install
For building ManimPango, you need
pkg-configIf you are on MacOS, you can use brew to install those. Using MacPorts is also possible.
brew install pango pkg-config
If you are on Linux, you can use a system package manager to do so. For example, if you are on Debian based system, you can use apt
apt install libpango1.0-dev pkg-config python3-dev
Arch Linux: pacman -S pango pkgconf
Fedora: dnf install pango-devel pkg-config python3-devel
Or similar in your system's package manager.
tar archivesIf you don't want to contribute to this repository, you can use the tar archives published in PyPi, or just use pip to install using
pip install manimpango --no-binary :all:
Note: pip by default uses wheels, so make sure to pass the --no-binary parameter.
git clones / ContributingPlease remember to do this inside your virtual environment, if you want to use your Manimpango with Manim.
python -m venv ./venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
If you are using a clone of this repository, you will need Cython which can be easily installed using pip:
pip install Cython
After that you can use pip to install the clone with the following command:
pip install -e .
pip install -r requirements-dev.txt .
Next, run the setup script:
python setup.py build_ext -i
After installation is complete, you should be able to run pytest:
pytest
You will need to this way if you want to contribute to ManimPango.
If you are a normal user, don't read this, you have wheels which you can just install directly using pip.
If you want to contribute to ManimPango and you are on Windows, this section is for you.
As Windows does not include a C compiler by default, you will first need to install one. You have two choices:
MinGW/Msys2
Visual Studio
pacman -S mingw-w64-x86_64-python
pacman -S mingw-w64-x86_64-python-pip
pacman -S mingw-w64-x86_64-pango
pacman -S mingw-w64-x86_64-cython
pacman -S mingw-w64-x86_64-python-numpy
pacman -S mingw-w64-x86_64-python-scipy
pacman -S mingw-w64-x86_64-python-pillow
pacman -S mingw-w64-x86_64-python-cairo
pacman -S mingw-w64-x86_64-ffmpeg
pip install manim.cd into that directory and then run pip install -e ..
Note You can't use it with your regular Python version. It will cause weird errors if you do so. For working with ManimPango, you must be inside the MSYS2 MINGW64 shell.manim inside that shell, to run Manim.
Hint: If you want to try out Python interactively, you can open idle using the command python -m idlelib inside that shell.First, install Visual Studio as specified in https://wiki.python.org/moin/WindowsCompilers. Possibly Visual Studio Build Tools 2022 with Windows10 SDK.
Then run the script at packing/download_dlls.py. This will get a Pango build along with pkg-config and install it at C:\cibw\vendor. Add C:\cibw\vendor\bin to PATH.
Note: You can change the install location by editing line 24 of the file packing/download_dlls.py.
Then set an environment variable PKG_CONFIG_PATH=C:\cibw\vendor\lib\pkgconfig.
Then you can install Cython using
pip install Cython
Finally, you can install your local ManimPango clone just like any other python package by typing:
pip install .
Our full code of conduct, and how we enforce it, can be read on our website.
This project is licensed under MIT License. The wheels distributed on PyPI contains compiled version of Pango and Cairo subject to terms of the GNU LGPL and other licenses. Consult the licenses of each library for more informations.
Python
62.5%
Cython
31.3%
Shell
6.2%
Binding for Pango, to use with Manim.
62
stars
317
commits
Python
primary language
Aug 4, 2026
updated
ManimPango is a C binding for Pango using Cython, which is internally used in Manim to render (non-LaTeX) text.
Installing ManimPango is super easy, just use pip. It is manimpango in PyPi.
pip install manimpango
For Linux Users, there are no Wheels. You must have a C compiler as well as Pango and its dependencies along with the Pango development headers. See BUILDING for more information.
To make it easier for developers to contribute, we have a pre-commit workflow that will check for black formatting and flake checking.
pip install pre-commit
pre-commit install
For building ManimPango, you need
pkg-configIf you are on MacOS, you can use brew to install those. Using MacPorts is also possible.
brew install pango pkg-config
If you are on Linux, you can use a system package manager to do so. For example, if you are on Debian based system, you can use apt
apt install libpango1.0-dev pkg-config python3-dev
Arch Linux: pacman -S pango pkgconf
Fedora: dnf install pango-devel pkg-config python3-devel
Or similar in your system's package manager.
tar archivesIf you don't want to contribute to this repository, you can use the tar archives published in PyPi, or just use pip to install using
pip install manimpango --no-binary :all:
Note: pip by default uses wheels, so make sure to pass the --no-binary parameter.
git clones / ContributingPlease remember to do this inside your virtual environment, if you want to use your Manimpango with Manim.
python -m venv ./venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
If you are using a clone of this repository, you will need Cython which can be easily installed using pip:
pip install Cython
After that you can use pip to install the clone with the following command:
pip install -e .
pip install -r requirements-dev.txt .
Next, run the setup script:
python setup.py build_ext -i
After installation is complete, you should be able to run pytest:
pytest
You will need to this way if you want to contribute to ManimPango.
If you are a normal user, don't read this, you have wheels which you can just install directly using pip.
If you want to contribute to ManimPango and you are on Windows, this section is for you.
As Windows does not include a C compiler by default, you will first need to install one. You have two choices:
MinGW/Msys2
Visual Studio
pacman -S mingw-w64-x86_64-python
pacman -S mingw-w64-x86_64-python-pip
pacman -S mingw-w64-x86_64-pango
pacman -S mingw-w64-x86_64-cython
pacman -S mingw-w64-x86_64-python-numpy
pacman -S mingw-w64-x86_64-python-scipy
pacman -S mingw-w64-x86_64-python-pillow
pacman -S mingw-w64-x86_64-python-cairo
pacman -S mingw-w64-x86_64-ffmpeg
pip install manim.cd into that directory and then run pip install -e ..
Note You can't use it with your regular Python version. It will cause weird errors if you do so. For working with ManimPango, you must be inside the MSYS2 MINGW64 shell.manim inside that shell, to run Manim.
Hint: If you want to try out Python interactively, you can open idle using the command python -m idlelib inside that shell.First, install Visual Studio as specified in https://wiki.python.org/moin/WindowsCompilers. Possibly Visual Studio Build Tools 2022 with Windows10 SDK.
Then run the script at packing/download_dlls.py. This will get a Pango build along with pkg-config and install it at C:\cibw\vendor. Add C:\cibw\vendor\bin to PATH.
Note: You can change the install location by editing line 24 of the file packing/download_dlls.py.
Then set an environment variable PKG_CONFIG_PATH=C:\cibw\vendor\lib\pkgconfig.
Then you can install Cython using
pip install Cython
Finally, you can install your local ManimPango clone just like any other python package by typing:
pip install .
Our full code of conduct, and how we enforce it, can be read on our website.
This project is licensed under MIT License. The wheels distributed on PyPI contains compiled version of Pango and Cairo subject to terms of the GNU LGPL and other licenses. Consult the licenses of each library for more informations.
Python
62.5%
Cython
31.3%
Shell
6.2%