Library Guide

Other Notable Toolkits

Beyond the main libraries โ€” alternatives worth knowing for specific platforms and approaches.

Overview

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 (BeeWare)

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.

  • Packaging: briefcase creates platform-specific installers.
  • Best for: BeeWare ecosystem adopters wanting native mobile + desktop.
shell
pip install toga briefcase
briefcase new
briefcase dev
briefcase build android

PyGObject (GTK)

PyGObject binds GTK, the GNOME desktop toolkit. GTK apps are fully native on Linux; Windows/macOS support exists but Linux is the primary target.

  • Widgets: Gtk.Window, Gtk.Button, Gtk.Entry, Gtk.ListBox
  • Best for: Linux-first desktop apps and GNOME integration.
python
import 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()

Eel & pywebview โ€” Web UI on the desktop

Embed a browser engine in a native window; Python is the backend, HTML/CSS/JS is the front-end.

Eel

Chrome-based; @eel.expose calls Python from JavaScript.

python
pip install eel
@eel.expose
def greet(n): return f"Hi {n}"
eel.start("index.html")

pywebview

Lightweight native webview (Edge WebView2, WebKit).

python
pip install pywebview
webview.create_window("App", "ui/index.html")
webview.start()

Remi

Pure-Python widgets rendered in the browser โ€” no HTML required. Good for localhost tools.

shell
pip install remi

Comparison at a glance

ToolkitRenderingMobileBest fit
TogaNative per platformYesBeeWare cross-platform
GTKNative (Linux)LimitedGNOME / Linux desktop
Eel / pywebviewHTML in webviewNoWeb-skilled teams
RemiBrowser (auto-generated)NoPython-only browser UI
When to look here

These toolkits fill niches the main libraries don't. For most new desktop projects, start with the main libraries first.