PyGObject
Python bindings for GObject Introspection
Decision gist · record as of 2026-08-14
Yes, if you need to build desktop or multimedia applications using GObject-based libraries. The high install friction (requires C compiler and system headers) and copyleft license are the main trade-offs. The package is actively maintained, has no known vulnerabilities, and is the standard way to access GTK and GStreamer from Python. Not suitable if you cannot meet the compilation requirements or need a permissive license for proprietary redistribution.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a C compiler, system development headers, and underlying GObject libraries (GTK, GLib, etc.) installed on the host system.
- Installation requires a C compiler and system development headers; the package is distributed only as source.
- Maintenance is active with a recent release within the last 98 days.
License · maintenance · safety
copyleft license (copyleft) — Licensed under LGPLv2.1+, a copyleft license permitting use in both free and proprietary software provided you distribute source code and allow relinking. Derivative works must be licensed under the same terms.
last release 2026-05-08 (98 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 630,220 downloads/mo, #5,664 on PyPI
Alternatives
Verify before relying
pip install PyGObject
Then import and use bindings for GObject-based libraries via introspection metadata at runtime.- Whether pre-built wheels are available for common platforms to avoid compilation.
- Performance characteristics when wrapping large GObject hierarchies or frequent callback invocations.
- Compatibility details with specific GTK versions and other GObject library versions.
- Specific usage patterns and code examples for common GObject-based libraries.
What it is and what it does
PyGObject is a bridge between Python and the GObject type system, which underlies most GNOME libraries and many other C-based projects. It uses GObject Introspection to automatically generate Python bindings for libraries written in C, allowing developers to call GObject-based APIs directly from Python code. The package supports Python 3.10+ and PyPy3, and works across Linux, Windows, and macOS.
Typically used to build desktop applications with GTK, multimedia applications with GStreamer, or web applications with WebKitGTK. Because it wraps compiled C libraries, installation requires a working C compiler and the development headers for the underlying libraries you want to use. The bindings are generated dynamically at runtime via introspection metadata, so you gain access to new library versions without waiting for manual binding updates.
Use it for
- Build GTK-based desktop applications with native look and feel on Linux, Windows, and macOS.
- Create multimedia applications using GStreamer for audio and video playback.
- Develop web-based applications using WebKitGTK as an embedded browser engine.
- Access system services and file I/O through GLib and GIO from Python.
- Integrate Python scripts with GNOME desktop environment components.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to build desktop or multimedia applications using GObject-based libraries.
The high install friction (requires C compiler and system headers) and copyleft license are the main trade-offs. The package is actively maintained, has no known vulnerabilities, and is the standard way to access GTK and GStreamer from Python. Not suitable if you cannot meet the compilation requirements or need a permissive license for proprietary redistribution.
Install
pygobject on PyPI
Before you install
Installation requires a C compiler and system development headers; the package is distributed only as source. Maintenance is active with a recent release within the last 98 days.
Requires a C compiler, system development headers, and underlying GObject libraries (GTK, GLib, etc.) installed on the host system.
License in practice
Licensed under LGPLv2.1+, a copyleft license permitting use in both free and proprietary software provided you distribute source code and allow relinking. Derivative works must be licensed under the same terms.
Quickstart
pip install PyGObject
Then import and use bindings for GObject-based libraries via introspection metadata at runtime.
Verify before relying
- Whether pre-built wheels are available for common platforms to avoid compilation.
- Performance characteristics when wrapping large GObject hierarchies or frequent callback invocations.
- Compatibility details with specific GTK versions and other GObject library versions.
- Specific usage patterns and code examples for common GObject-based libraries.
Package facts
| License | copyleft license copyleft |
| Python support | Supports the current Python release >=3.10 |
| Install friction | High. Source build required |
| Runtime dependencies | 1 packagepycairo |
| Maintenance | Actively maintained 98 days since the last release |
| First released | |
| Downloads | 630,220 / month, #5,664 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)Operating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: CProgramming Language :: PythonTopic :: Software Development :: Libraries :: Python Modules |
Evidence: pygobject-3.56.3.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “gtk python bindings”
- PyGObjectPyGObject provides Python bindings for GObject-based libraries such…
- pgiPGI provides pure Python bindings to GObject Introspection using…
- notify2notify2 creates and displays desktop notifications via DBus,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also pgi · dbus-python · pywebview · imgui · notify2 · wxPython · PyQt5 · audioread · dbus-next · shiboken2