Skip to main content

uharfbuzz

uharfbuzz Logo

Build + Deploy PyPI Documentation Status

Streamlined Cython bindings for the HarfBuzz shaping engine.

Example

import sys

import uharfbuzz as hb


fontfile = sys.argv[1]
text = sys.argv[2]

blob = hb.Blob.from_file_path(fontfile)
face = hb.Face(blob)
font = hb.Font(face)

buf = hb.Buffer()
buf.add_str(text)
buf.guess_segment_properties()

features = {"kern": True, "liga": True}
hb.shape(font, buf, features)

infos = buf.glyph_infos
positions = buf.glyph_positions

for info, pos in zip(infos, positions):
    gid = info.codepoint
    glyph_name = font.glyph_to_string(gid)
    cluster = info.cluster
    x_advance = pos.x_advance
    y_advance = pos.y_advance
    x_offset = pos.x_offset
    y_offset = pos.y_offset
    print(
        f"{glyph_name=} {gid=} {cluster=} "
        f"{x_advance=} {y_advance=} "
        f"{x_offset=} {y_offset=}"
    )

Installation

When building the uharfbuzz package, it automatically incorporates minimal HarfBuzz sources so you don't have to install the native HarfBuzz library.

However, if you want to use uharfbuzz with your system-provided HarfBuzz (e.g., if you built it from sources with custom configuration), you can set USE_SYSTEM_LIBS=1 environment variable (see example below).

USE_SYSTEM_LIBS=1 pip install uharfbuzz --no-binary :uharfbuzz:

harfbuzz installation is found using pkg-config, so you must have harfbuzz's .pc files in your system. If you've built it from sources, meson installs them automatically. Otherwise, you may want to install harfbuzz development package, like harfbuzz-devel on Fedora-derived distros.

How to make a release

Use git tag -a to make a new annotated tag, or git tag -s for a GPG-signed annotated tag, if you prefer.

Name the new tag with with a leading ‘v’ followed by three MAJOR.MINOR.PATCH digits, like in semantic versioning. Look at the existing tags for examples.

In the tag message write some short release notes describing the changes since the previous tag. The subject line will be the release name and the message body will be the release notes.

Finally, push the tag to the remote repository (e.g. assuming upstream is called origin):

$ git push origin v0.4.3

This will trigger the CI to build the distribution packages and upload them to the Python Package Index automatically, if all the tests pass successfully. The CI will also automatically create a new Github Release and use the content of the annotated git tag for the release notes.

Release files for uharfbuzz 0.56.2

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

Source distribution (sdist)

Source distribution for uharfbuzz 0.56.2
File Size Uploaded
uharfbuzz-0.56.2.tar.gz 39.6 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for uharfbuzz 0.56.2
File
uharfbuzz-0.56.2-pp311-pypy311_pp73-win_amd64.whl PyPy 3.11 PyPy 3.11 7.3 Windows x86-64 Details
uharfbuzz-0.56.2-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
uharfbuzz-0.56.2-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
uharfbuzz-0.56.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl PyPy 3.11 PyPy 3.11 7.3 macOS 11.0+ ARM64 Details
uharfbuzz-0.56.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 macOS 10.15+ x86-64 Details
uharfbuzz-0.56.2-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
uharfbuzz-0.56.2-cp310-abi3-win32.whl CPython 3.10 abi3 Windows x86-32 Details
uharfbuzz-0.56.2-cp310-abi3-pyemscripten_2026_0_wasm32.whl CPython 3.10 abi3 PyEmscripten 2026.0+ WebAssembly Details
uharfbuzz-0.56.2-cp310-abi3-pyemscripten_2025_0_wasm32.whl CPython 3.10 abi3 PyEmscripten 2025.0+ WebAssembly Details
uharfbuzz-0.56.2-cp310-abi3-musllinux_1_2_x86_64.whl CPython 3.10 abi3 Linux musl 1.2+ x86-64 Details
uharfbuzz-0.56.2-cp310-abi3-musllinux_1_2_aarch64.whl CPython 3.10 abi3 Linux musl 1.2+ ARM64 Details
uharfbuzz-0.56.2-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
uharfbuzz-0.56.2-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 abi3 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
uharfbuzz-0.56.2-cp310-abi3-macosx_10_9_universal2.whl CPython 3.10 abi3 macOS 10.9+ universal2 (ARM64, x86-64) Details

