Packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
Formats and parses numbers, file sizes, timespans, and other values into human-readable text; provides terminal interaction utilities including ANSI text styling and user prompts.
Adds colored output to Python's standard logging module using ANSI escape sequences, with automatic fallback support for Windows terminals.
However, it is abandoned and receives no maintenance, so it will not adapt to future Python changes or platform updates.
Formats argparse and optparse help output with rich styling, colors, and markup to improve CLI readability with minimal code changes.
progressbar2 renders text-based progress bars in the terminal, handling custom widgets, concurrent bars, unknown-length progress, and clean output around logs and prints.
InquirerPy provides interactive command-line prompts (text input, confirmations, selections, checkboxes, fuzzy search) for building conversational CLI interfaces in Python.
However, the project is dormant (last release 2022-06-27), so adopt it only if you need its specific feature set (especially the fuzzy prompt) and can tolerate no…
Reads single characters and keystrokes from stdin, handling both ASCII characters and multi-character keys like arrows, function keys, and modifier combinations across Windows, Linux, and Unix systems.
Install it if you need to handle raw keyboard input in a CLI or terminal UI.
Blessed provides a clean Python interface for terminal styling, colors, keyboard input, and cursor positioning, replacing low-level curses calls with an intuitive API that works across Windows, Mac, Linux, and BSD.
Install it if you're building any terminal UI, need cross-platform keyboard handling, or want to avoid curses complexity.
Calls any Gradio app as a Python API with a simple Client interface, handling authentication, file uploads, and response parsing automatically.
EasyGUI provides simple, non-event-driven GUI dialogs for Python using Tkinter—message boxes, yes/no prompts, button selections, and file dialogs invoked by plain function calls.
However, the dormant maintenance status (last release 1596 days ago) means it's not actively developed; use it for lightweight, stable use cases, not for new…
Yaspin displays an animated terminal spinner to indicate progress during long-running operations, with support for 70+ spinner styles, colors, and text attributes via a context manager or decorator interface.
However, maintenance is aging (251 days since last release), so consider this if you need active bug fixes or Python version support updates; for stable,…
Inquirer provides interactive command-line prompts for collecting user input—text, selections, checkboxes, file paths, and editor-based answers—with built-in validation and hierarchical question support.
However, maintenance is aging (last release 377 days ago), so check whether its three dependencies remain actively maintained.
Generates shell tab completion scripts for Python CLI applications built with argparse, supporting bash, zsh, fish, and tcsh without runtime overhead.
Install it if you build Python command-line tools and want to offer your users fast, reliable shell completion.
QtPy provides a unified API for writing Qt applications that work across PyQt5, PySide2, PyQt6, and PySide6 without code changes.
Measures execution time and throughput of code blocks, generators, and callables, rendering results in human-readable formats like milliseconds, SI-prefixed counts, and operations per second.
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.
A pure-Python X11 client library that implements the X protocol to allow Python programs to interact with X servers on Unix-like systems.
PyObjC-core provides the foundational bridge layer that lets Python code call Objective-C APIs and frameworks on macOS, enabling direct interoperability with native libraries.
Ibis is a portable Python dataframe library that compiles dataframe expressions into SQL or native operations, letting you use a single API across more than 20 backends.
Install it if you work with multiple data backends or want to avoid vendor lock-in; skip it if you're committed to a single backend and don't need portability.
Provides Python bindings to macOS Cocoa frameworks (CoreFoundation, Foundation, AppKit) for building native macOS applications and accessing system APIs.
Automate Microsoft Windows GUI interactions by sending mouse and keyboard actions to windows, dialogs, and controls, with support for both Win32 API and MS UI Automation backends.
Argh turns plain Python functions into command-line interfaces by wrapping argparse, inferring CLI arguments and types from function signatures and annotations.
Provides Python bindings to macOS Quartz frameworks (CoreGraphics, ImageIO, QuartzCore, PDFKit, and others) for 2D graphics, image processing, video manipulation, and PDF handling on macOS.
Cheetah3 is a template engine and code generation tool that processes templates to produce output in various languages including Python, C++, Java, and SQL.
Provides async Python bindings to the Unity Catalog REST API, enabling programmatic access to catalog, schema, table, and asset management across multiple data formats and compute engines.
pywebview wraps native webview components to display HTML/CSS/JavaScript content in desktop GUI windows, with built-in HTTP server, Python-JavaScript communication, and native window controls.
Provides Python APIs to create, retrieve, and execute Unity Catalog functions with both async and sync interfaces, supporting integration of UC functions as tools in GenAI agents.
Install it if you need to integrate Unity Catalog functions into Python applications or GenAI agent workflows.
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.
pytest-qt is a pytest plugin that provides fixtures and utilities to test PyQt5, PyQt6, and PySide6 applications, including widget interaction simulation and signal handling.
Install it if you're testing PyQt or PySide applications and want pytest-native fixtures for widget interaction and signal handling.
Blessings provides a clean Python API for terminal colors, text styling (bold, underline, reverse), and cursor positioning without the complexity of raw curses calls.
PyQtGraph is a pure-Python graphics library for building scientific and engineering visualizations with PyQt5, PyQt6, or PySide6, using numpy for computation and Qt's graphics framework for fast 2D and 3D rendering.
Provides Python bindings to macOS ApplicationServices framework, enabling access to Core Text, HIServices, and PrintCore for text layout, font handling, and system services on macOS.
Provides Python bindings to macOS's CoreText framework for low-level text layout, font handling, and typographic operations on macOS 10.5 or later.
Provides Python bindings to macOS's native Security framework, enabling access to cryptographic, certificate, and keychain operations through PyObjC.
However, it is macOS-only and requires familiarity with both PyObjC's translation model and Apple's Security framework documentation, making it suitable only for…
Provides Python bindings to macOS's UniformTypeIdentifiers framework, enabling type identification and handling of file types and uniform type descriptors in native macOS applications.
However, it is only useful on macOS and requires Python 3.10+; it is not a general-purpose library for cross-platform type identification.
Provides Python bindings to macOS's CoreBluetooth framework, enabling Bluetooth device discovery, connection, and communication from Python code.
Provides Python bindings to Apple's CoreML framework on macOS, enabling machine learning model inference through native Objective-C APIs.
However, it is only useful on macOS with Python 3.10+; if you target other platforms or need cross-platform ML inference, consider higher-level libraries instead.