python-pypi-package-builder
Ajuda seu agente a construir e publicar pacotes Python de alta qualidade. Ele cuida de testes, versionamento e publicação para que outros possam usar seu código.
O que ela faz
Este guia ajuda a criar, testar e publicar bibliotecas Python para o PyPI (o "mercado" de pacotes Python). Ele cobre desde a organização do código até a publicação final, garantindo que seu pacote funcione bem e seja fácil de usar por outros desenvolvedores.
Quando usar
- ✓Quando você quer criar sua primeira biblioteca Python para compartilhar.
- ✓Ao precisar publicar um pacote Python no PyPI.
- ✓Para organizar e testar um projeto Python existente.
Exemplo do que pedir para a IA
“Como faço para criar e publicar uma biblioteca Python chamada 'meu_utilitario'?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
O guia te faz escolher o melhor jeito de organizar seu código e as ferramentas certas para construir, testar e publicar seu pacote. Ele também explica como dar versões ao seu pacote e usar recursos modernos como 'type hints'.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add github/awesome-copilot --skill python-pypi-package-builderOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/python-pypi-package-builder/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Skill para Construção de Pacotes Python no PyPI
Um guia completo e testado em batalha para construir, testar, lintar, versionar, tipar e publicar uma biblioteca Python de nível de produção no PyPI — desde o primeiro commit até o lançamento pronto para a comunidade.
Instrução do Agente de IA: Leia este arquivo inteiro antes de escrever uma única linha de código ou criar qualquer arquivo. Cada decisão — layout, backend, estratégia de versionamento, padrões, CI — tem uma regra de decisão aqui. Siga as árvores de decisão em ordem. Esta skill se aplica a qualquer tipo de pacote Python (utilitário, SDK, CLI, plugin, biblioteca de dados). Não pule seções.
Navegação Rápida
| Seção neste arquivo | O que cobre |
|---|---|
| 1. Gatilho da Skill | Quando carregar esta skill |
| 2. Decisão de Tipo de Pacote | Identifique o que você está construindo |
| 3. Decisão de Estrutura de Pastas | src/ vs flat vs monorepo |
| 4. Decisão de Backend de Build | setuptools / hatchling / flit / poetry |
| 5. Fluxo de Empacotamento PyPA | O pipeline canônico de publicação |
| 6. Templates de Estrutura de Projeto | Layouts completos para cada opção |
| 7. Estratégia de Versionamento | PEP 440, semver, dinâmico vs estático |
| Arquivo de Referência | O que cobre |
|---|---|
references/pyproject-toml.md |
Todos os quatro templates de backend, setuptools_scm, py.typed, configs de ferramentas |
references/library-patterns.md |
OOP/SOLID, type hints, design de classe principal, factory, protocols, CLI |
references/testing-quality.md |
conftest.py, testes unitários/de backend/assíncronos, ruff/mypy/pre-commit |
references/ci-publishing.md |
ci.yml, publish.yml, Trusted Publishing, TestPyPI, CHANGELOG, checklist de release |
references/community-docs.md |
README, docstrings, CONTRIBUTING, SECURITY, anti-padrões, checklist master |
references/architecture-patterns.md |
Sistema de backend (plugin/estratégia), camada de configuração, camada de transporte, CLI, injeção de backend |
references/versioning-strategy.md |
PEP 440, SemVer, pré-release, mergulho profundo em setuptools_scm, flit estático, motor de decisão |
references/release-governance.md |
Estratégia de branch, proteção de branch, OIDC, validação de autor de tag, prevenção de tags inválidas |
references/tooling-ruff.md |
Configuração apenas com Ruff (substitui black/isort), configuração mypy, pre-commit, asyncio_mode=auto |
Script de Scaffold: execute python skills/python-pypi-package-builder/scripts/scaffold.py --name your-package-name
para gerar todo o layout de diretório, arquivos stub e pyproject.toml em um único comando.
1. Gatilho da Skill
Carregue esta skill sempre que o usuário quiser:
- Criar, fazer scaffold ou publicar um pacote ou biblioteca Python no PyPI
- Construir um SDK instalável via pip, utilitário, ferramenta CLI ou extensão de framework
- Configurar
pyproject.toml, linting, mypy, pre-commit ou GitHub Actions para um projeto Python - Entender versionamento (
setuptools_scm, PEP 440, semver, versionamento estático) - Entender especificações PyPA:
py.typed,MANIFEST.in,RECORD, classificadores - Publicar no PyPI usando Trusted Publishing (OIDC) ou tokens de API
- Refatorar um pacote existente para seguir padrões modernos de empacotamento Python
- Adicionar type hints, protocols, ABCs ou dataclasses a uma biblioteca Python
- Aplicar padrões de design OOP/SOLID a um pacote Python
- Escolher entre backends de build (setuptools, hatchling, flit, poetry)
Também acione para frases como: "construir um SDK Python", "publicar minha biblioteca", "configurar CI PyPI", "criar um pacote pip", "como publicar no PyPI", "ajuda pyproject.toml", "PEP 561 typed", "versionamento setuptools_scm", "semver Python", "PEP 440", "release com git tag", "Trusted Publishing".
2. Decisão de Tipo de Pacote
Identifique o que o usuário está construindo antes de escrever qualquer código. Cada tipo tem padrões distintos.
Tabela de Decisão
| Tipo | Padrão Principal | Ponto de Entrada | Deps Chave | Pacotes de Exemplo |
|---|---|---|---|---|
| Biblioteca de utilitário | Módulo de funções puras + helpers | Importar apenas API | Mínimo | arrow, humanize, boltons, more-itertools |
| Cliente API / SDK | Classe com métodos, autenticação, lógica de retry | Importar apenas API | httpx ou requests |
boto3, stripe-python, openai |
| Ferramenta CLI | Funções de comando + parser de argumentos | [project.scripts] ou [project.entry-points] |
click ou typer |
black, ruff, httpie, rich |
…
Perguntas frequentes
O que é PyPI?
PyPI significa Python Package Index. É um repositório online onde desenvolvedores Python publicam e compartilham bibliotecas (pacotes) que outros podem instalar e usar em seus projetos.
O que são 'build backends' (setuptools, hatchling, flit, poetry)?
São diferentes ferramentas que o Python usa para empacotar seu código, transformando-o em um formato que pode ser instalado via pip e publicado no PyPI. Cada um tem suas vantagens.
O que são 'type hints'?
'Type hints' (dicas de tipo) são anotações que você adiciona ao seu código Python para indicar o tipo de dado que uma variável ou função espera ou retorna. Isso ajuda a encontrar erros mais cedo e torna o código mais fácil de entender.
Detalhes
Descrição original do autor
End-to-end skill for building, testing, linting, versioning, and publishing a production-grade Python library to PyPI. Covers all four build backends (setuptools+setuptools_scm, hatchling, flit, poetry), PEP 440 versioning, semantic versioning, dynamic git-tag versioning, OOP/SOLID design, type hints (PEP 484/526/544/561), Trusted Publishing (OIDC), and the full PyPA packaging flow. Use for: creat
repo: github/awesome-copilot
Popularidade
- Estrelas no GitHub
- 40 mil
- Posição no ranking
- #5295
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
api-connector-builder
Faz seu agente construir novas conexões com APIs seguindo o padrão já existente. Use quando precisar adicionar mais uma integração sem criar um novo jeito de fazer.
affaan-m/ECC
api-design
Ajuda seu agente a projetar APIs REST seguindo as melhores práticas. É útil para definir como as APIs se comunicam, como os erros são mostrados e como organizar os dados.
affaan-m/ECC
backend-patterns
Ajuda seu agente com padrões de arquitetura do lado do servidor e otimização de banco de dados. É útil para construir ou revisar o código que roda no servidor.
affaan-m/ECC