Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ginext_core-0.8.1.tar.gz (1.7 MB view details)

Uploaded Source

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

Hashes for ginext_core-0.8.1.tar.gz
Algorithm Hash digest
SHA256 69fc76ca6879f1d37178da3443753c251844e77c99aabf095d2aed2b7bd63a78
MD5 8ce01935ea4db9704c331c8aade422a1
BLAKE2b-256 845ac3015acd42519f24b4fcbf844204bdbde3748d5cf02b6248cbdf74e4e1af

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page