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.

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

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 .

You will need to this way if you want to contribute to ManimPango.

Please remember to do this inside your poetry shell, if you want to use your Manimpango with Manim.

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.

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.2.5.post0.tar.gz (455.2 kB view details)

Uploaded Source

Built Distributions

ManimPango-0.2.5.post0-cp39-cp39-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.9 Windows x86-64

ManimPango-0.2.5.post0-cp39-cp39-win32.whl (3.2 MB view details)

Uploaded CPython 3.9 Windows x86

ManimPango-0.2.5.post0-cp39-cp39-macosx_10_9_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

ManimPango-0.2.5.post0-cp38-cp38-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.8 Windows x86-64

ManimPango-0.2.5.post0-cp38-cp38-win32.whl (3.2 MB view details)

Uploaded CPython 3.8 Windows x86

ManimPango-0.2.5.post0-cp38-cp38-macosx_10_9_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

ManimPango-0.2.5.post0-cp37-cp37m-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.7m Windows x86-64

ManimPango-0.2.5.post0-cp37-cp37m-win32.whl (3.2 MB view details)

Uploaded CPython 3.7m Windows x86

ManimPango-0.2.5.post0-cp37-cp37m-macosx_10_9_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

ManimPango-0.2.5.post0-cp36-cp36m-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.6m Windows x86-64

ManimPango-0.2.5.post0-cp36-cp36m-win32.whl (3.2 MB view details)

Uploaded CPython 3.6m Windows x86

ManimPango-0.2.5.post0-cp36-cp36m-macosx_10_9_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file ManimPango-0.2.5.post0.tar.gz.

File metadata

  • Download URL: ManimPango-0.2.5.post0.tar.gz
  • Upload date:
  • Size: 455.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

File hashes

Hashes for ManimPango-0.2.5.post0.tar.gz
Algorithm Hash digest
SHA256 c33d073d4389ad93bbac13029b8a0da5d8ee0b8fe7f282379ff95012e34d324e
MD5 b91ecd4fc652ee2ad2597c66c41e7c7b
BLAKE2b-256 2e22537342bba4bb39f3c47147e5002cc7029285cac3fbdeec31eb85642baa1d

See more details on using hashes here.

Provenance

File details

Details for the file ManimPango-0.2.5.post0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: ManimPango-0.2.5.post0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.9.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.9

File hashes

Hashes for ManimPango-0.2.5.post0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 aad57df6ec62585f52c662b84f2d5ff2c686daa8ca753326b6cde8b798c4da96
MD5 79cb7315d43a5e5c83d38430eef5d46b
BLAKE2b-256 1e65e959983e8921febdc3814d002d95226cc9efa4b0c146272ab6f7bb934b1b

See more details on using hashes here.

Provenance

File details

Details for the file ManimPango-0.2.5.post0-cp39-cp39-win32.whl.

File metadata

  • Download URL: ManimPango-0.2.5.post0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.9.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.9

File hashes

Hashes for ManimPango-0.2.5.post0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 139469a6130270e3cf94c4b01fa9b17dc516170a11b901ff0ce0f6cdff6752e9
MD5 6098f9e6bc480874805dfb5bcae752e5
BLAKE2b-256 06a8fee2ee225133185ba2464b673c871ce09939ceda3d757c623df6cabf72ac

See more details on using hashes here.

Provenance

File details

Details for the file ManimPango-0.2.5.post0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: ManimPango-0.2.5.post0-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10

File hashes

Hashes for ManimPango-0.2.5.post0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e3694ae99ef758a8eaf847f77b0fa2bf7318ed2ee55a32b3a3bb155dd2d6ec9b
MD5 e07a967849a94d54d4916ebcd527a534
BLAKE2b-256 295a8449571a2c9ae65fa2d195791fe99a0799530596383a8d2902bf19c6eb91

See more details on using hashes here.

Provenance

File details

Details for the file ManimPango-0.2.5.post0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: ManimPango-0.2.5.post0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.9.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.9

File hashes

Hashes for ManimPango-0.2.5.post0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 2876c64724a73893ba22c250ddf603724865c650a925ddca76102eea0e489373
MD5 2ec84be756211c23af48f2b62da2497f
BLAKE2b-256 102c96f74f9b94c7263b4b6f60ea1c079336c328488e6007ad1eb0c13d5d70c0

See more details on using hashes here.

Provenance

File details

