Beyond the main libraries โ alternatives worth knowing for specific platforms and approaches.
Beyond the main Python GUI libraries, several toolkits fill specific niches: Linux-native development, mobile via BeeWare, or hybrid approaches that embed web technology in a desktop window. This page covers the most notable alternatives and when each makes sense.
Toga is part of the BeeWare project โ an effort to let Python developers write native apps for iOS, Android, Windows, macOS, and Linux from one codebase. Unlike Kivy, Toga uses each platform's native widgets.
briefcase creates platform-specific installers.pip install toga briefcase
briefcase new
briefcase dev
briefcase build android
PyGObject binds GTK, the GNOME desktop toolkit. GTK apps are fully native on Linux; Windows/macOS support exists but Linux is the primary target.
Gtk.Window, Gtk.Button, Gtk.Entry, Gtk.ListBoximport gi
gi.require_version("Gtk", "4.0")
from gi.repository import Gtk
class App(Gtk.Application):
def on_activate(self, app):
win = Gtk.ApplicationWindow(application=app)
win.set_child(Gtk.Button(label="Hello GTK"))
win.present()
App().run()
Embed a browser engine in a native window; Python is the backend, HTML/CSS/JS is the front-end.
Chrome-based; @eel.expose calls Python from JavaScript.
pip install eel
@eel.expose
def greet(n): return f"Hi {n}"
eel.start("index.html")
Lightweight native webview (Edge WebView2, WebKit).
pip install pywebview
webview.create_window("App", "ui/index.html")
webview.start()
Pure-Python widgets rendered in the browser โ no HTML required. Good for localhost tools.
pip install remi| Toolkit | Rendering | Mobile | Best fit |
|---|---|---|---|
| Toga | Native per platform | Yes | BeeWare cross-platform |
| GTK | Native (Linux) | Limited | GNOME / Linux desktop |
| Eel / pywebview | HTML in webview | No | Web-skilled teams |
| Remi | Browser (auto-generated) | No | Python-only browser UI |
These toolkits fill niches the main libraries don't. For most new desktop projects, start with the main libraries first.
Useful guides and tools (from webpage_links.xlsx).