PyGObject 3.1.0 released

I am pleased to announce version 3.1.0 of the Python bindings for GObject. This is the first release of the unstable branch, which will eventually result in the stable 3.2.x series.

It is important to point out that this release reverts the change “Convert all strings to utf-8 encoding when retrieving from TreeModel” to restore backwards compatibility. If you are using Python 2 it is recommended to always use the byte-representation of UTF-8 encoded strings (str class) instead of the unicode objects. I’m going to add a section to the Python GTK+ 3 tutorial that will explain this issue and how to deal with it in more detail.


sha256sum: a5b36eff7c4b14f161bc9ba2ae09a03ddb47d9f2c769589b8f389ae3a92cc92e


  • Fixed bug where did not respect minimum and maximum values (Sebastian Pölsterl)
  • Handle NULL as a valid case of a char** array (Paolo Borelli)
  • Avoid O(n2) behavior when marshalling lists (Paolo Borelli)
  • Connect to first action of a radio group (Paolo Borelli)
  • Support functions which return GError (Will Thompson)
  • Support GHashTable and GError as callback/closure arguments (Alberto Mardegan)
  • Fix bool(), hash() and __eq__() for GLib.Variant objects (Nirbheek Chauhan)
  • Don’t issue a depreciation warning for GtkDialog’s NO_SEPARATOR flag, even when unused (Sebastian Pölsterl)
  • Properly distinguish between different integer types for properties (Sebastian Pölsterl)
  • Distinguish between GArray and GPtrArray when cleaning up (Sebastian Pölsterl)


About PyGObject

GObject is a object system used by GTK+, GStreamer and other libraries.

PyGObject provides a convenient wrapper for use in Python programs when accessing GObject libraries.

Like the GObject library itself PyGObject is licensed under the GNU LGPL, so is suitable for use in both free software and proprietary applications. It is already in use in many applications ranging from small single purpose scripts up to large full featured applications.

PyGObject now dynamically accesses any GObject libraries that uses GObject Introspection. It replaces the need for separate modules such as PyGTK, GIO and python-gnome to build a full GNOME 3.0 application. Once new functionality is added to gobject library it is instantly available as a Python API without the need for intermediate Python glue.

Sebastian Pölsterl
AI Researcher

My research interests include machine learning for time-to-event analysis, causal inference and biomedical applications.