SuperAPI AI 工具集

cli-packaging-patterns

通用与其它

查看项目

更新于 10-16 06:47

技能介绍

用途:为需要一行安装、子命令分发与分层配置的新 CLI 工具提供打包与分发模式,主要面向通过 uv tool install 分发的纯 Python CLI。

主要能力:使用 hatchling 作为构建后端并在 [project.scripts] 声明入口点;提供 main.py 双入口,使 python -m 始终可用;以 argparse 在根解析器与 serve 子命令上共享标志,让裸命令与 tool serve 等价;serve() 按 CLI 标志 > 设置文件 > 硬编码默认 的顺序解析配置。

使用方式:安装命令为 uv tool install git+https://github.com/yourorg/your-tool;带插件时用 --with 'your-plugin @ git+https://...' 追加。入口点声明为 my-tool = "my_tool.cli:main"。配置解析时 argparse 默认值必须为 None,以区分未传与显式传值;重新安装需加 --force。

适用场景与限制:仅适用于纯 Python CLI;多语言栈、无 Python 包装的 TS/React 应用、需引导系统依赖的工具、容器化多服务应用、Go/Rust 单静态二进制应改用其他模式。init 子命令用于配置工具自身在社区中并非常见约定,面向广泛用户时优先 login / configure 或不设命令。未提供具体收费与价格信息。