使用rich美化click的帮助输出
项目描述
在click中使用rich进行丰富的命令行界面渲染。
rich-click是围绕Click的一个包装,使用Rich渲染漂亮的帮助输出。
- Click是一个"用于创建美观命令行界面的Python包"。
- Rich是一个"用于终端中丰富文本和美观格式化的Python库"。
rich-click
的目的是提供从Click中获得的吸引人的帮助输出,使用Rich进行格式化,而无需进行大量自定义。
功能
- 🌈 丰富命令行格式化的click帮助和错误消息
- 😌 与Click相同的API:使用简单
import rich_click as click
- 💫 默认漂亮的样式
- 💻 CLI工具,可以在他人的工具上运行(命令前缀为
rich-click
) - 📦 将帮助文本导出为HTML或SVG
- 🎁 将命令和选项分组到命名面板中
- ❌ 格式良好的错误信息
- 🔢 简单设置自定义排序顺序
- 🎨 风格和行为可高度自定义
安装
pip install rich-click
查看文档了解所有支持的安装方法。
示例
简单示例
要在代码中使用rich-click,请将现有click CLI中的import click
替换为import rich_click as click
import rich_click as click
@click.command()
@click.option("--count", default=1, help="Number of greetings.")
@click.option("--name", prompt="Your name", help="The person to greet.")
def hello(count, name):
"""Simple program that greets NAME for a total of COUNT times."""
for _ in range(count):
click.echo(f"Hello, {name}!")
if __name__ == '__main__':
hello()
来自examples/11_hello.py
的截图
更复杂的示例
来自examples/03_groups_sorting.py
的截图
用法
这是使用rich-click的快速概述。查看文档获取更多信息。
开始使用rich-click
有几种方法
将rich_click
作为click
导入
使用与正常click
导入相同的命名空间替换您的正常click
导入为rich_click
import rich_click as click
就这样!✨ 然后像平时一样继续使用Click。
请参阅
examples/01_simple.py
的示例。
声明式
如果您愿意,可以在使用click时使用带有cls
参数的RichGroup
或RichCommand
。这意味着您可以并行继续使用未修改的click
包。
import click
from rich_click import RichCommand
@click.command(cls=RichCommand)
def main():
"""My amazing tool does all the things."""
请参阅
examples/02_declarative.py
的示例。
rich-click
CLI工具
rich-click附带一个CLI工具,允许您格式化任何使用Click的包的Click帮助输出。
使用时,在您的正常命令前加上rich-click
。例如,要从名为awesometool
的包中获取丰富的Click帮助文本,您可以运行
$ rich-click awesometool --help
Usage: awesometool [OPTIONS]
..more richified output below..
许可
本项目采用MIT许可协议。
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
构建发行版
rich_click-1.8.3.tar.gz 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 6d75bdfa7aa9ed2c467789a0688bc6da23fbe3a143e19aa6ad3f8bac113d2ab3 |
|
MD5 | e438422bccbd33eda9a02c12f3cffc5b |
|
BLAKE2b-256 | 3aa9a1f1af87e83832d794342fbc09c96cc7cd6798b8dfb8adfbe6ccbef8d70c |
rich_click-1.8.3-py3-none-any.whl 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 636d9c040d31c5eee242201b5bf4f2d358bfae4db14bb22ec1cafa717cfd02cd |
|
MD5 | 5dccbe9f400ce8d61674c859fa163075 |
|
BLAKE2b-256 | c6ea5a0c5a8e6532e971983d1b0fc99268eb66a10f489da35d9022ce01044191 |