Skip to main content

CI Build Status Coverage PyPI Python Versions

FontParts

An API for interacting with the parts of fonts during the font development process. FontParts is the replacement for RoboFab. The project has a MIT open-source licence.

The documentation is at fontparts.robotools.dev.

This is a work in progress. We are still working out the API, abstract implementation, example implementation, test suite and documentation.

Want to contribute?

Thank you! Please see the CONTRIBUTING.rst file for a guide on how to help.

Also, feedback is very much welcome, please open an issue when you run into something that you wish fontParts did/didn’t do.

We ask that you work against the dev branch, the main branch is for releases only as of July 2026.

Installation

FontParts requires Python 3.10 or later.

The package is listed in the Python Package Index (PyPI), so you can install it with pip:

pip install fontParts

If you would like to contribute to its development, you can clone the repository from Github, install the package in ‘editable’ mode and modify the source code in place. We recommend creating a virtual environment, using the venv module.

# download the source code to 'fontParts' folder
git clone https://github.com/robotools/fontParts.git
cd fontParts

# create new virtual environment called e.g. 'fontParts-venv', or anything you like
python -m venv fontParts-venv

# source the `activate` shell script to enter the environment (Un\*x); to exit, just type `deactivate`
. fontParts-venv/bin/activate

# to activate the virtual environment in Windows `cmd.exe`, do
fontParts-venv\Scripts\activate.bat

# install in 'editable' mode
pip install -e .

Roadmap

We are still working on further tests, but are a stable 1.0 release.

  • 0.8 Initial releases. Python 2 & 3. 2018-09-21

  • 0.9 Python 3 only. 2019-08-30

  • 1.0 Documentation and testing mostly complete. Added typing. 2026-05-28

  • 1.5 Removal of Deprecated. Released 1 year after 1.0.

Testing

Testing is setup so that each environment that includes fontParts can provides the objects needed to run a common set of tests. This makes testing very easy for environments that use fontParts (for example, see the fontshell test.py script), but it means testing is different than other python packages.

Automated testing of the package is done in the fontshell environment. fontshell is fontParts for the commandline, implemented with defcon and is included as part of the fontParts package.

Before you can run the test suite you’ll need to install the test dependencies:

pip install -r requirements-dev.txt

To run the test suite you can do:

python Lib/fontParts/fontshell/test.py

To test in other environments, run the test script provided by that environment.

Release files for fontParts 1.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fontParts 1.1.1
File Size Uploaded
fontparts-1.1.1.tar.gz 514.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fontParts 1.1.1
File Interpreter ABI Platform
fontparts-1.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 731.4 kB

Release files / fontparts-1.1.1.tar.gz

Download URL fontparts-1.1.1.tar.gz
Size 514.8 kB
Tags Source
SHA-256 checksum
How to use checksums
7ceed66dc176c05f2274e9d09b401b124ce00c46e758e4fecb7f5f19f3d34c61
BLAKE2b-256 checksum
How to use checksums
b2b846c8fab6449666ad1aa21b84e8b80f1a83d1b30693e425269af1fdd6ded0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 9, 2026.

Transparency log

Release files / fontparts-1.1.1-py3-none-any.whl

Download URL fontparts-1.1.1-py3-none-any.whl
Size 216.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ded197fabc2c28a2bf2d9bcbfd127aa46e0f741f7d17e1aa39568ee02df7132d
BLAKE2b-256 checksum
How to use checksums
4d23e563e22db847b713f48107c91215f846071e1ce5f36280d8b0cd66e17427
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 9, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.14.2

2 release files

0.14.1

2 release files

0.14.0

2 release files

0.13.4

2 release files

0.13.3

2 release files

0.13.2

2 release files

0.13.1

2 release files

0.13.0

2 release files

0.12.7

2 release files

0.12.6

2 release files

0.12.5

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.10.7

2 release files

0.10.6

2 release files

0.10.5

2 release files

0.10.4

2 release files

0.10.3

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.9

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.9

2 release files

0.8.8

2 release files

0.8.7

2 release files

0.8.6

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page