33 Repos
Frameworks for building command-line interfaces.
Explore 33 awesome GitHub repositories matching part of an awesome list · CLI Development. Refine with filters or upvote what's useful.
Rich is a comprehensive library for building sophisticated command-line interfaces and terminal applications. It provides a robust console formatting engine and a layout framework that enables developers to render rich text, syntax-highlighted code, and complex data structures directly in the terminal. By utilizing a recursive constraint-based layout engine, the library allows for the creation of hierarchical grids, panels, and trees that maintain their structure even as terminal dimensions change. What distinguishes the library is its ability to manage persistent, real-time terminal interfac
Provides rich text formatting and beautiful terminal output.
This project is a framework for building interactive, graphical-style terminal applications. It provides a declarative component model that organizes user interfaces into a tree of nested widgets, each managing its own lifecycle, state, and rendering. By subclassing the base application class, developers can construct complex, keyboard-navigable interfaces that run directly within terminal emulators. The framework distinguishes itself through a reactive architecture and a CSS-based layout engine. It uses a reactive attribute system to automatically track state changes and trigger targeted int
Listed in the “CLI Development” section of the Awesome Python awesome list.
Tqdm is a terminal-based progress indicator that provides real-time visual feedback for long-running tasks and data processing pipelines. It functions as an iteration tracking wrapper, allowing developers to monitor the completion status of loops and data streams by wrapping standard iterables without modifying the underlying data source. The project distinguishes itself through its use of terminal escape sequences to render dynamic text and graphical bars that update in place. It supports both automatic tracking of iterable collections and manual progress incrementing for non-linear tasks wh
Fast, extensible progress bars.
Python Fire is a library that automatically generates command line interfaces from any Python object, function, or class. It removes the need for manual argument parsing by mapping Python dictionaries, lists, and classes directly to terminal commands. The tool converts Python docstrings into formatted terminal help screens and produces shell scripts to enable tab-completion for available commands. It can wrap existing libraries or external modules to expose their functionality via the terminal without requiring modifications to the original source code. The library supports hierarchical comm
Automatically generates CLIs from any Python object.
Gooey is a framework that transforms command-line programs into graphical applications by automatically generating user interfaces from existing argument definitions. By applying a decorator to a script, the tool maps standard command-line arguments to specialized graphical widgets, allowing users to interact with terminal-based utilities through forms, file pickers, and date selectors. The project distinguishes itself by providing a comprehensive suite of customization and lifecycle management tools that extend beyond simple interface generation. It includes capabilities for input validation
Turns command-line programs into GUI applications.
This project is a Python framework for building command-line interfaces by converting standard functions into executable programs. It uses type hints to automatically infer and generate argument parsers, validation logic, and help documentation, allowing developers to define complex terminal applications through simple function signatures. The framework distinguishes itself through a decorator-driven registration system that enables the construction of hierarchical command trees. It supports dependency injection to manage shared state and runtime configuration across subcommands, and it utili
Builds CLIs based on standard Python type hints.
Click is a Python framework for building command-line interfaces. It provides a declarative approach to defining command structures, allowing developers to map functions to command-line arguments, options, and nested groups using decorators. The framework handles the complexities of parameter parsing, type validation, and help documentation generation automatically. The project distinguishes itself through its hierarchical context system, which propagates configuration and state across nested commands, and its environment-aware parameter resolution that prioritizes command-line inputs, enviro
Composable toolkit for creating command-line interfaces.
python-prompt-toolkit is a Python library and terminal user interface framework used for building interactive command line interfaces. It provides a toolkit for constructing complex terminal applications with advanced input handling and layout management. The project features a real-time syntax highlighting engine and a rendering system that ensures correct alignment and display of double-width Unicode characters. It includes specialized capabilities for command line autocompletion, providing ghost text suggestions and searchable input history. The framework covers a broad range of interface
Library for building interactive CLI tools.
This project is a Python terminal user interface library and toolkit designed for building interactive command-line applications. It provides a terminal input manager and a widget toolkit for rendering dashboards, menus, and editors within a terminal emulator. The library enables the creation of full-screen terminal interfaces and interactive shells. It distinguishes itself with advanced input handling, including lexer-based syntax highlighting for visual feedback on code structure and support for industry-standard keyboard navigation modes such as Emacs and Vi. The capability surface covers
Enables building powerful interactive command-line applications.
Docopt ist ein Parser für Befehlszeilenargumente und ein deklaratives Schnittstellentool, das rohe Terminaleingaben in eine strukturierte Datenkarte umwandelt. Es leitet seine Parsing-Logik und Anforderungen direkt aus einer standardisierten POSIX-Hilfenachricht ab und verwendet die Dokumentation als formale Spezifikation für die Schnittstelle. Das System implementiert einen POSIX-Usage-Pattern-Parser, um menschenlesbare Hilfe-Strings in Regeln für die Extraktion von Optionen und Positionsargumenten zu übersetzen. Es generiert automatisch Hilfebildschirme und Versionsinformationen basierend auf den internen Nutzungsmustern, die vom Benutzer definiert wurden. Das Tool sorgt für eine vorhersehbare Benutzererfahrung durch strikte Argument- und Optionsreihenfolge und verhindert das Mischen von Eingaben, sobald Positionsargumente auftreten. Es bietet eine vollständige Implementierung für das Design von Befehlszeilenschnittstellen und gleicht Eingabe-Token mit vordefinierten Mustern ab, um Datenstrukturen zu befüllen.
Creates command-line interfaces based on usage documentation strings.
Progress bar with real-time throughput and animations.
Asciimatics ist ein plattformübergreifendes Framework für Terminal-Benutzeroberflächen und ein Konsolen-Wrapper. Es fungiert als curses-kompatible Bibliothek, die ein Toolkit zum Aufbau interaktiver textbasierter Anwendungen, einen ASCII-Art-Generator und eine Terminal-Animations-Engine bereitstellt. Das Projekt zeichnet sich durch eine Engine für visuelle Effekte aus, die Sprites, Partikelsysteme und antialiasing-geglättete Linien rendern kann. Es enthält spezialisierte Systeme zur Erstellung bewegter textbasierter Grafiken sowie Tools zur Konvertierung von Bilddateien in zeichenbasierte Darstellungen. Das Framework deckt das Kern-Terminal-Management ab, einschließlich der Handhabung von nicht-blockierenden Tastatur- und Mauseingaben, Cursor-Styling und der Erkennung von Fenstergrößenänderungen. Es bietet eine koordinatenbasierte Zeichen-Engine und eine widgetbasierte Layout-Komposition zur Anordnung interaktiver Elemente wie Buttons und Textboxen. Die Bibliothek abstrahiert die Unterschiede zwischen Unix-artigen termios- und Windows-Konsolen-APIs, um ein konsistentes visuelles Rendering über verschiedene Betriebssysteme hinweg zu gewährleisten.
Provides curses-like terminal UI capabilities and animations.
Colorama is a Python terminal styling library and cross-platform console utility that translates ANSI escape sequences into native system calls. It acts as a terminal output stream wrapper, intercepting and processing control codes to ensure consistent text formatting and styling across different operating systems. The library standardizes terminal output by mapping abstract escape sequences to specific operating system APIs, enabling reliable coloring and cursor positioning in environments that lack native ANSI support. It utilizes runtime platform dispatching to apply the appropriate logic
Adds cross-platform colored text support to terminal output.
Toolkit for developing sleek command line apps.
A toolbox for developing CLI clients.
A make-like build utility for Ruby.
A make-like build utility for Ruby.
Builds interactive user prompts for command-line applications.
Python and tab completion, better together.
Provides tab completion for command-line arguments.
A thin, practical wrapper around terminal capabilities in Python
Thin wrapper for managing terminal capabilities.
Create beautiful and testable command-line interfaces.
Framework for creating testable and visually appealing CLI tools.
Application Framework for Python
CLI application framework.