A Python native, OS native GUI toolkit.
- Toga requires Python 3. Python 2 is not supported.
- If you're on macOS, you need to be on 10.10 (Yosemite) or newer.
- If you're on Linux, you need to have GTK+ 3.10 or later. This is the version
that ships starting with Ubuntu 14.04 and Fedora 20. You also need to install
the Python 3 bindings and development files for GTK+.
- Ubuntu 16.04 / Debian 9
sudo apt-get install python3-dev python3-gi python3-gi-cairo libgirepository1.0-dev libcairo2-dev libpango1.0-dev libwebkitgtk-3.0-0 gir1.2-webkit2-3.0
- Ubuntu 18.04, 20.04 / Debian 10, 11
sudo apt-get install python3-dev python3-gi python3-gi-cairo libgirepository1.0-dev libcairo2-dev libpango1.0-dev libwebkit2gtk-4.0-37 gir1.2-webkit2-4.0
- Fedora
sudo dnf install pygobject3 python3-gobject python3-cairo-devel cairo-gobject-devel gobject-introspection-devel pywebkitgtk
- Arch / Manjaro
sudo pacman -Syu git pkgconf cairo python-cairo pango gobject-introspection gobject-introspection-runtime python-gobject webkit2gtk
- Ubuntu 16.04 / Debian 9
- If you're on Windows, you'll need Windows 10, and .NET Framework 4. You'll also need to use Python 3.8 or lower; unfortunately, we're dependent on a library (Python.net) that hasn't been published for Python 3.9 or higher.
To get a demonstration of the capabilities of Toga, run the following:
$ pip install --pre toga-demo $ toga-demo
This will pop up a GUI window with some sample widgets.
Documentation for Toga can be found on Read The Docs.
Toga is part of the BeeWare suite. You can talk to the community through:
If you'd like to contribute to Toga development, our guide for first time contributors will help you get started.
If you experience problems with Toga, log them on GitHub. If you want to contribute code, please fork the code and submit a pull request.