Registry / serialization / manimpango

manimpango

JSON →
library0.6.1pypypiunverified

ManimPango provides Python bindings for the Pango text layout library, specifically designed to integrate with the Manim animation engine for advanced text rendering. It allows Manim users to leverage Pango's rich text features, font handling, and internationalization capabilities. The current version is 0.6.1, and the library is actively maintained with frequent minor releases addressing Python version compatibility, OS-specific build issues, and Pango library updates.

pip install manimpango
INSTALL
IMPORT
SIG · MANIMPANGO
M
manimpango
serializationpythonv0.6.1
Install
Import
Disk
Pass rate
0/ 10
Env Coverage0 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v? · pip install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.910 runs
build_error
glibc
py 3.103.910 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

FontDescriptor
from manimpango import FontDescriptor
list_fonts
from manimpango import list_fonts
register_font
from manimpango import register_font
PangoUtils
from manimpango import PangoUtils
from manimpango import utils
Pango utility functions are grouped under PangoUtils class, not a direct 'utils' module.

This quickstart demonstrates how to list available system fonts and create a `FontDescriptor` using ManimPango. While `register_font` is a key feature, it's commented out as it requires a specific font file path which is not universally available for a quickstart example. It requires Python 3.8+.

from manimpango import FontDescriptor, list_fonts, register_font import os print("Available fonts (first 5):") # In a real scenario, this might return hundreds of fonts. # We limit for demonstration. for font_name in list_fonts()[:5]: print(f"- {font_name}") # Create a font descriptor (Pango uses 'family style weight size') try: descriptor = FontDescriptor("Arial Bold 16") print(f"\nSuccessfully created FontDescriptor for: {descriptor.family}, style={descriptor.style}, weight={descriptor.weight}, size={descriptor.size}") except Exception as e: print(f"\nError creating FontDescriptor: {e}") # Example of how you would register a font (requires an actual font file path) # For a runnable quickstart, we'll just demonstrate the call without a real file. # font_file_path = os.environ.get('MANIMPANGO_CUSTOM_FONT_PATH', '/path/to/your/custom_font.ttf') # if os.path.exists(font_file_path): # register_font(font_file_path) # print(f"Registered font from {font_file_path}") # else: # print(f"(Skipping font registration: custom font file not found at {font_file_path})")
Debug
Known issues
breakingManimPango dropped support for Python 3.7 in version 0.4.4. Installations on Python 3.7 or older will fail.
fix
Upgrade your Python environment to 3.8 or higher. The current version requires Python >=3.8.
affects: >=0.4.4
breakingStarting with v0.6.1, ManimPango wheels for macOS require macOS 10.13 (High Sierra) or newer due to an upgrade in the bundled Pango library version. Users on older macOS versions may encounter installation or runtime errors.
fix
Upgrade your macOS operating system to 10.13 or newer. Alternatively, you may need to compile from source, ensuring your system's Pango version is compatible, though this is not officially supported for older macOS versions.
affects: >=0.6.1
gotchaWhile ManimPango wheels for Windows and macOS statically link Pango, Linux users (or those installing from source) still require system-level Pango and Cairo libraries to be installed. Missing these can lead to build or runtime errors.
fix
Ensure Pango, Cairo, and their development headers are installed on your Linux system. For Debian/Ubuntu: `sudo apt-get install libpango1.0-dev libcairo2-dev`. For Fedora: `sudo dnf install pango-devel cairo-devel`.
affects: all
gotchaThe `register_font` API on Windows received updates in v0.6.0. If you were using `register_font` on Windows with a version prior to 0.6.0, you might need to adjust your calls.
fix
Refer to the ManimPango documentation or source code for the exact changes to `register_font` if you encounter issues on Windows after upgrading to 0.6.0 or newer. Typically, this involves ensuring correct path handling and argument types.
affects: >=0.6.0
Upgrade
Version history
0.6.1latest on PyPI · released Oct 23, 2025
Audit
Dependencies

No dependency data recorded yet.

Agent activity
8 hits · last 30 days
node
6
Resources
manimpango — pip install manimpango · libregistry