Total release size: 65.8 MB

Release files / uharfbuzz-0.56.2.tar.gz

Download URL uharfbuzz-0.56.2.tar.gz
Size 39.6 MB
Tags Source
SHA-256 checksum
How to use checksums
303cd60c329bc4d88053ca03eb752476b51ca023944051c33710534dbc4fdac6
BLAKE2b-256 checksum
How to use checksums
90cbb87e1e470e43c6d0b8edd9b5ed968c4465c3de5391a0f253edb0df1a9f18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 21, 2026.

Transparency log

Release files / uharfbuzz-0.56.2-pp311-pypy311_pp73-win_amd64.whl

Download URL uharfbuzz-0.56.2-pp311-pypy311_pp73-win_amd64.whl
Size 1.5 MB
Tags PyPy 3.11 PyPy 3.11 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
0273e92706d2a4aca3bae4612becc170c21e0e5d36195491dc367221a7f18a70
BLAKE2b-256 checksum
How to use checksums
0a77fde1f6b8b3dc6ef597564e22f437377d2a4c672d233ee65a8fb3923673d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 21, 2026.

Transparency log

Release files / uharfbuzz-0.56.2-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL uharfbuzz-0.56.2-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.9 MB
Tags Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
b11a4db946cd73796c4b900f4134d15e217327eba9d09657afe4b101d18bf043
BLAKE2b-256 checksum
How to use checksums
5f96dabc54da793b5db39354a774254a0019602c3caf972be67ef160cd2dc101
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 21, 2026.

Transparency log

Release files / uharfbuzz-0.56.2-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL uharfbuzz-0.56.2-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 1.8 MB
Tags Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
393a650a42bfefe9b92e5dbc5db60b341920791cfabc7a20c8563c3e24ba60db
BLAKE2b-256 checksum
How to use checksums
77a9742c07b048cee5156eaee149b4c54e01826c19021997a0cf67f47010c5d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 21, 2026.

Transparency log

Release files / uharfbuzz-0.56.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl

Download URL uharfbuzz-0.56.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl
Size 1.5 MB
Tags PyPy 3.11 PyPy 3.11 7.3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7c54e61a338c4e1609d5152737f50d8db4edc204a795ad5e318be08fd7fa2a3d
BLAKE2b-256 checksum
How to use checksums
aab9144faa89864739530545e4b3abca471655c916b17691666e439604d68c88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 21, 2026.

Transparency log

Release files / uharfbuzz-0.56.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl

Download URL uharfbuzz-0.56.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
Size 1.7 MB
Tags PyPy 3.11 PyPy 3.11 7.3 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
51e4173a16bd7747b16d654120198b086a1f98e1178351a1cdbefa5c40bf2b10
BLAKE2b-256 checksum
How to use checksums
3c2079342eef2b9019bb10e92a745db631d3f11cce4bc2f07f53bb4d2a00cd36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 21, 2026.

Transparency log

Release files / uharfbuzz-0.56.2-cp310-abi3-win_amd64.whl

Download URL uharfbuzz-0.56.2-cp310-abi3-win_amd64.whl
Size 1.5 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
49450c32c32d7ea5e0a36211c08dc4b8c5b76460ec09532a8c77baa297c98792
BLAKE2b-256 checksum
How to use checksums
09347f05bf99dc91e60174721c6ce7efd03ec1dec4f7064717d217f1a57cc3e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 21, 2026.

Transparency log

Release files / uharfbuzz-0.56.2-cp310-abi3-win32.whl

Download URL uharfbuzz-0.56.2-cp310-abi3-win32.whl
Size 1.1 MB
Tags CPython 3.10 Windows x86-32 abi3
SHA-256 checksum
How to use checksums
879457ff2ba12e3c24fca1a3664575000a339e7080e1488e70ae06b8aee2effb
BLAKE2b-256 checksum
How to use checksums
e9ef3771dd31c0984baa46295fe0744073f1a28d07548e0cc7863d8745f8b1c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 21, 2026.

