Publicando e reutilizando pacotes Python

Para transformar um código Python em uma biblioteca reutilizável e disponibilizá-la no PyPI, siga estas etapas:

1. Organizar o CĂłdigo:

  • Criar uma Estrutura de Pacotes: Organize seu cĂłdigo em uma pasta principal que representará o nome da sua biblioteca. Dentro dessa pasta, coloque os arquivos do seu cĂłdigo. ^[6. MĂłdulos — Documentação Python 3.13.0]
  • Criar um Arquivo __init__.py: Este arquivo, dentro da pasta principal, indica ao Python que a pasta Ă© um pacote. Ele pode ser usado para importar classes e funções importantes do pacote para facilitar o acesso dos usuários.

Diagrama exemplo da Estrutura da Biblioteca “Panda Vídeo”

└── panda_video
    ├── LICENCE
    ├── README.md
    ├── setup.py
    └── src
        ├── __init__.py
        ├── main.py
        ├── panda_foo.py
        └── panda_video.py
    └── tests
        ├── __init__.py

Explicação:

  • panda_video: Pasta principal da biblioteca, que representa o pacote em si.
  • __init__.py: Arquivo especial que indica ao Python que a pasta Ă© um pacote e permite importar classes diretamente do pacote. Neste caso, importa todas as classes da subpasta “wrapper”.
  • src: Subpasta contendo os arquivos com o cĂłdigo principal da biblioteca.
  • main.py, panda_foo.py, panda_video.py: Arquivos que contĂŞm as classes da biblioteca, como Main, PandaFoo e PandaVideo.

Exemplo de Importação:

from panda_video import PandaVideo

2. Preparar Arquivos Essenciais:

3. Criar o Arquivo setup.py:

  • Importar setup do setuptools: Esta ferramenta Ă© crucial para empacotar sua biblioteca.
  • Definir Metadados: No arquivo setup.py, defina informações como nome, versĂŁo, autor, descrição, licença, palavras-chave, pacotes incluĂ­dos, dependĂŞncias e outros detalhes relevantes.

Exemplo de setup.py:

from setuptools import setup
 
with open("README.md", "r") as arq:
    readme = arq.read()
 
setup(name='wrapper-panda-video',
    version='0.0.1',
    license='MIT License',
    author='Caio Sampaio',
    long_description=readme,
    long_description_content_type="text/markdown",
    author_email='caio@pythonando.com.br',
    keywords='panda video',
    description=u'Wrapper nĂŁo oficial do Panda Video',
    packages=['panda_video'],
    install_requires=['requests'],)

4. Empacotar a Biblioteca:

  • Usar o Comando:

python setup.py sdist

  • Este comando cria um pacote distribuĂ­vel no formato .tar.gz, contendo todos os arquivos necessários.

5. Criar uma Conta no PyPI:

6. Instalar a Ferramenta twine:

  • Use o comando:

pip install twine

  • Esta ferramenta Ă© recomendada para fazer o upload da sua biblioteca para o PyPI.

7. Fazer o Upload da Biblioteca:

  • Execute o comando para criar um repositĂłrio de teste:

twine upload --repository-url https://test.pypi.org/legacy/ dist/*

  • Ou para criar um repositĂłrio oficial:

twine upload dist/*

  • Este comando envia o pacote para o PyPI. VocĂŞ precisará fornecer suas credenciais do PyPI.

8. Testar a Instalação:

  • Crie um novo ambiente virtual.
  • Instale sua biblioteca usando pip install <nome-da-sua-biblioteca>.
  • Importe sua biblioteca em um script Python para testar se tudo funciona corretamente.

Seguindo essas etapas, você pode transformar seu código Python em uma biblioteca reutilizável e compartilhá-la com a comunidade Python através do PyPI.

ReferĂŞncias

Pythonando - Publicando uma BIBLIOTECA PYTHON reutilizável no PYPI

Guia do usuário do Python Packaging