Pure Python GObject Introspection Bindings


License
LGPL-2.1+
Install
pip install pgi==0.0.11.2

Documentation

PGI - Pure Python GObject Introspection Bindings

GObject Introspection bindings written in pure Python using ctypes and cffi (optional). API compatible with PyGObject.

Development Status:

WARNING: Lots of things are not implemented/supported.

See the 'examples' directory for working examples. Anything else will probably not work.

Code: https://github.com/lazka/pgi

License: LGPL 2.1+

Requirements:

Usage

from pgi.repository import Gtk, GObject

or (preferred)

import pgi
pgi.install_as_gi()
from gi.repository import Gtk, GObject

Search paths

Typelibs will be loaded from paths in the environment variable GI_TYPELIB_PATH and /usr/lib/girepository-1.0/.

Shared libraries from paths in LD_LIBRARY_PATH and the default system search paths (see dlopen(3)).

Documentation

PGI docs:
Autogenerated GI docs:

Tests

https://travis-ci.org/lazka/pgi.svg?branch=master
  • ./setup.py test will run unit tests using PGI and PyGObject
  • ./setup.py test --pgi-only to skip PyGObject tests
  • ./setup.py test --filter=StructTest to run tests which include StructTest (regexp)

./tests/libs/ includes additional libraries that will be used for testing if present. Call make in ./tests/libs/ to build them.

  • ./setup.py quality will run pep8 and pyflakes tests
  • ./setup.py coverage will create a test coverage report