20 .. image:: images/pygobject.svg
27 .. include:: ../README.rst
31 If you want to write a Python application for `GNOME
32 <https://www.gnome.org/>`__ or a Python GUI application using GTK+, then
33 PyGObject is the way to go. For more information on specific libraries check
34 out the "`Python GTK+ 3 Tutorial
35 <https://python-gtk-3-tutorial.readthedocs.io>`__" and the "`Python GI API
36 Reference <https://lazka.github.io/pgi-docs>`__".
41 gi.require_version("Gtk", "3.0")
42 from gi.repository import Gtk
44 window = Gtk.Window(title="Hello World")
46 window.connect("destroy", Gtk.main_quit)
53 .. figure:: images/overview.svg
58 PyGObject uses `glib <https://developer.gnome.org/glib/stable/>`__, `gobject
59 <https://developer.gnome.org/gobject/stable/>`__, `girepository
60 <https://developer.gnome.org/gi/stable/>`__, `libffi
61 <https://sourceware.org/libffi/>`__ and other libraries to access the C
62 library (libgtk-3.so) in combination with the additional metadata from the
63 accompanying typelib file (Gtk-3.0.typelib) and dynamically provides a Python
64 interface based on that information.
67 Who Is Using PyGObject?
68 -----------------------
70 * `Anaconda <https://fedoraproject.org/wiki/Anaconda>`__ - an installation program used by Fedora, RHEL and others
71 * `D-Feet <https://wiki.gnome.org/action/show/Apps/DFeet>`__ - an easy to use D-Bus debugger
72 * `GNOME Music <https://wiki.gnome.org/Apps/Music>`__ - a music player for GNOME
73 * `GNOME Tweak Tool <https://wiki.gnome.org/action/show/Apps/GnomeTweakTool>`__ - a tool to customize advanced GNOME 3 options
74 * `Gramps <https://gramps-project.org/>`__ - a genealogy program
75 * `Lollypop <https://gnumdk.github.io/lollypop-web/>`__ - a modern music player
76 * `Meld <http://meldmerge.org/>`__ - a visual diff and merge tool
77 * `MyPaint <http://mypaint.org/>`__ - a nimble, distraction-free, and easy tool for digital painters
78 * `Orca <https://wiki.gnome.org/Projects/Orca>`__ - a flexible and extensible screen reader
79 * `Pithos <https://pithos.github.io/>`__ - a Pandora Radio client
80 * `Pitivi <http://www.pitivi.org/>`__ - a free and open source video editor
81 * `Quod Libet <https://quodlibet.readthedocs.io/>`__ - a music library manager / player
82 * `Transmageddon <http://www.linuxrising.org/>`__ - a video transcoder
85 The following applications or libraries use PyGObject for optional features,
86 such as plugins or as optional backends:
88 * `beets <http://beets.io/>`__ - a music library manager and MusicBrainz tagger
89 * `gedit <https://wiki.gnome.org/Apps/Gedit>`_- a GNOME text editor
90 * `matplotlib <http://matplotlib.org/>`__ - a python 2D plotting library
91 * `Totem <https://wiki.gnome.org/Apps/Videos>`__ - a video player for GNOME