Registry / serialization / afdko
library5.0.1pypypi✓ verified 84d ago

AFDKO is Adobe's font development toolkit for building and manipulating OpenType font files. It provides command-line tools and a Python API for tasks such as compiling OpenType feature code (feaLib), merging fonts, and validating fonts. The current version is 5.0.0, requiring Python >=3.10. Releases follow Adobe's internal schedule; check GitHub for latest.

pip install afdko
INSTALL
IMPORT
SIG · AFDKO
A
afdko
serializationpythonv5.0.1
Install
5.3s avg
Import
26ms
Disk
83MB
Pass rate
5/ 10
Env Coverage5 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v5.0.1 · pip install
no network on importno background threads
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.95 runs
build_error
glibc
py 3.103.95 runs
installs and imports cleanly · install 5.3s · import 0.026s · 85MB
83MB installed
● package 83MB
Code
Verified usage

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

feaLib
from fontTools.feaLib import *
from afdko.feaLib import *
feaLib is part of fonttools, not directly in afdko. AFDKO uses fonttools internally.
build
from fontTools import ttx
from afdko import build
The build function is in fontTools.TTX or fontTools.varLib. afdko provides command-line scripts, not a Python build function.

Quick example using fontTools feaLib (distributed with afdko but imported from fontTools).

# AFDKO is primarily used via command-line tools. # To compile OpenType feature code, use the makeotf command after installing. # In Python, you typically use fontTools: from fontTools.feaLib.builder import addOpenTypeFeaturesFromString from fontTools.ttLib import TTFont # Load a font, add features, save font = TTFont('input.ttf') features = """ feature liga { sub f i by f_i; } liga; """ addOpenTypeFeaturesFromString(font, features) font.save('output.ttf')
Debug
Known issues
breakingAFDKO v3.0+ moved the Python API from afdko to fonttools. Direct imports from afdko (e.g., `from afdko.feaLib`) will fail.
fix
Use `from fontTools.feaLib` instead.
affects: >=3.0
deprecatedThe `tx` tool (used for CFF manipulation) is deprecated; use `fonttools` subcommands instead.
fix
Replace `tx` calls with `fonttools varLib`, `fonttools ttx`, or similar.
affects: >=4.0
breakingPython 3.10+ required. AFDKO 5.x drops support for Python <3.10.
fix
Upgrade Python to 3.10 or later, or pin afdko to 4.x if needed.
affects: 5.0.0
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'afdko.feaLib'
Trying to import feaLib from afdko instead of fontTools.
fix
Use `from fontTools.feaLib import builder` instead.
AttributeError: module 'fontTools' has no attribute 'afdko'
Mistakenly trying to access afdko as a submodule of fontTools.
fix
AFDKO is a separate package. Import fontTools directly for font operations.
OSError: [Errno 8] Exec format error: '/path/to/makeotf'
The makeotf binary is not executable or not present (common on Windows or when installing via pip without build tools).
fix
Ensure you have compiled AFDKO binaries. On Windows, consider using WSL or precompiled binaries from GitHub releases.
Upgrade
Version history
5.0.1latest on PyPI · released May 18, 2026
Audit
Dependencies

No dependency data recorded yet.

Agent activity
55 hits · last 30 days
node
48
OpenAI (training)
1
Resources
afdko — pip install afdko · libregistry