Skip to main content

Bindings for Pango for using with Manim.

Project description

ManimPango

PyPI Latest Release PyPI - Wheel PyPI - Downloads PyPI - License PyPI - Python Version Documentation Status

ManimPango is a C binding for Pango using Cython, which is internally used in Manim to render (non-LaTeX) text.

INSTALL

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.

WORKFLOW SETUP / CONTRIBUTING

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

BUILDING

Linux/MacOS

For building ManimPango, you need

  • a C compiler
  • Python's development headers
  • pkg-config
  • Pango along with its development headers and its dependencies.

If you are on MacOS, you can use brew to install those. Using MacPorts is also possible, but their version of Pango is old and will probably not be updated in the near future.

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.

Using tar archives

If 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.

Using git clones / Contributing

Please 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.

Contributing with Windows

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:

  1. MinGW/Msys2

  2. Visual Studio

MinGW/Msys2

  1. Download MSYS2 from the download link provided on their page https://www.msys2.org/#installation and install it according to their instructions.
  2. Once you have MSYS2 installed, it offers you three different shells: the MinGW32 shell, the MinGW64 shell and MSYS shell. In order for the following steps to work, you have to open the MSYS2 MinGW64 shell (you can search for this). Small hint: it has a blue color logo.
  3. Run the following commands to install Python, Pango, Cython, Numpy, Scipy, Pillow, Pycairo and ffmpeg
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
  1. Still in the same shell, install Manim using pip install manim.
  2. Finally, get your clone of ManimPango, 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.
  3. You can then use 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.

Visual Studio

First, install Visual Studio as specified in https://wiki.python.org/moin/WindowsCompilers. Possibly Visual Studio Build Tools 2019 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 and C:\cibw\vendor\pkg-config\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 .

Important: You have to to use https://docs.python.org/3/library/os.html#os.add_dll_directory before running ManimPango. Alternatively, you need to copy the dll at C:\cibw\vendor\bin to the folder where ManimPango is compiled. This is applicable for Python 3.8 and above.

import os
os.add_dll_directory('C:\cibw\vendor\bin')

Code of Conduct

Our full code of conduct, and how we enforce it, can be read on our website.

License

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ManimPango-0.4.3.tar.gz (4.1 MB view details)

Uploaded Source

Built Distributions

ManimPango-0.4.3-cp311-cp311-win_amd64.whl (4.1 MB view details)

Uploaded CPython 3.11 Windows x86-64

ManimPango-0.4.3-cp311-cp311-win32.whl (3.4 MB view details)

Uploaded CPython 3.11 Windows x86

ManimPango-0.4.3-cp311-cp311-macosx_10_9_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

ManimPango-0.4.3-cp310-cp310-win_amd64.whl (4.1 MB view details)

Uploaded CPython 3.10 Windows x86-64

ManimPango-0.4.3-cp310-cp310-win32.whl (3.4 MB view details)

Uploaded CPython 3.10 Windows x86

ManimPango-0.4.3-cp310-cp310-macosx_10_9_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

ManimPango-0.4.3-cp39-cp39-win_amd64.whl (4.1 MB view details)

Uploaded CPython 3.9 Windows x86-64

ManimPango-0.4.3-cp39-cp39-win32.whl (3.4 MB view details)

Uploaded CPython 3.9 Windows x86

ManimPango-0.4.3-cp39-cp39-macosx_10_9_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

ManimPango-0.4.3-cp38-cp38-win_amd64.whl (4.1 MB view details)

Uploaded CPython 3.8 Windows x86-64

ManimPango-0.4.3-cp38-cp38-win32.whl (3.4 MB view details)

Uploaded CPython 3.8 Windows x86

ManimPango-0.4.3-cp38-cp38-macosx_10_9_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

ManimPango-0.4.3-cp37-cp37m-win_amd64.whl (4.1 MB view details)

Uploaded CPython 3.7m Windows x86-64

