=====
Users
=====

Bindings based on GObject-Introspection
---------------------------------------

* `Vala <https://wiki.gnome.org/Projects/Vala>`__ - Compiler for the GObject type system (compile time)
* `Genie <https://wiki.gnome.org/Projects/Genie>`__ - Genie Language (compile time) 
* `PyGObject <https://wiki.gnome.org/Projects/PyGObject>`__ - Python bindings (runtime)
* `pygir-ctypes <http://code.google.com/p/pygir-ctypes/>`__ - Pure Python GObject Introspection Repository (GIR) wrapper using ctypes (runtime)
* `pgi <http://github.com/lazka/pgi>`__ - Pure Python GObject Introspection Bindings (runtime)
* `GTK2-Perl/Introspection <https://wiki.gnome.org/GTK2-Perl/Introspection>`__ - Perl bindings (runtime)
* `JGIR <https://wiki.gnome.org/Projects/JGIR>`__ - Java/JVM bindings (compile time, using typelib)
* `GJS <https://wiki.gnome.org/Projects/Gjs>`__ - Javascript (spidermonkey) bindings (runtime)
* `Seed <https://wiki.gnome.org/Projects/Seed>`__ -  Javascript (JSCore, WebKit JS engine) bindings (runtime)
* `sbank <https://wiki.gnome.org/sbank>`__ - Scheme binding for gobject-introspection (runtime)
* `GObjectIntrospection/GObjectConsume <https://wiki.gnome.org/Projects/GObjectIntrospection/GObjectConsume>`__ - Qt bindings (compile time)
* `GirFFI <http://github.com/mvz/ruby-gir-ffi>`__ - Ruby bindings (runtime)
* `Ruby-GNOME <https://github.com/ruby-gnome/ruby-gnome>`__ - Ruby bindings (runtime)
* `lgob <http://oproj.tuxfamily.org/wiki/doku.php?id=lgob>`__ - Lua bindings (compile time?)
* `guile-gir <http://gitorious.org/guile-gir>`__ - Guile bindings (runtime)
* `factor-gir <http://github.com/ex-rzr/factor-gir>`__ - Factor bindings (runtime)
* `lgi <http://www.github.com/pavouk/lgi>`__ - Lua bindings (runtime)
* `GObject for PHP <https://github.com/megous/gobject-for-php>`__
* `cl-gir <http://bazaar.launchpad.net/~scymtym/+junk/cl-gir/files>`__ GIR for Common Lisp (work in progress)
* `GNU Smalltalk <http://www.gitorious.org/gst-gobject-introspection>`__ - A branch of GNU Smalltalk which adds GObject Introspection bindings.
* `node-gir <https://github.com/creationix/node-gir>`__ - Node.js bindings to the girepository
* `go-gir-generator <https://github.com/linuxdeepin/go-gir-generator>`__ - Go bindings (compile time) (Forked from `gogobject <https://github.com/nsf/gogobject/>`__ which is unmaintained)
* `haskell-gi <http://www.haskell.org/haskellwiki/GObjectIntrospection>`__ -  a Haskell binding for the GIRepository C library, and a Haskell code generator built upon it. It is very much a work in progress. 
* `cl-gobject-introspection <https://github.com/andy128k/cl-gobject-introspection>`__ - A bridge between Common Lisp and GObject.
* `ocaml-gir <http://git.ocamlcore.org/cgi-bin/gitweb.cgi?p=ocaml-gir/ocaml-gir.git>`__ - An automatic binding generator for gtk-related libraries
* `gir2pascal <http://wiki.freepascal.org/gir2pascal>`__ - gir2pascal is a program to convert gir files into into pascal files
* `PLGI <https://github.com/keriharris/plgi>`__ - Prolog bindings (runtime)
* `hbgi <https://github.com/tuffnatty/hbgi>`__ - Harbour bindings for GObject Introspection (runtime)
* `cppgir <https://www.gitlab.com/mnauw/cppgir>`__ - C++ bindings (compile time, using typelib)

Projects using GObject Introspection
------------------------------------

 * `Folks <http://telepathy.freedesktop.org/wiki/Folks>`__ - the Gnome contact aggregator
 * `GnomeShell <https://wiki.gnome.org/Projects/GnomeShell>`__ - prototyping the future gnome shell
 * `Midgard2 <http://www.midgard2.org/>`__ - language bindings to the Midgard content repository
 * `libpeas <http://git.gnome.org/browse/libpeas/tree/>`__ - library providing a generic plugin framework
 * `telepathy-glib <http://telepathy.freedesktop.org/wiki/Telepathy%20GLib>`__ - GLib bindings for Telepathy
 * `gir2xmi <https://github.com/jralls/gir2xmi>`__ - UML model generator for GObject-Introspection Gir files. 
 * `playerctl <https://github.com/acrisci/playerctl>`__ - a library and cli for controlling media players that implement the MPRIS DBus interface
 * `i3ipc-glib <https://github.com/acrisci/i3ipc-glib>`__ - a library for extensions to the i3 window manager
 * `gabi <https://gitlab.gnome.org/tmiasko/gabi>`__ - a C/typelib ABI cross-validator

Projects that could use GObject-Introspection
---------------------------------------------

 * `Mono GAPI <http://www.mono-project.com/GAPI>`__ could replace its gapi2-parser by using GOject-Introspection.
 * `gtkmm <http://www.gtkmm.org/>`__ could use GObject-Introspection in its `gmmproc <http://www.gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/chapter-wrapping-c-libraries.html>`__ to generate C++ library bindings
