/toga

A Python native, OS native GUI toolkit.

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

https://beeware.org/project/projects/libraries/toga/toga.png

Toga

https://beekeeper.beeware.org/projects/beeware/toga/shield

A Python native, OS native GUI toolkit.

Prerequisites

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

Quickstart

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

Documentation for Toga can be found on Read The Docs.

Community

Toga is part of the BeeWare suite. You can talk to the community through:

Contributing

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.