PyGObject on Windows

"Bastian Eicher" <[email protected]> Thu, 20 Dec 2018 12:12:34 +0100
Newsgroups gmane.comp.file-systems.zero-install.devel
Message-ID <[email protected]>
I've been looking for prebuild Windows binaries for the
http://repo.roscidus.com/python/python-gobject feed.

The ones currently listed in the feed are from
http://ftp.gnome.org/pub/GNOME/binaries/win32/pygobject/. There are only
PyGObject 2 builds for x86 Python 2.x here. There haven't been any updates
since 2011.

The official PyGObject documentation at
https://pygobject.readthedocs.io/en/latest/getting_started.html#windows-gett
ing-started simply suggests to use MSYS2's package manager to acquire python
and python-gobject.

PyGObject for Windows (https://sourceforge.net/projects/pygobjectwin32/)
provides PyGObject 3 builds for Python 2.7 - 3.4 in both x86 and AMD64
variants. The last update is from May 2017.

"gobject" needs to be imported differently when using PyGObject 2 (import
gobject) or PyGObject 3 (from gi.repository import GObject as gobject). This
code in Zero Install takes care of that:
https://github.com/0install/0install/blob/b2.3/zeroinstall/support/tasks.py#
L48
If I'm reading it correctly, the code assumes it will always use PyGObject 2
on Python 2.x and PyGObject 3 on Python 3 or later.
0compile has a fixed assumption of using python-gobject2
(https://github.com/0install/0compile/blob/master/0compile#L11) since its
feed requires Python < 3.

However, the PyGObject for Windows builds I mentioned above are all
PyGObject 3, even for Python 2.7. Can/should we change the code to
detect/support and use PyGObject 3 on Python 2.x?