33 repositorios
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.
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.
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.
Docopt es un analizador de argumentos de línea de comandos y herramienta de interfaz declarativa que convierte la entrada cruda de la terminal en un mapa de datos estructurado. Deriva su lógica de análisis y requisitos directamente de un mensaje de ayuda estandarizado al estilo POSIX, utilizando la documentación como especificación formal para la interfaz. El sistema implementa un analizador de patrones de uso POSIX para traducir cadenas de ayuda legibles por humanos en reglas para extraer opciones y argumentos posicionales. Genera automáticamente pantallas de ayuda e información de versión basada en los patrones de uso internos definidos por el usuario. La herramienta garantiza una experiencia de usuario predecible mediante un orden estricto de argumentos y opciones, evitando la mezcla de entradas una vez que se encuentran argumentos posicionales. Proporciona una implementación completa para el diseño de interfaces de línea de comandos, haciendo coincidir los tokens de entrada con patrones predefinidos para poblar estructuras de datos.
Creates command-line interfaces based on usage documentation strings.
Progress bar with real-time throughput and animations.
Asciimatics es un framework de interfaz de usuario de terminal multiplataforma y envoltorio de consola. Funciona como una biblioteca compatible con curses que proporciona un kit de herramientas para construir aplicaciones interactivas basadas en texto, un generador de arte ASCII y un motor de animación de terminal. El proyecto se distingue por un motor de efectos visuales capaz de renderizar sprites, sistemas de partículas y líneas suavizadas. Incluye sistemas especializados para crear gráficos en movimiento basados en texto y herramientas para convertir archivos de imagen en representaciones basadas en caracteres. El framework cubre la gestión central de terminales, incluyendo el manejo de entrada de teclado y ratón sin bloqueo, estilo de cursor y detección de cambio de tamaño de ventana. Proporciona un motor de dibujo basado en coordenadas y una composición de diseño basada en widgets para organizar elementos interactivos como botones y cuadros de texto. La biblioteca abstrae las diferencias entre los termios tipo Unix y las API de consola de Windows para garantizar un renderizado visual consistente en diferentes sistemas operativos.
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.