PyGI 0.5.1 Released


About 3 weeks have passed since the initial release of PyGI.  Since
then we have seen a significant bump in activity in #pygi and also
several new contributors.  A big thanks to John (J5) Palmieri for his
continued efforts to test PyGI with his applications and drive
development forward, as well as Tomeu Vizoso for his hard work and
John Dahlin for his continued support and patch reviews.

Major pieces of this release include the refactoring of the invoke
method (which needed it badly) as well as new overrides, a bunch of
callback support fixes and union support.  Shortlog is attached below
for more.  Python 3 support is still in the works and should land

PyGi 0.5.1 :

You can find the PyGi website/wiki:

And the public git repo at:


Bug tracking is done in project pygi on


John (J5) Palmieri (4):
make __all__ be a list of strings, fix override mechanism to use
it correctly
Add the Gtk.Builder override
override Gdk.Drawable to add cairo_create convinience method
wrap GObject module so we can go through GI when requesting attrs

Simon van der Linden (1):
Bump required GLib version to 2.22

Tomeu Vizoso (15):
Add support for enums without GType
Rename variable with a very generic name
Print any error messages raised inside _pygi_closure_handle
Refactor get_* methods in the *Info wrappers
Add basic support for unions
Dont force subclasses to implement all virtual methods of their bases
One more step at refactoring _wrap_g_function_info_invoke
Add override for Gdk.Color
Fix GAsyncReadyCallback
Move invocation code to its own file
Fix passing GDestroyNotify
Only hookup vfunc implementations for locally-defined methods
Avoid freeing garbage
Fix passing callbacks as constructor args
Fix overrides.Gdk.Color.__new__ args

Zach Goldberg (7):
Bump version during development to 0.5.1
Refactor implementation of scope call to allow for multiple
calls during lifetime of function invocation.
Change SCOPE_TYPE_INVALID handling to be a warning and not an error
Force out arguments to be initialized as NULL.  Comes with a test.
Change SCOPE_TYPE_INVALID handling to be a more verbose error.
Correct the reference counting of userdata in closure handling
Step 1 of refactoring _wrap_g_function_info_invoke

2 thoughts on “PyGI 0.5.1 Released”

  1. If you’re a developer who likes to live on the edge a little bit I highly encourage you to try porting from PyGtk to PyGI. Most everything should work fine, I have myself built several applications now with PyGI which work well. As J5 is noticing though there are still some corner cases and bugs which you’ll run into from time to time when porting full fledged PyGTK apps.

    The more people who work on this now the sooner we can get that last mile and make it work for any developer. The code translation from PyGTK to PyGI (or visa versa) realistically can be done with a script; once we are confident that PyGI will work without bugs for most people such a script will be published.

    Also, you can use BOTH PyGTK and PyGI at the same time for different modules. e.g. the following is kosher: (and I recommend it for now if it gets you to start using PyGI sooner)

    import gtk #pygtk
    from gi.repository import GUPnP, Soup, libxml # libs binding by PyGI

Leave a Reply

Your email address will not be published.