GUI Programming in Python
Python has a huge number of GUI frameworks (or toolkits) available for it, from TkInter (traditionally bundled with Python, using Tk) to a number of other cross-platform solutions, as well as bindings to platform-specific (also known as "native") technologies.
Cross-Browser Frameworks
Package |
Target |
Latest version |
Latest update date |
Notes |
All major Web Browsers |
|
2023-5-11 |
Build forms as Python scripts. |
|
All major Web Browsers |
1.7.0 |
2022-5-30 |
Full-stack web apps using only Python and a free online drag-and-drop GUI builder, with built-in (freemium) hosting for your apps. |
|
All major Web Browsers |
0.13.3 |
2023-09-11 |
World's lightest toolkit to quickly and easily add a GUI to your Python programs and bring them online. |
|
All major Web Browsers |
0.1.5 |
2020-10-14 |
An object oriented high-level Python Web Framework that requires no frontend programming. |
|
All major Web Browsers |
1.1.3 |
2022-07-12 |
Mercury converts Python code in Jupyter Notebook into web applications. The interactive widgets are added based on YAML header. The end-user can tweak widgets values and execute notebook with new parameters. It allows to hide code, export executed notebook to PDF, schedule notebook, add authentication. |
|
All major Web Browsers |
1.2.15 |
2023-05-27 |
NiceGUI provides a unique combination of gentle learning curve and advanced customization capabilites. Operating as a webserver or Electron-like in a native window, it's also designed for hardware integration like USB cameras and GPIO pins, making it ideal for home automation and robotics. |
|
All major Web Browsers |
3.5.4 |
2024-03-22 |
Trame seamlessly exposes vue.js templates to Python. Many widget libraries are available for complex visualizations and interactive graphical user interfaces. Created applications can be deployed in the cloud, in a native window (Tauri), on HPC or within Jupyter Lab. |
Cross-Platform Frameworks
The major cross-platform technologies upon which Python frameworks are based include GTK, Qt, Tk and wxWidgets, although many other technologies provide actively maintained Python bindings.
Package |
Target |
Latest version |
Latest update |
Notes |
Windows, macOS, Linux |
0.94 |
2019-05-26 |
Simple & intuitive wrapper for Tkinter. In active development, designed for educational purposes, heavily documented & feature rich! |
|
Linux / many |
0.11.0 |
2016-02-16 |
Fully automatic, live connection among graphical interface widgets and application variables. |
|
Windows, macOS, Linux |
66.1 |
2021-02-16 |
Python bindings for the CEF Framework. CEF is based on Google Chromium and focuses on facilitating embedded browser use cases in third-party applications. With CEF you can create a light-weight native “shell” application that hosts a user interface developed primarily using Web technologies. Examples of embedding CEF browser control are available for many popular GUI toolkits such as PyQt, PySide, wxPython, PyGTK, PyGObject, Kivy and PyGame/PyOpenGL. |
|
0.9.16 |
2016-08-16 |
Dabo is a 3-tier, cross-platform application development framework, written in Python atop the wxPython GUI toolkit |
||
Windows, macOS, Linux, Raspberry Pi 4 |
2.1.1 |
2025-11-20 |
A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies. At its’ core it is a Python implementation of Dear ImGui. Docs are located at Read The Docs. |
|
Windows, MacOSX, Linux, Android, iOS |
0.21.2 |
2024-03-18 |
An easy to learn Python framework for building realtime web, mobile and desktop apps with a beautiful Flutter UI. |
|
Qt |
1.2.0 |
2020-08-10 |
A tiny Python module for creating form dialogs/widgets to edit various type of parameters with having to write any GUI code |
|
0.9.5 |
2016-08-17 |
