pgi

[Unmaintained: Use PyGObject instead] GTK+ / GObject Introspection Bindings for PyPy.

Showing:

Popularity

Downloads/wk

0

GitHub Stars

73

Maintenance

Last Commit

2yrs ago

Contributors

9

Package

Dependencies

0

License

LGPL-2.1+

Categories

Readme

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:

  • CPython 2.7 or CPython 3.3+ or PyPy 1.9+ or PyPy3 2.3+
  • libgirepository_ 1.0
  • cffi_ 0.8+ (optional, but needed for tests)
  • cairocffi_ 0.4+ (optional, for cairo support)

.. _ctypes: http://docs.python.org/2/library/ctypes.html .. _cffi: http://cffi.readthedocs.org/en/latest/ .. _cairocffi: http://pythonhosted.org/cairocffi/ .. _PyGObject: http://git.gnome.org/browse/pygobject/ .. _libgirepository: http://git.gnome.org/browse/gobject-introspection/ .. _CPython: http://www.python.org/ .. _PyPy: http://pypy.org/ .. _PyPy3: http://pypy.org/

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:
 * https://pgi.readthedocs.org

Autogenerated GI docs:
 * https://github.com/lazka/pgi-docgen
 * http://lazka.github.io/pgi-docs

Tests
-----

.. image:: https://travis-ci.org/lazka/pgi.svg?branch=master
    :target: https://travis-ci.org/lazka/pgi

- `./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

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
No reviews found
Be the first to rate

Alternatives

No alternatives found

Tutorials

No tutorials found
Add a tutorial