33 repository-uri
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 este un parser de argumente pentru linia de comandă și un instrument de interfață declarativă care convertește input-ul brut din terminal într-o hartă de date structurată. Acesta își derivă logica de parsare și cerințele direct dintr-un mesaj de ajutor standardizat de tip POSIX, folosind documentația ca specificație formală pentru interfață. Sistemul implementează un parser de tipar de utilizare POSIX pentru a traduce șirurile de ajutor lizibile pentru oameni în reguli pentru extragerea opțiunilor și a argumentelor poziționale. Acesta generează automat ecrane de ajutor și informații despre versiune bazate pe tiparele de utilizare interne definite de utilizator. Instrumentul asigură o experiență previzibilă pentru utilizator prin ordonarea strictă a argumentelor și opțiunilor, prevenind amestecarea input-urilor odată ce argumentele poziționale sunt întâlnite. Oferă o implementare completă pentru designul interfeței de linie de comandă, potrivind token-urile de input cu tipare predefinite pentru a popula structurile de date.
Creates command-line interfaces based on usage documentation strings.
Progress bar with real-time throughput and animations.
Asciimatics is a cross-platform terminal user interface framework and console wrapper. It functions as a curses-compatible library providing a toolkit for building interactive text-based applications, an ASCII art generator, and a terminal animation engine. The project distinguishes itself through a visual effects engine capable of rendering sprites, particle systems, and anti-aliased lines. It includes specialized systems for creating moving text-based graphics and tools for converting image files into character-based representations. The framework covers core terminal management including
Provides curses-like terminal UI capabilities and animations.
Simple cross-platform colored terminal text in Python
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.