Details for the file ManimPango-0.2.5.post0-cp38-cp38-win32.whl.

File metadata

  • Download URL: ManimPango-0.2.5.post0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.9.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.9

File hashes

Hashes for ManimPango-0.2.5.post0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 db877a3a037739ce2f647f747bc750c7e9a881ce5175a4ad764170f24fb2d68a
MD5 83a2855a057cf00aa1dc7c1e514a7939
BLAKE2b-256 d91f0741b36db9f883facd3f91120f497a2ca017f9455cb3aad6339335a3fd69

See more details on using hashes here.

Provenance

File details

Details for the file ManimPango-0.2.5.post0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: ManimPango-0.2.5.post0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10

File hashes

Hashes for ManimPango-0.2.5.post0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 978bcf4c6cf145f723ec551ed18a1959f6952f100d61c7b4431939ee850f9308
MD5 0cb6742587eec1151af06cf32acfb6b7
BLAKE2b-256 202ad6fddbc49328918ba6b1e2f73eb7f6f25d0ccea17cb1acfed225c5293e5c

See more details on using hashes here.

Provenance

File details

Details for the file ManimPango-0.2.5.post0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: ManimPango-0.2.5.post0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.9.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.9

File hashes

Hashes for ManimPango-0.2.5.post0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 3bef549783fc5e3f39598880e7cc41bb44dc2e37ceb8c7e20f0381fd8d67b3e8
MD5 7732c58a189f8ce67cb93c709931f2a5
BLAKE2b-256 52e4f0b58b375af8a4642ee4137823841bdfc942c0e05374cb27ff477505d582

See more details on using hashes here.

Provenance

File details

Details for the file ManimPango-0.2.5.post0-cp37-cp37m-win32.whl.

File metadata

  • Download URL: ManimPango-0.2.5.post0-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.9.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.9

File hashes

Hashes for ManimPango-0.2.5.post0-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 d9cc5ac80dd363fd4f3fa233f7fad74e9749965b6e4af10a2174f946fe1d9813
MD5 5910d9aa1e2340bfa1daed6b9c6798bf
BLAKE2b-256 41657197ed284e88b2f888ff02dc7f3aa2187fbbb8fe8acb57b5825c07d235fe

See more details on using hashes here.

Provenance

File details

Details for the file ManimPango-0.2.5.post0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: ManimPango-0.2.5.post0-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10

File hashes

Hashes for ManimPango-0.2.5.post0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 70e59f888ca5ad0be37777f761cee8fb3d6e28c5d949e5da13f727326b46da60
MD5 24e3c877e3f9e753fe131c33658d3373
BLAKE2b-256 091428f5c5437d9a4d01424248df2e0816ebc0e7812c7da40bcf85044ee45de4

See more details on using hashes here.

Provenance

File details

Details for the file ManimPango-0.2.5.post0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: ManimPango-0.2.5.post0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.9.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.9

File hashes

Hashes for ManimPango-0.2.5.post0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 87e205f5a35ff5504104cd30b8d086e9f97c17f95cf490de7cc1d4aa8c2a8425
MD5 471f4f7dfbc03edba8a66450234c7da1
BLAKE2b-256 3f36588ad22058212ef8ebc434332cc1f29f4297b96e92534058efe7b9132e64

See more details on using hashes here.

Provenance

File details

Details for the file ManimPango-0.2.5.post0-cp36-cp36m-win32.whl.

File metadata

  • Download URL: ManimPango-0.2.5.post0-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.9.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.9

File hashes

Hashes for ManimPango-0.2.5.post0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 ac33cc00a89aabe7459043b7aab8851e4ec4c7fa78cea2b3dacb618b2b03c98b
MD5 23adf8767dbae36f6daf7e3f9c96ad23
BLAKE2b-256 2db756356a13890c446703e7c5ea68a2763b77ac42e2aae30490bed4f9418e56

See more details on using hashes here.

Provenance

File details

Details for the file ManimPango-0.2.5.post0-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: ManimPango-0.2.5.post0-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10

File hashes

Hashes for ManimPango-0.2.5.post0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 53f754594ccedeaf464028777d4502fb31f2251b9dca7e99b40786b3e4ff394d
MD5 6928adcf6d33fa7d99005bc5fda67159
BLAKE2b-256 c1aaa7bb28b5c5226f83563b3b866c2bb3cf4c6609ddb28dc22158d25b844c9d

See more details on using hashes here.

Provenance

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