Skip to content
A Python native, OS native GUI toolkit.
Branch: master
Clone or download
danyeaw Merge pull request #659 from Aareon/patch-1
Fix links pointing to
Latest commit 3c531ad Apr 14, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
contrib Merge master and check for Pango import error Dec 15, 2017
demo Bumped version number for v0.3.0.dev12 development. Oct 6, 2018
docs Pin the sphinx-tabs version. Apr 13, 2019
examples imageview example is fixed. The path was looking for the image in the… Feb 7, 2019
src added back in newline that was accidently deleted Apr 13, 2019
.eslintrc Added eslint configurations. Jul 22, 2018
.gitignore Create symlink for cairo, and raise error on first usage. Dec 1, 2017
LICENSE Refactored platforms into their own separate repositories. Oct 23, 2016
beekeeper.yml Automate selection of version number on release. Oct 6, 2018
setup.cfg Tweaked flake8 config. Sep 8, 2018 Update links in Apr 12, 2019
tox.ini Cleanup files for platforms. Oct 23, 2016



A Python native, OS native GUI toolkit.


Minimum requirements

  • Toga requires Python 3. Python 2 is not supported.
  • If you're on macOS, you need to be on 10.7 (Lion) 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 / Debian sudo apt-get install python3-dev python3-gi python3-gi-cairo gir1.2-gtk-3.0 libgirepository1.0-dev libcairo2-dev
    • Fedora sudo dnf install pygobject3 python3-gobject python3-cairo-devel cairo-gobject-devel gobject-introspection-devel or sudo yum install pygobject3 python3-gobject python3-cairo-devel cairo-gobject-devel gobject-introspection-devel
    • Arch Linux sudo pacman -S gobject-introspection
  • We're working on Windows support, but not all features and widgets are supported. At a minimum, you'll need Python 3 and .NET Framework 4. This has been tested on Windows 10, but should work on 7 and 8. Pull requests, help and corrections are most welcome.

Optional extras for Linux

In Linux, extra packages are needed if you want to use the WebView widget:

  • Ubuntu / Debian sudo apt-get install gir1.2-webkit2-4.0 Note: for Ubuntu 14.04 install gir1.2-webkit-3.0 instead of gir1.2-webkit-4.0
  • Fedora sudo dnf install pywebkitgtk or sudo yum install pywebkitgtk
  • Arch Linux sudo pacman -S webkit2gtk


To get a demonstration of the capabilities of Toga, run the following:

$ pip install 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.

You can’t perform that action at this time.