跳转到主要内容

自动为您的Click CLI生成文本TUI

项目描述

A picture of a trogon (bird) sitting on a laptop

Discord

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。

屏幕截图

Screenshot 2023-05-20 at 12 07 31 Screenshot 2023-05-20 at 12 08 21
Screenshot 2023-05-20 at 12 08 53 Screenshot 2023-05-20 at 12 09 47

为什么?

命令行应用奖励重复使用,但它们缺乏 可发现性。如果您不经常使用 CLI 应用程序,或者有太多的选项需要记住,Trogon TUI 界面可以帮助您(再次)发现选项和开关。

这个名字意味着什么?

这个项目最初是一个 Textual 实验,我们给它取了鸟的名字。 翠鸟 是一种美丽的鸟,我在2017年有幸拍摄过。

另见 Frogmouth,一个终端的Markdown浏览器。

路线图

翠鸟现在可以使用。只需在现有项目中添加2行代码(!)即可。

它仍处于早期开发阶段,我们为它计划了很多改进。

安装

翠鸟可以通过PyPI安装。

pip install trogon

快速入门

点击

  1. 导入 from trogon import tui
  2. 在您的click应用程序上方添加 @tui 装饰器,例如。
    from trogon import tui
    
    @tui()
    @click.group(...)
    def cli():
        ...
    
  3. 您的click应用程序将有一个新的 tui 命令可用。

Typier

  1. 导入 from trogon.typer import init_tui
  2. 将您的Typer CLI应用程序传递给 init_tui 函数,例如。
    cli = typer.Typer(...)
    init_tui(cli)
    
  3. 您的Typer应用程序将有一个新的 tui 命令可用。

请参阅 examples 文件夹中的两个示例应用程序。

自定义命令名称和自定义帮助

默认情况下,添加的命令将称为 tui,其帮助文本为 打开文本TUI。

您可以使用 command=help= 参数自定义其中一个或两个。

@tui(command="ui", help="Open terminal UI")
@click.group(...)
def cli():
    ...

关注此项目

如果您对这个应用程序感兴趣,您可能想加入Textual Discord服务器,在那里您可以与Textual的开发者/社区交流。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。

源分布

trogon-0.6.0.tar.gz (22.9 kB 查看哈希值)

上传时间

构建分布

trogon-0.6.0-py3-none-any.whl (26.1 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面