docs: Add Anaconda to the list of software that is using PyGObject
[pygobject.git] / docs / index.rst
blob81fba33c9e945de62b4a5ace5cee7e88beb16d83
1 .. include:: icons.rst
3 .. title:: Overview
5 .. toctree::
6     :hidden:
7     :titlesonly:
8     :maxdepth: 1
10     getting_started
11     changelog
12     bugs_repo
13     guide/index
14     devguide/index
15     packagingguide
16     maintguide
17     further
18     contact
20 .. image:: images/pygobject.svg
21    :align: center
22    :width: 400px
23    :height: 98px
27 .. include:: ../README.rst
28     :start-after: |
29     :end-before: ----
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>`__".
38 .. code:: python
40     import gi
41     gi.require_version("Gtk", "3.0")
42     from gi.repository import Gtk
44     window = Gtk.Window(title="Hello World")
45     window.show()
46     window.connect("destroy", Gtk.main_quit)
47     Gtk.main()
50 How does it work?
51 -----------------
53 .. figure:: images/overview.svg
54     :width: 600px
55     :height: 222px
56     :align: center
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