PyPy & PyGObject¶
You can now run applications using PyGObject with PyPy. This requires PyPy(2/3) 5.10+ and (for now) PyGObject master and makes it possible to use libraries such as GTK+, GStreamer and WebKitGTK+ with PyPy.
Note
Things are currently slower and use more memory than with CPython. I have only focused on getting the pycairo and pygobject test suites to pass for now.
First we set up the basics with PyPy3:
./pypy3/bin/pypy -m venv _venv
source _venv/bin/activate
python -m pip install pycairo # pycairo also supports PyPy now
python -m pip install git+https://gitlab.gnome.org/GNOME/pygobject.git
Let’s try the first GTK+ example from the PyGObject tutorial:
python test.py
Something more complex, a music player written in Python:
python -m pip install mutagen feedparser
git clone https://github.com/quodlibet/quodlibet.git
python quodlibet/quodlibet/quodlibet.py
And finally, an interactive matplotlib example:
python -m pip install matplotlib
curl -O https://raw.githubusercontent.com/matplotlib/matplotlib/master/examples/event_handling/path_editor.py
python path_editor.py
Everything just works 😁
If something doesn’t please file a bug: https://gitlab.gnome.org/GNOME/pygobject