自动为您的Click CLI生成文本TUI
项目描述
Trogon
自动为命令行应用生成友好的终端用户界面。
🎬 视频演示
对应用于 sqlite-utils 的 Trogon 应用的快速浏览。
https://github.com/Textualize/trogon/assets/554369/c9e5dabb-5624-45cb-8612-f6ecfde70362
Trogon 与流行的 Click Python 库兼容,但将来将支持其他库和语言。
工作原理
Trogon 检查您的(命令行)应用并提取一个 模式,该模式描述了选项/开关/帮助等。然后它使用这些信息来构建一个您可以使用它来编辑和运行命令的 Textual UI。
最终我们希望将此模式和一个协议正式化,以从应用中提取或公开它。这将允许 Trogon 为任何 CLI 应用程序构建 TUI,而不管它是如何构建的。如果您熟悉 Swagger,请考虑 Swagger for CLIs。
屏幕截图
|
|
|
|
为什么?
命令行应用奖励重复使用,但它们缺乏 可发现性。如果您不经常使用 CLI 应用程序,或者有太多的选项需要记住,Trogon TUI 界面可以帮助您(再次)发现选项和开关。
这个名字意味着什么?
这个项目最初是一个 Textual 实验,我们给它取了鸟的名字。 翠鸟 是一种美丽的鸟,我在2017年有幸拍摄过。
另见 Frogmouth,一个终端的Markdown浏览器。
路线图
翠鸟现在可以使用。只需在现有项目中添加2行代码(!)即可。
它仍处于早期开发阶段,我们为它计划了很多改进。
安装
翠鸟可以通过PyPI安装。
pip install trogon
快速入门
点击
- 导入
from trogon import tui
- 在您的click应用程序上方添加
@tui
装饰器,例如。from trogon import tui @tui() @click.group(...) def cli(): ...
- 您的click应用程序将有一个新的
tui
命令可用。
Typier
- 导入
from trogon.typer import init_tui
- 将您的Typer CLI应用程序传递给
init_tui
函数,例如。cli = typer.Typer(...) init_tui(cli)
- 您的Typer应用程序将有一个新的
tui
命令可用。
请参阅 examples
文件夹中的两个示例应用程序。
自定义命令名称和自定义帮助
默认情况下,添加的命令将称为 tui
,其帮助文本为 打开文本TUI。
您可以使用 command=
和 help=
参数自定义其中一个或两个。
@tui(command="ui", help="Open terminal UI")
@click.group(...)
def cli():
...
关注此项目
如果您对这个应用程序感兴趣,您可能想加入Textual Discord服务器,在那里您可以与Textual的开发者/社区交流。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。