Skill de Empacotamento e Publicação
Estrutura de projeto e releases PyPI - uma Skill de Agente para Python 3.14 e uv 0.6+.
Busque em todas as páginas da documentação
Estrutura de projeto e releases PyPI - uma Skill de Agente para Python 3.14 e uv 0.6+.
Cria layout de biblioteca publicável: src/<package>/, pyproject.toml (PEP 621), README.md, LICENSE, CHANGELOG.md, GitHub Actions release.yml, passos de teste no TestPyPI e política de incremento de versão.
| Entrada | Por quê |
|---|---|
| Nome do pacote | Disponibilidade do nome no PyPI |
| Licença | MIT, Apache-2.0, proprietária |
| Versão mínima do Python | requires-python (3.14 vs 3.13) |
| Extras opcionais | Grupos de dependência dev, gpu |
| Alvo de publicação | PyPI, índice privado, Artifactory |
src/<nome>/__init__.py com __version__[project.scripts] se um ponto de entrada CLI for necessáriouv build / python -m buildtwine check dist/* na CIsrc - importa o pacote de src/ e não da raiz do repositório no sys.path.hatchling ou setuptools explicitamente.vX.Y.Z aciona a publicação - não cada commit principal.uv sync --all-extras
uv run ruff check .
uv run pytest -q
uv build
uv run twine check dist/*
# CI: publicar na tag após autenticação de publicador confiável[project]
name = "acme-utils"
version = "0.1.0"
requires-python = ">=3.14"
dependencies = []
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/acme_utils"]uv publish quando disponível no uv fixado; caso contrário, twine upload - a skill documenta ambos.
Um pyproject.toml por pacote ou configuração uv de workspace - documente o layout escolhido no README.
Versões da Stack: Esta página foi escrita para Python 3.14.0 (3.14 estável, 3.13 em manutenção), FastAPI 0.115+, Django 5.2, Flask 3.1, Pydantic 2, PyTorch 2.6+, pandas 2.2+, Polars 1.x, ruff 0.9+ e uv 0.6+.
Revisado por Chris St. John·Última atualização: 19 de jul. de 2026