ManimPango-0.4.3-cp37-cp37m-win32.whl (3.4 MB view details)

Uploaded CPython 3.7m Windows x86

ManimPango-0.4.3-cp37-cp37m-macosx_10_9_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

File details

Details for the file ManimPango-0.4.3.tar.gz.

File metadata

  • Download URL: ManimPango-0.4.3.tar.gz
  • Upload date:
  • Size: 4.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.14

File hashes

Hashes for ManimPango-0.4.3.tar.gz
Algorithm Hash digest
SHA256 732f1cb98bcc122c0dee93bb54966aa595f90730e5096ad6d86602cf4ba1a103
MD5 6b3e6a32ad42d18b44aefe1cce29ab06
BLAKE2b-256 2b2ea426d0b799747de3da775d56116128a23b2a2c4836fb97daea30137a5e1f

See more details on using hashes here.

File details

Details for the file ManimPango-0.4.3-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for ManimPango-0.4.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 302c5e157d1b188759e84b44da85e396180cbcaf71bad3adf7792fc2cbad29fd
MD5 10f3a1a61679bca83215a103cb906930
BLAKE2b-256 f5869f79d16ab2c4fa439046b156f2e029eca69e4fe27999aea118d1c99de617

See more details on using hashes here.

File details

Details for the file ManimPango-0.4.3-cp311-cp311-win32.whl.

File metadata

  • Download URL: ManimPango-0.4.3-cp311-cp311-win32.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for ManimPango-0.4.3-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 4039228b466fd56fbcd38d451ebbbc77124af09b9a047f07964334b1debe9881
MD5 3e95f215a0abf428b86dd792d1148458
BLAKE2b-256 6c2f5af0913b1ee476b869ead493ec23d7b1377475e689b6d90ac79fe1978294

See more details on using hashes here.

File details

Details for the file ManimPango-0.4.3-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ManimPango-0.4.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 138e4fc9805132b39c490e49327687b1518d9e4ccc7d3c34c8b40367605ec0d9
MD5 585a781852267d197cd97cceb8417bd7
BLAKE2b-256 8f3f70e41baa91f4b38ddeab10025983ee5491ed975b1c769776ad0b3f8e3e09

See more details on using hashes here.

File details

Details for the file ManimPango-0.4.3-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for ManimPango-0.4.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6ce45a782d844fbc6d6476334b1bf9855697466f6eb299491108dfb45bf45211
MD5 5086f63c54601273424de0e4d3fcf935
BLAKE2b-256 ef4148324437f73517ab7e7e9fbe3ea9d54f35381376f38a682f671394dc89a0

See more details on using hashes here.

File details

Details for the file ManimPango-0.4.3-cp310-cp310-win32.whl.

File metadata

  • Download URL: ManimPango-0.4.3-cp310-cp310-win32.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for ManimPango-0.4.3-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 49ebf511467e5feb32427a9d4a61a381b52c41b02facdfbdeee9d8ff49cbdf14
MD5 20c925bdf8cbd5a8f24cffb47dedf99b
BLAKE2b-256 6e53f3252ed2ca3e71f6ca6a3a50be8c1f37bde53e44b8e532e673b2656ad7dc

See more details on using hashes here.

File details

Details for the file ManimPango-0.4.3-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ManimPango-0.4.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ad4f43f3c009a9c2f37607f1a4c51bcb3cde0911f2cf262cb7797b44556d005e
MD5 79ad3c937b00024c7f9712ee2554350d
BLAKE2b-256 6ba9c6afece1c560147f283d0cfd279dd98f4c9403259c952997f2d9eb8cd216

See more details on using hashes here.

File details

Details for the file ManimPango-0.4.3-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for ManimPango-0.4.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 5f3430fccc6270812b2f0ebaa01d653cfaea517821b04260a8e706e19ce18a76
MD5 ca991bfc31586c35cd59560db49757cd
BLAKE2b-256 07cb24528574fb69c1cd9bb801c46b1debcba54d57cae923a63b76accb92e097

