gi.repository Windows gi.repository Windows windows windows

gi.repository Windows


Most of Havok answer is correct, except that documentation has been improved a lot lately, with a Tutorial:

Including a PDF version for offline reading:

And a complete API reference manual, not only of Gtk but also many other libraries that you can use with introspection:

on windows the support is great, a lot of effort has been put in creating all the windows executables and libraries, the last release of pygi-aio is 3.10.6:

I've also put instructions on the Gnome wiki on how to build on win32 with pygobject introspection, it's not that hard, I've also uploaded a setup.py that actually works:

So the answer is, don't go with PyGTK


gi.repository module is called PyGObject and is for Gtk+3 and is not yet available for Windows (there has been experiments, but is not ready AFAIK). https://live.gnome.org/PyGObject

gtk module is called PyGtk and is for Gtk+2 and is very mature on Windows platforms (in particular 2.24). http://www.pygtk.org/

What's the difference?

  • PyGObject has some scarse Windows support. PyGtk has great support for this OS.
  • PyGObject is what is called a dynamic binding and PyGtk is a static one.
  • PyGObject is new and the future and PyGtk is the past, mature and some day will be deprecated.
  • PyGObject documentation and examples are very very limited, and PyGtk one are very very complete: http://developer.gnome.org/pygtk/stable/
  • They are not compatible, you can't use both and you need to choose one.
  • PyGObject is in active development, no new features will be introduced for PyGtk.
  • If you use Glade, the lastest version will be for PyGObject (for example 3.12.1). If you want to use Glade for PyGtk install the 3.8.0 version.

If you choose to go PyGtk there is great support for freezing the application. You can check my documentation and support files for my application here: http://sourceforge.net/p/nestededitor/code/247/tree/trunk/dist/windows/

Hope it helps.

EDIT:

Many things have changed in two years. Please see gianmt answer.