Pular para o conteúdo
Skillpedia
APIs e servidores (backend)40 mil · #5295

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

https://github.com/github/awesome-copilot/blob/main/skills/python-pypi-package-builder/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/python-pypi-package-builder/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-builder

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/python-pypi-package-builder/SKILL.md -o SKILL.md
Conteú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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas