.. include:: icons.rst
.. title:: Overview
.. toctree::
:hidden:
:titlesonly:
:maxdepth: 1
getting_started
changelog
bugs_repo
guide/index
devguide/index
packagingguide
maintguide
further
contact
.. image:: images/pygobject.svg
:align: center
:width: 400px
:height: 98px
|
.. include:: ../README.rst
:start-after: |
:end-before: ----
If you want to write a Python application for `GNOME
`__ or a Python GUI application using GTK+, then
PyGObject is the way to go. For more information on specific libraries check
out the "`Python GTK+ 3 Tutorial
`__" and the "`Python GI API
Reference `__".
.. code:: python
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
window = Gtk.Window(title="Hello World")
window.show()
window.connect("destroy", Gtk.main_quit)
Gtk.main()
How does it work?
-----------------
.. figure:: images/overview.svg
:width: 600px
:height: 222px
:align: center
PyGObject uses `glib `__, `gobject
`__, `girepository
`__, `libffi
`__ and other libraries to access the C
library (libgtk-3.so) in combination with the additional metadata from the
accompanying typelib file (Gtk-3.0.typelib) and dynamically provides a Python
interface based on that information.
Who Is Using PyGObject?
-----------------------
* `Anaconda `__ - an installation program used by Fedora, RHEL and others
* `D-Feet `__ - an easy to use D-Bus debugger
* `GNOME Music `__ - a music player for GNOME
* `GNOME Tweak Tool `__ - a tool to customize advanced GNOME 3 options
* `Gramps `__ - a genealogy program
* `Lollypop `__ - a modern music player
* `Meld `__ - a visual diff and merge tool
* `MyPaint `__ - a nimble, distraction-free, and easy tool for digital painters
* `Orca `__ - a flexible and extensible screen reader
* `Pithos `__ - a Pandora Radio client
* `Pitivi `__ - a free and open source video editor
* `Quod Libet `__ - a music library manager / player
* `Transmageddon `__ - a video transcoder
The following applications or libraries use PyGObject for optional features,
such as plugins or as optional backends:
* `beets `__ - a music library manager and MusicBrainz tagger
* `gedit `_- a GNOME text editor
* `matplotlib `__ - a python 2D plotting library
* `Totem `__ - a video player for GNOME