Basic Types#

PyGObject will automatically convert between C types and Python types. In cases where it’s appropriate it will use default Python types like int, list, and dict.

Number Types#

All glib integer types get mapped to int, long and float. Since the glib integer types are always range limited, conversions from Python int/long can fail with OverflowError:

>>> GLib.random_int_range(0, 2**31-1)
1684142898
>>> GLib.random_int_range(0, 2**31)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OverflowError: 2147483648 not in range -2147483648 to 2147483647
>>>

Text Types#

In case you use Python 2 then text is utf-8 encoded str, in case of Python 3 str is used.

Platform String Types#

  • Windows + Python 2: utf-8 encoded str

  • Windows + Python 3: str

  • Unix + Python 2: str

  • Unix + Python 3: str

Other Types#