[ANNOUNCE] PyGObject 2.27.91 (second 2.28 pre-release)

John Palmieri johnp at redhat.com
Mon Feb 28 21:02:32 CET 2011

I am pleased to announce version 2.27.91 of the Python bindings for GObject.  We found some major blockers from the last release so this is a second pre-release for the upcoming 2.28.0 stable release.  There is currently one more crasher bug on the blocker list. Once that is fixed and if there are no more blockers we will be releasing the stable version.

Fixes in this release include the following:

    * ignore ginterfaces when doing method resolutions to avoid diamond inheritance issues
    * Fix union inheritance issues for Gdk.Event (e.g. Gdk.EventButton structure can be passed to interfaces which expect a Gdk.Event)
    * Override all Gdk.Event union members to export Gdk.Event methods
    * Leak instead of crashing if marshalling a C array and an error occurs - future releases will fix the leak
    * When setting rows in a TreeModel you can now pass None to indicate you wish to ignore a column
    * Fix setting types not represented in Python such as GObject.TYPE_UINT, when setting a TreeModel column
    * Flag and enum behaviour fixes
    * Typelibs now loaded at import time instead of lazy loading to fix name resolution issues from factories which return objects where the typelib is not yet loaded (e.g. GStreamer plugins) - this requires that application authors call the gi.require_version API BEFORE importing a module from gi.repository if they wish to specify a typelib version (e.g. gi.require_verison('Gtk', '3.0'))
    * don't load the gi module when using the static bindings
    * Gtk.Menu.popup fixed
    * Gtk.Cursor now API equivalent to PyGtk
    * Signal callbacks now convert foreign types (e.g. you get a PyCairo compatible context object in a 'draw' signal callback)
    * Gdk.Rectangle aliases cairo.RectangleInt correctly
    * fix the demos in gtk-demo.py
    * For a complete list of changes please read the NEWS file

The new release is available from ftp.gnome.org and its mirrors:

GObject is a object system library used by GTK+ and GStreamer.

PyGObject provides a convenient wrapper for the GObject library for use in Python programs, and takes care of many of the boring details such as managing memory and type casting. When combined with PyGTK, PyORBit and gnome-python, it can be used to write full featured GNOME 2.0 applications.

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 requires glib >= 2.22.4 and Python >= 2.5.1 to build.
GIO bindings require glib >= 2.22.4.

The Introspection module is the next generation Python GObject library bindings. Instead of statically wrapping every GObject based library we can now dynamically accesses any of those libraries using 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 an intermediate Python module.

Introspection/Python 2 bindings requires gobject-introspection >= 0.9.5 and pycairo >=1.0.2 or py2cairo >=1.8.10
Introspection/Python 3 bindings requires gobject-introspection >= 0.9.5, pycairo >=1.8.10 and Python >= 3.1

John (J5) Palmieri
Software Engineer
Red Hat, Inc.

More information about the Python-announce-list mailing list