Python Packaging
打包和发布 Python 项目。
When to Invoke
- •创建可安装的包
- •发布到 PyPI
- •设置开发环境
- •管理项目依赖
- •版本发布
Input Format
yaml
project_path: "./myproject" package_name: "my-awesome-package" build_tool: "poetry"
Output Format
yaml
setup_config: | [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" [tool.poetry] name = "my-awesome-package" version = "0.1.0" description = "A awesome package" authors = ["Your Name <you@example.com>"] readme = "README.md" license = "MIT" [tool.poetry.dependencies] python = "^3.9" requests = "^2.28.0" [tool.poetry.group.dev.dependencies] pytest = "^7.0" black = "^22.0" [tool.poetry.scripts] my-cli = "my_package.cli:main" build_script: | #!/bin/bash # 构建和发布 poetry build poetry publish publish_guide: - "注册 PyPI 账号" - "配置 API Token" - "运行 poetry publish" - "验证包安装" check_list: - "README.md 完整" - "LICENSE 文件存在" - "版本号已更新" - "测试通过" - "CHANGELOG 已更新"
Examples
Example 1: 库包
Input: 工具库
Output:
- •pyproject.toml 配置
- •入口点定义
- •依赖管理
- •发布流程
Example 2: 应用包
Input: CLI 工具
Output:
- •控制台脚本配置
- •数据文件包含
- •平台特定配置
- •安装指南
Best Practices
- •语义化版本: 遵循 SemVer 规范
- •明确依赖: 指定版本范围
- •包含测试: 发布前运行测试
- •文档完整: README 和文档齐全