Packages
Streamlit transforms Python scripts into interactive web applications with minimal code, enabling rapid development of data dashboards, reports, and chat interfaces without requiring web development expertise.
Dash is a Python framework for building interactive web applications with reactive UI elements like dropdowns and graphs tied directly to analytical code, using Flask and Plotly for rendering.
Install it if you need to turn analytical Python code into interactive dashboards or data apps.
Urwid is a Python console UI library that lets you build text-based applications with widgets, event loops, and display modes for Linux, macOS, and limited Windows support.
Install it if you need to build a non-trivial console UI; for simple output, consider lighter alternatives.
QtPy provides a unified API for writing Qt applications that work across PyQt5, PySide2, PyQt6, and PySide6 without code changes.
PySide6 Essentials provides Python bindings to Qt 6.0+ core modules for building cross-platform desktop applications with native UI widgets, graphics, networking, and database support.
The copyleft license requires careful review for commercial projects; consider a commercial Qt license if needed.
Shiboken6 provides Python access to metadata and introspection functions for C++/Python bindings, allowing you to check object validity and debug wrapper state in applications built with Qt for Python.
Install only if you actually need binding introspection; it is not a general-purpose library.
PySide6-Addons extends PySide6 with additional Qt modules for 3D graphics, multimedia, web engines, charts, and specialized hardware interfaces.
PySide6 provides Python bindings to the Qt 6.0+ framework, enabling you to build cross-platform desktop applications with native UI components and comprehensive framework features.
Install it if you need a mature, feature-complete GUI framework for desktop applications on Windows, macOS, or Linux.
NiceGUI is a Python framework for building browser-based user interfaces with standard GUI elements, charts, 3D scenes, and real-time data binding, running on FastAPI and communicating via WebSocket.
Weave is a toolkit for tracing, logging, and evaluating generative AI applications, letting you instrument functions to capture inputs, outputs, and execution traces for debugging and analysis.
Adds readline-style keyboard shortcuts to urwid text input widgets, enabling familiar line-editing commands like Ctrl+A, Ctrl+K, and word navigation within terminal UI applications.
Provides additional Qt widgets and UI components (like range sliders and custom comboboxes) not included in the standard PyQt/PySide libraries, plus utilities for threading and icon generation from font files.
Install it if you need range sliders, font-based icons, or threading helpers in a Qt application.
Detects and returns the active theme (light or dark) of a running Streamlit app, updating dynamically when the user changes the theme.
However, the 833-day maintenance gap means no recent bug fixes or Streamlit version updates—verify compatibility with your Streamlit version before relying on it in…
H2O Wave is a Python framework for building interactive web applications with real-time state synchronization, form components, and data visualization—no HTML, JavaScript, or CSS required.
Magicgui builds graphical user interfaces directly from Python function signatures and type annotations, with minimal boilerplate code.
PySide2 provides Python bindings to the Qt 5.12+ framework, enabling developers to build cross-platform desktop applications with a complete GUI toolkit.
Install only if maintaining existing PySide2 code or if you have specific Qt 5.12 compatibility constraints.
Provides Calendar and DateEntry widgets for Tkinter applications, with support for event display, locale settings, and customizable colors.
However, be aware that it is dormant—no active maintenance since 2019—so do not rely on it for bug fixes or compatibility with future Python or tkinter versions.
Shiboken2 provides Python access to metadata and utilities for C++/Python bindings, letting you inspect binding validity and debug wrapper state after C++ object destruction.
Adds HTTP Basic Authentication and OpenID Connect (OIDC) login to Dash applications, with support for public routes, user groups, and protected callbacks.
Spyder is a full-featured integrated development environment (IDE) for scientific Python work, combining a code editor, IPython console, variable inspector, and debugger in a single PyQt5-based application.
Install only if your system has Qt libraries available (usually pre-installed on macOS and Windows; Linux users must install PyQt5 system dependencies first).
Provides a Python interface to the UNIX dialog utility for building text-mode dialog boxes and simple graphical terminal interfaces.
However, its abandoned status means no bug fixes or new features will arrive; use it only for straightforward dialog-based UIs.