Fast, lazy, JIT-compiled GObject-introspection bindings for free-threaded Python
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file ginext_core-0.8.1.tar.gz.
File metadata
- Download URL: ginext_core-0.8.1.tar.gz
- Upload date:
- Size: 1.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69fc76ca6879f1d37178da3443753c251844e77c99aabf095d2aed2b7bd63a78
|
|
| MD5 |
8ce01935ea4db9704c331c8aade422a1
|
|
| BLAKE2b-256 |
845ac3015acd42519f24b4fcbf844204bdbde3748d5cf02b6248cbdf74e4e1af
|