Thanks to visit codestin.com
Credit goes to lib.rs

#python-bindings #search #pyo3 #font-lab #cache #typg

typg-python

PyO3 bindings for typg-core (made by FontLab https://www.fontlab.com/)

10 stable releases

5.0.19 May 26, 2026
5.0.13 Apr 8, 2026
5.0.11 Apr 7, 2026
1.0.1 Apr 3, 2026

#511 in Caching

MIT license

22MB
3K SLoC

Contains (Mach-o library, 22MB) libtypg_python.dylib

Python bindings for typg.

These bindings expose the same query model as the Rust CLI: live scans, in-memory filtering of cached metadata, and optional indexed search when the hpindex feature is enabled.

Search functions return Python dictionaries shaped like: { "path": str, "ttc_index": int | None, "metadata": { ... } }.

Built by FontLab (https://www.fontlab.com/).


typg (PyPI)

PyO3 bindings for typg-core (made by FontLab https://www.fontlab.com/), exposed on PyPI as typg with a Fire-based CLI wrapper.

Build

uv venv --python 3.12
uv pip install maturin
uv run maturin develop --features extension-module

Usage

from typg import find, filter_cached

results = find([\"/Library/Fonts\"], axes=[\"wght\"], variable=True, jobs=4)
print(len(results))

weighted = find([\"/Library/Fonts\"], weight=\"300-500\", width=\"5\")
print(\"weight/width matches\", len(weighted))

CLI:

typgpy find --paths /Library/Fonts --axes wght --weight 300-500 --variable --jobs 4

Dependencies

~6–11MB
~207K SLoC