Transparency log

Release files / uharfbuzz-0.56.2-cp310-abi3-pyemscripten_2026_0_wasm32.whl

Download URL uharfbuzz-0.56.2-cp310-abi3-pyemscripten_2026_0_wasm32.whl
Size 935.9 kB
Tags CPython 3.10 PyEmscripten 2026.0+ WebAssembly abi3
SHA-256 checksum
How to use checksums
11c91af9678d8df46b8d4ce98dc49d892ee96445721427f90cdcbf18e71247b5
BLAKE2b-256 checksum
How to use checksums
8a7ef5c9c10ae30bf7a05f2f380a7cd5de78937d4021b5e4de853842205bffad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 21, 2026.

Transparency log

Release files / uharfbuzz-0.56.2-cp310-abi3-pyemscripten_2025_0_wasm32.whl

Download URL uharfbuzz-0.56.2-cp310-abi3-pyemscripten_2025_0_wasm32.whl
Size 938.5 kB
Tags CPython 3.10 PyEmscripten 2025.0+ WebAssembly abi3
SHA-256 checksum
How to use checksums
5d926745fc0b132f152d7b184e6d15bfbfa987a190963c2f841cf046c4bdc4e2
BLAKE2b-256 checksum
How to use checksums
3dfa195efa66ed3b3fac356dd68656acc35bcd776e4a3327f8c150d18fbe9712
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 21, 2026.

Transparency log

Release files / uharfbuzz-0.56.2-cp310-abi3-musllinux_1_2_x86_64.whl

Download URL uharfbuzz-0.56.2-cp310-abi3-musllinux_1_2_x86_64.whl
Size 3.1 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
3745a5483aef5f2c8604f0154100a659fe2344da1f969429cc1fa655b2239624
BLAKE2b-256 checksum
How to use checksums
04362e9da610090e3a492610ef5eec1120cc33352bc3460a82f98e01b2ad79aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 21, 2026.

Transparency log

Release files / uharfbuzz-0.56.2-cp310-abi3-musllinux_1_2_aarch64.whl

Download URL uharfbuzz-0.56.2-cp310-abi3-musllinux_1_2_aarch64.whl
Size 2.9 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
99aacca583273f5264d3d1a116d69d950034afd795edc74ba96faeb4c27ce8d2
BLAKE2b-256 checksum
How to use checksums
2591589632ccd62ed43be81c735e385018765aec015bb794f433ff006783f72a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 21, 2026.

Transparency log

Release files / uharfbuzz-0.56.2-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL uharfbuzz-0.56.2-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 2.0 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
f058d70848312366e82068ebef54ead53269bdf34e893c25a3174ea1f5c6d2d3
BLAKE2b-256 checksum
How to use checksums
095c761168440df6bc2caafa6341b77dd3ee41949ffaaa5da610da2ce1fd74f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 21, 2026.

Transparency log

Release files / uharfbuzz-0.56.2-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL uharfbuzz-0.56.2-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 1.9 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
1d9729f111c9b269ca997f1f17c774ec77c9a8f562e26143525c4fa70475b5cb
BLAKE2b-256 checksum
How to use checksums
f8a2958ad5bfe9cd55be14b6ac199ee088835de977f39c692522cbc14cad4cbd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 21, 2026.

Transparency log

Release files / uharfbuzz-0.56.2-cp310-abi3-macosx_10_9_universal2.whl

Download URL uharfbuzz-0.56.2-cp310-abi3-macosx_10_9_universal2.whl
Size 3.4 MB
Tags CPython 3.10 abi3 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
07299fa7dbcefd63bd23c9b87b4456cad1c314089deee9654f1a84c594f1f005
BLAKE2b-256 checksum
How to use checksums
d6de5fdcae3af98acd2aa978d38e503013311f1ebdf023f44f6869844068d1ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 21, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.56.2 This release

15 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