Publicando seu pacote

Desenvolvendo pacotes Python

James Fulton

Climate informatics researcher

PyPI

Python Package Index

  • O pip instala pacotes daqui
  • Qualquer pessoa pode enviar pacotes
  • Envie seu pacote assim que ele puder ser útil
1 https://pypi.org/
Desenvolvendo pacotes Python

Distribuições

  • Pacote de distribuição — uma versão empacotada do seu pacote, pronta para instalar.
  • Distribuição de código-fonte — um pacote de distribuição que é basicamente seu código-fonte.
  • Distribuição wheel — um pacote de distribuição processado para instalar mais rápido.
Desenvolvendo pacotes Python

Como gerar distribuições

python setup.py sdist bdist_wheel

  • sdist = distribuição de código-fonte
  • bdist_wheel = distribuição wheel
mysklearn/
|-- mysklearn
|-- setup.py
|-- requirements.txt
|-- LICENSE
|-- README.md

|-- dist <---
| |-- mysklearn-0.1.0-py3-none-any.whl
| |-- mysklearn-0.1.0.tar.gz
|-- build |-- mysklearn.egg-info
Desenvolvendo pacotes Python

Colocando seu pacote no mundo

Envie suas distribuições para o PyPI

twine upload dist/*

Envie suas distribuições para o TestPyPI

twine upload -r testpypi dist/*
mysklearn/
|-- mysklearn
|-- setup.py
|-- requirements.txt
|-- LICENSE
|-- README.md
|-- dist
|   |-- mysklearn-0.1.0-py3-none-any.whl
|   |-- mysklearn-0.1.0.tar.gz
|-- build
|-- mysklearn.egg-info
Desenvolvendo pacotes Python

Como outras pessoas podem instalar seu pacote

Instalar o pacote do PyPI

pip install mysklearn

Instalar o pacote do TestPyPI

pip install --index-url         https://test.pypi.org/simple 
            --extra-index-url   https://pypi.org/simple
            mysklearn
Desenvolvendo pacotes Python

Vamos praticar!

Desenvolvendo pacotes Python

Preparing Video For Download...