PyGTK

Set of Python wrappers for the GTK graphical user interface library


title: "PyGTK" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["gtk-language-bindings", "python-(programming-language)-libraries", "software-that-uses-pygobject", "software-that-uses-pygtk", "widget-toolkits"] description: "Set of Python wrappers for the GTK graphical user interface library" topic_path: "general/gtk-language-bindings" source: "https://en.wikipedia.org/wiki/PyGTK" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0

::summary Set of Python wrappers for the GTK graphical user interface library ::

::data[format=table title="Infobox software"]

FieldValue
namePyGTK
logo
screenshotPyGTK-Screenshot-Hello-World.png
captionScreenshot
authorJames Henstridge{{cite web
urlhttp://www.jamesh.id.au/
titleSoftware I have written PyGTK - Python bindings for GTK
publisherJames Henstridge's Homepage}}
developerPyGTK Core development team{{cite web
urlhttp://pygtk.org/about.html
titleThe people behind PyGTK}}
released
discontinuedyes
latest release version2.24.0{{cite web
urlhttp://ftp.gnome.org/pub/GNOME/sources/pygtk/
titlePyGTK download page}}
latest release date
latest preview date
programming languagePython, C
operating systemCross-platform
platformCross-platform
genreWidget toolkit
licenseLGPL
::

| name = PyGTK | title = | logo = | screenshot = PyGTK-Screenshot-Hello-World.png | caption = Screenshot | collapsible = | author = James Henstridge{{cite web | url = http://www.jamesh.id.au/ | title = Software I have written PyGTK - Python bindings for GTK | publisher = James Henstridge's Homepage}} | developer = PyGTK Core development team{{cite web | url = http://pygtk.org/about.html | title = The people behind PyGTK}} | released = | discontinued = yes | latest release version = 2.24.0{{cite web | url = http://ftp.gnome.org/pub/GNOME/sources/pygtk/ | title = PyGTK download page}} | latest release date = | latest preview version = | latest preview date = | programming language = Python, C | operating system = Cross-platform | platform = Cross-platform | size = | language = | genre = Widget toolkit | license = LGPL | website =

Main article: List of language bindings for GTK

PyGTK is a set of Python wrappers for the GTK graphical user interface library. PyGTK is free software and licensed under the LGPL. It is analogous to PyQt/PySide and wxPython, the Python wrappers for Qt and wxWidgets, respectively. Its original author is GNOME developer James Henstridge. There are six people in the core development team, with various other people who have submitted patches and bug reports. PyGTK has been selected as the environment of choice for applications running on One Laptop Per Child systems.

PyGTK was phased out with the transition to GTK version 3 and be replaced with PyGObject, which uses GObject Introspection to generate bindings for Python and other languages on the fly. This is expected to eliminate the delay between GTK updates and corresponding language binding updates, as well as reduce maintenance burden on the developers.

Syntax

The Python code below will produce a 200x200 pixel window with the words "Hello World" inside.

::code[lang=python] import gtk

def create_window(): window = gtk.Window() window.set_default_size(200, 200) window.connect("destroy", gtk.main_quit)

label = gtk.Label("Hello World")
window.add(label)

label.show()
window.show()

create_window() gtk.main() ::

Notable applications that have used PyGTK

PyGTK has been used in a number of notable applications, some examples:

PyGObject

| name = GTK | title = PyGObject | logo = | screenshot = | caption = | collapsible = | author = | developer = | released = | latest release version = | latest release date = | repo = | programming language = Python, C | size = | language = | genre = Widget toolkit | license = LGPL | website =

PyGObject provides a wrapper for use in Python programs when accessing GObject libraries. GObject is an object system used by GTK, GLib, GIO, GStreamer and other libraries.

Like the GObject library itself, PyGObject is licensed under the GNU LGPL, so it is suitable for use in both free software and proprietary applications. It is already in use in many applications ranging from small single-purpose scripts to large full-featured applications.

PyGObject can dynamically access any GObject libraries that use GObject Introspection. It replaces the need for separate modules such as PyGTK, GIO and python-gnome to build a full GNOME 3.0 application. Once new functionality is added to GObject library it is instantly available as a Python API without the need for intermediate Python glue.

Notable applications that use PyGObject

PyGObject has replaced PyGTK, but it has taken a considerable amount of time for many programs to be ported. Most of the software listed here has an older version which used PyGTK.

References

References

  1. "PyGObject". wiki.gnome.org.
  2. "Black Duck Open Hub: PyGObject".
  3. "GObject Introspection".

::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::

gtk-language-bindingspython-(programming-language)-librariessoftware-that-uses-pygobjectsoftware-that-uses-pygtkwidget-toolkits