Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Lançando seu pacote Python open source

Lançando seu pacote Python open source

Dicas para lançar pacote Python open source: escolher licença, configurar pacote, projeto template, deploy no PyPI.

Dfd7b9492f5c5e49dca373bfdd7a3b1a?s=128

Elias Dorneles

August 26, 2015
Tweet

Transcript

  1. Lançando seu pacote Python open source Elias Dorneles @Scrapinghub

  2. None
  3. Passos 1. Escolha uma licença 2. Empacote apropriadamente 3. Documentação

    4. Ship it!
  4. 1. Escolha uma licença http://choosealicense.com

  5. 1. Escolha uma licença ... ou simplesmente use BSD! =)

  6. 2. Empacote apropriadamente Caminho mais curto: cookiecutter-pypackage Basta: $ cookiecutter

    https://github.com/audreyr/cookiecutter-pypackage ... seguir as instruções e mandar pro GitHub.
  7. 2. Empacote apropriadamente • setup.py ◦ dependências mínimas em install_requires

    ◦ descrição e classifiers • requirements.txt ◦ dependências específicas • testes! ◦ use tox: https://tox.readthedocs.org ◦ Travis-CI: https://travis-ci.org
  8. 3. Documentação • Sphinx vem configurado no ck-pypackage ◦ vantagens:

    autodocs, código linkável ◦ https://readthedocs.org • Se prefere Markdown: ◦ http://www.mkdocs.org • Caso seja difícil escrever, faça um vídeo ◦ ou algo do tipo (https://asciinema.org)
  9. 4. Ship It! Checklist: https://gist.github. com/audreyr/5990987 Bumpversion ajuda a automatizar:

    https://pypi.python.org/pypi/bumpversion • atualiza número da versão, cria tag, etc • versionamento semântico: http://semver.org/lang/pt-BR/
  10. 4. Ship It! Teste o release: • python setup.py sdist

    • mktmpenv • python setup.py install Se tudo for bem, publique no PyPI: • python setup.py sdist bdist_wheel upload ◦ configure universal wheel para PY2 & PY3
  11. 4. Ship It! Opcionalmente, configure Travis para deploy no PyPI

    a cada nova tag: http://docs.travis-ci.com/user/deployment/pypi/
  12. Leia mais Python Guide: http://docs.python-guide.org • dicas de empacotamento, testes,

    docs licença, PY2 vs PY3, etc 10 rules of open source projects: http://brunorocha.org/10-rules-of-open-source- projects.html
  13. Obrigado! Elias Dorneles @Scrapinghub