33 个仓库
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 是一个命令行参数解析器和声明式接口工具,可将原始终端输入转换为结构化数据映射。它直接从标准化的 POSIX 风格帮助信息中推导解析逻辑和需求,将文档作为接口的正式规范。 该系统实现了 POSIX 用法模式解析器,将人类可读的帮助字符串转换为提取选项和位置参数的规则。它根据用户定义的内部用法模式自动生成帮助屏幕和版本信息。 该工具通过严格的参数和选项排序确保可预测的用户体验,防止在遇到位置参数后混入其他输入。它为命令行接口设计提供了完整的实现,通过将输入标记与预定义模式匹配来填充数据结构。
Creates command-line interfaces based on usage documentation strings.
Progress bar with real-time throughput and animations.
Asciimatics 是一个跨平台的终端用户界面框架和控制台封装库。它作为一个兼容 curses 的库,提供了构建交互式文本应用、ASCII 艺术生成以及终端动画引擎的工具包。 该项目以其视觉特效引擎脱颖而出,能够渲染精灵图、粒子系统和抗锯齿线条。它包含用于创建动态文本图形的专用系统,以及将图像文件转换为字符表示形式的工具。 该框架涵盖了核心终端管理功能,包括非阻塞键盘和鼠标输入处理、光标样式设置以及窗口大小调整检测。它提供了一个基于坐标的绘图引擎和基于组件的布局系统,用于排列按钮和文本框等交互元素。 该库抽象了类 Unix 的 termios 和 Windows 控制台 API 之间的差异,确保在不同操作系统上实现一致的视觉渲染。
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.