See more details on using hashes here.

File details

Details for the file ManimPango-0.4.3-cp39-cp39-win32.whl.

File metadata

  • Download URL: ManimPango-0.4.3-cp39-cp39-win32.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for ManimPango-0.4.3-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 cb2bc381a301fca5b27ff73169db2be7d3f42eddd6812216fb0e2e6be07c7e79
MD5 129142fc1d3082adebfbef8f155fcad5
BLAKE2b-256 295fdbd6874bc01083640cc42aaeb9afeac8795f586b2cbd11ea76fa24a5f9e8

See more details on using hashes here.

File details

Details for the file ManimPango-0.4.3-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ManimPango-0.4.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b9dc620362e5ff1e984a9801d2886a70a48561c13976e83c1e9f3bd0a18618a1
MD5 b6a1f9dab22d38302b1a2af48599aa33
BLAKE2b-256 e101887a6891d939c8895b5608dd54c827e0119dfaa3e4fd8de7ef4f43397357

See more details on using hashes here.

File details

Details for the file ManimPango-0.4.3-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for ManimPango-0.4.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 edfdbf355be331dc489fcaf67521e26f3c00ed1f084308d96b5e5ab244c3fba0
MD5 c543bfaa117f0e41feb9cff276f308bf
BLAKE2b-256 fadad3b08275a32922050c28b70361a4c26bbdc1850e1a22d54d0ea1ab6325c9

See more details on using hashes here.

File details

Details for the file ManimPango-0.4.3-cp38-cp38-win32.whl.

File metadata

  • Download URL: ManimPango-0.4.3-cp38-cp38-win32.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for ManimPango-0.4.3-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 c31d5581a14b9644ad6fa2645fa5a171048d204f7c47be62e9dc31af2e48bd8a
MD5 23a4bab14eb9fc2cdd5becb877b0b78e
BLAKE2b-256 098dcee21910905e56b8d5ca7a29074b26c945d08fe65b3ee7b44520b752e656

See more details on using hashes here.

File details

Details for the file ManimPango-0.4.3-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ManimPango-0.4.3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6ff3d7c02195bc7b38146c1de7acb69e7588670976f260a93dd83436ccd85ab8
MD5 67a1df2516f22e4c0d431f08f574a35e
BLAKE2b-256 c568f4c3ab414023139251d8e1ae6c318c7d996f86999d4a784d422322204231

See more details on using hashes here.

File details

Details for the file ManimPango-0.4.3-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for ManimPango-0.4.3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 58d6119f64f4ba1e0ae11c3edd115616780e113701359593cb3a4d11b7ff7d64
MD5 3c25c72c30d52c9079a9ad766fde4762
BLAKE2b-256 3d0c042d78a8a3db4427a23ea722c647ca0fa1883bc95033b48f8f800de99d4e

See more details on using hashes here.

File details

Details for the file ManimPango-0.4.3-cp37-cp37m-win32.whl.

File metadata

  • Download URL: ManimPango-0.4.3-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for ManimPango-0.4.3-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 bf1712059111378558b36d3b73f2ed47b0431e2f7b9706887735c81e64b7d004
MD5 09a41570f6fbbbb17ab9ae91adc676b8
BLAKE2b-256 e2167038ed0be7c7c039fcca854e570c333b3d91212de970a5c9ad42e881d556

See more details on using hashes here.

File details

Details for the file ManimPango-0.4.3-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ManimPango-0.4.3-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d03a13712376d25ef4679a17a8584533a1405d315d66d317934d6d576786eea6
MD5 60ef0a5486ca01dc957a7a3f8c428e9c
BLAKE2b-256 211c797a255ebccc53b3919316f2e073534fd57163eac1d0998d83fe8a30cdbd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page