SuperAPI AI 工具集

packaging-python-libraries

编程与开发

查看项目

更新于 10-16 01:09

技能介绍

用途:指导把 Python 库打包并分发到 PyPI,覆盖现代 pyproject.toml 配置、构建后端(setuptools、hatchling)、可信发布与依赖管理实践。

主要能力:给出 [build-system]、[project]、可选依赖、脚本入口、包数据等 pyproject.toml 要点;说明用 uv build 生成 sdist 与 wheel,用 uvx twine check 校验元数据,并优先在 CI 中通过可信发布上传,手动发布可先传 TestPyPI 再传正式 PyPI。依赖建议使用最小版本约束而非精确锁定,功能依赖放入 optional-dependencies。

使用方式:构建后必须检查 wheel 内容,例如 uv run python -m zipfile -l dist/*.whl,确认所有子包与数据文件都在;再在干净虚拟环境中安装并导入真实子模块符号、运行每个控制台脚本,且从仓库根目录之外执行,避免源码树干扰。直接引用依赖(如 toolkit @ https://...whl)需真实构建验证,Hatchling 下要设置 allow-direct-references = true,不要只用 uv pip install --dry-run 作为打包检查。

适用场景与限制:适合准备发布 Python 库的开发者。注意构建成功不等于 wheel 正确,twine check 只校验元数据不校验内容;避免过窄的 only-include 导致丢包,避免顶层模块与同名包目录冲突。资料未提供具体收费、平台支持范围等信息。