ginext
Fast, lazy, JIT-compiled GObject-introspection bindings for free-threaded Python.
ginext lets you call GObject-based libraries — GLib, GIO, GTK, GStreamer, libsoup and more — directly from Python, reading their introspection typelibs at runtime and JIT-compiling the call paths. It is built for the free-threaded (no-GIL) CPython 3.14+ runtime.
from ginext import Gtk
app = Gtk.Application(application_id="org.example.Hello")
Install
pip install gi # core (imports as `ginext`)
pip install gi[gtk] # + GTK/Gdk/Pango/Gsk overlay
pip install gi[gio] # + GIO overlay
pip install gi[gst] # + GStreamer overlay
pip install gi[all] # all overlays
gi is a small meta-package (it pulls in ginext-core and, via extras, the
overlays); the code imports as ginext (from ginext import Gtk). You can
also install the real distributions directly — pip install ginext-core,
ginext-gtk, etc. The gi distribution ships no gi module, so it does not
conflict with PyGObject.
The core links against GLib / GObject / girepository-2.0 (≥ 2.80). On Linux these come from your distribution; the overlay packages add Pythonic namespace overlays and ship as pure-Python wheels. Cross-platform wheels that bundle the GTK / GStreamer runtime are on the roadmap.
Packages
| Package | Contents |
|---|---|
ginext-core |
Native core + GLib/GObject/GIRepository |
ginext-gio |
GIO / GioUnix overlay |
ginext-gtk |
GTK / Gdk / Pango / Gsk overlay |
ginext-gst |
GStreamer overlay |
ginext-libsoup |
libsoup overlay |
ginext-gi-compat |
PyGObject gi.repository compatibility |
License
LGPL-2.1-or-later. See LICENSE.
Release files for ginext-core 0.8.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ginext_core-0.8.1.tar.gz | 1.7 MB | Details |
Release files / ginext_core-0.8.1.tar.gz
| Download URL | ginext_core-0.8.1.tar.gz |
|---|---|
| Size | 1.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
69fc76ca6879f1d37178da3443753c251844e77c99aabf095d2aed2b7bd63a78
|
|
BLAKE2b-256 checksum How to use checksums |
845ac3015acd42519f24b4fcbf844204bdbde3748d5cf02b6248cbdf74e4e1af
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|