Skip to content

Installation

glyphkit supports Python 3.10 to 3.13. It is on PyPI as a pre-release, so uv needs --prerelease allow.

uv add --prerelease allow glyphkit
uv add --prerelease allow "glyphkit[portable]"  # WOFF2 subset payloads
uv add "glyphkit==1.0.0b4"                       # pin one release

The base installation includes FontTools, HarfBuzz bindings (uharfbuzz), Unicode segmentation (uniseg) and bidirectional-text support (python-bidi). The portable extra adds Brotli, which WOFF2 output needs; SFNT subsets work without it. No renderer is installed.

Fonts are not installed either. GlyphKit reads only the fonts that you pass in, so the examples assume a fonts/ folder next to the script. They use Source Sans 3 and Noto Sans TC, both open-source families, and STIX Two Math for mathematics.

For development:

git clone https://github.com/EconViz/glyphkit.git
cd glyphkit
uv sync --all-extras
uv run pytest
uv run ruff check .
uv run mypy
uv run lint-imports

Comments