To enable HarfBuzz bindings for Python among other languages, make sure you have latest version of gobject-introspection available. On Ubuntu, you can install that this way:

sudo apt-get install libgirepository1.0-dev

And then run autogen.sh (if building from git), and then:

./configure --with-gobject --enable-introspection

Make sure that gobject-introspection is enabled then in the final report.

Compile and install.

Make sure you have the installation lib dir in LD_LIBRARY_PATH, as needed for the linker to find the library.

Then make sure you also have GI_TYPELIB_PATH pointing to the resulting $prefix/lib/girepository-* directory.

Make sure you have pygobject installed. Then check that the following import works in your Python interpretter:

from gi.repository import HarfBuzz

If it does, you are ready to call HarfBuzz from Python! Congratulations. See src/sample.py.

The Python API will change. Let us know on the mailing list if you are using it, and send lots of feedback.