用途:指导创建、组织并分发 Python 包,使用现代打包工具与 pyproject.toml,并发布到 PyPI。适用场景包括:制作可分发库、构建带入口点的命令行工具、发布到 PyPI 或私有仓库、搭建项目结构、创建带依赖的可安装包、构建 wheel 与源码分发包、版本管理与发布、创建命名空间包、编写包元数据与分类器。
主要能力:介绍源码布局 src/package_name/(推荐)与扁平布局 package_name/ 的差异;说明包元数据文件 pyproject.toml、setup.py、setup.cfg;分发格式 wheel(.whl)与源码分发(.tar.gz);现代标准 PEP 517/518、PEP 621、PEP 660;构建后端 setuptools、hatchling、flit、poetry;分发渠道 PyPI、TestPyPI 及 JFrog、AWS CodeArtifact 等私有仓库。
使用方式:给出最小包结构示例(pyproject.toml、README.md、LICENSE、src/my_package/、tests/),以及最小 pyproject.toml 配置,包含 [build-system]、[project] 的 name、version、description、authors、readme、requires-python、dependencies 和 [project.optional-dependencies]。源码布局需配置 [tool.setuptools.packages.find] where = ["src"]。更详细的模式与示例见 references/details.md。
限制:本技能仅提供指导,不提供具体代码实现;需要用户提供项目上下文与技术栈信息;不处理非技术领域的业务决策。注意避免过度设计、忽视性能与安全、测试覆盖不足及文档不同步。
许可:内容源自 wshobson/agents,MIT License,Copyright (c) 2024 Seth Hobson;使用、修改与再分发须遵守 MIT 条款并保留版权声明。