ImportsΒΆ
The toplevel gi
package allows you to import the different libraries
namespaces and ensure specific versions of them.
The next code line will import the GTK
and GLib
libraries from the
gi.repository
module. gi.repository
holds the libraries bindings.
from gi.repository import Gtk, GLib
If you want to ensure a specific version of a library you can use gi.require_version()
.
import gi
gi.require_version('Gtk', '4.0')
gi.require_version('GLib', '2.0')
from gi.repository import Gtk, GLib
Currently, when importing Gdk
or Gtk
, their init functions
(Gdk.init_check()
and Gtk.init_check()
respectively) will be
automatically called for backwards-compatibility reasons.
This prevents, among other things, to use Gtk.disable_setlocale()
, as
it shall be called before Gtk
initialization.
This behavior may be dropped in the future, but in the meanwhile you can
use gi.disable_legacy_autoinit()
before the import to skip the
auto-init.
import gi
gi.disable_legacy_autoinit()
from gi.repository import Gtk
To avoid PEP8/E402 you can use a try block.
import sys
import gi
try:
gi.require_version('Gtk', '4.0')
gi.require_version('Adw', '1')
from gi.repository import Adw, Gtk
except ImportError or ValueError as exc:
print('Error: Dependencies not met.', exc)
sys.exit(1)
See also
For more detailed information of the methods provided by the gi
module
checkout GI Documentation.