bugjar logo


A Python native, OS native GUI toolkit. Part of the BeeWare suite.

View the Project on GitHub pybee/toga


Part of the BeeWare logoBeeWare suite.

A Python native, OS native GUI toolkit.


Note: Toga is a very early stage project. The example code works best on OS X and Ubuntu; Windows support is minimal. The codebase is also rapidly evolving, so if you experience problems, you may need to get code from the master branch on Github, rather than relying on versions installed from PyPI.

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. Screenshot of Toga demo project.

Problems using virtualenv under Ubuntu

When on Ubuntu, Toga uses the system native python GTK+3 bindings for display purposes. However, if you're using a --no-site-packages virtualenv, the Python bindings for GTK won't be in your PYTHONPATH.

Unfortunately, you can't pip install GTK+ bindings, so you have to use a workaround. To make the system GTK+ bindings available to your virtualenv, symlink the gi module from the system dist-packages directory into your virtualenv's site-packages:

$ cd <your virtualenv dir>/lib/python2.7/site-packages
$ ln -si /usr/lib/python2.7/dist-packages/gi


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 experience problems with Toga, you can log them on GitHub. If you want to contribute code, please fork the code and submit a pull request.