SuperAPI AI 工具集

python-cli

编程与开发

查看项目

更新于 10-15 17:29

技能介绍

用途:在构建或修改 Python 命令行界面、添加子命令、结构化 CLI 时,提供一套基于 Click 的可组合子命令组组织方式。

主要能力与结构约定:项目根目录放置 pyproject.toml,其中 console_script 指向 your_package.cli:main;包内 cli.py 作为根 Click 组,负责导入并注册各子命令模块;每个子命令目录(如 foo、bar)内各自暴露一个名为 cli 的 Click 组。

根入口做法:在 cli.py 中定义 @click.group(context_settings=CONTEXT_SETTINGS) 的 cli 函数,通过 cli.add_command(foo, name="foo") 等显式注册子命令组;提供 main() 调用 cli(),并可用 if name == "main" 触发。子命令模块示例中同样用 @click.group() 定义名为 cli 的组,再用 @cli.command() 与 @click.argument 声明具体命令。

关键模式:每个模块一个组,子命令目录导出的组统一命名为 cli;在根 CLI 中显式注册并指定名称;统一设置 CONTEXT_SETTINGS = {"help_option_names": ["-h", "--help"]};在 pyproject.toml 中配置 [project.scripts],例如 my-tool = "your_package.cli:main",配合 uv pip install -e . 生效。

收尾事项:修改 CLI 后应同步更新相邻的 README.md,以反映当前命令集合。

限制:资料未提供具体 Python 或 Click 版本要求、异常处理与测试细节、打包发布流程等信息,暂未提供。