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

Inside The Cheeseshop: How Python Packaging Works (SciPy 2018)

Inside The Cheeseshop: How Python Packaging Works (SciPy 2018)

Questions and confusion about the Python packaging ecosystem abound. What is this `setup.py` file? What's the difference between wheels and eggs? Do I use setuptools or distutils? Why should I use twine? Do I put my projects dependencies in a `requirements.txt` or in `setup.py`? How do I just get my module up on PyPI? Should I use `pip` or `conda`? Wait, what is Warehouse?

This talk identifies the key tools one might encounter when trying to distribute Python software, what they are used for, why they exist, and their history (including where their weird names come from). In addition, we'll see how they all work together, what it takes to make them work, and what the future has in store for Python packaging.

Dustin Ingram

July 11, 2018
Tweet

More Decks by Dustin Ingram

Other Decks in Technology

Transcript

  1. Who am I? • Director @ PromptWorks in Aus4n, TX

    • PyTexas Organizer • Python Packaging Working Group (Packaging-WG) member • Python Packaging Authority (PyPA) member • Python Package Index (PyPI) maintainer SciPy 2018 — Dus/n Ingram — @di_codes
  2. Python Packaging Ge#ng the Code You Wrote To People That

    Want It Using the Same Language You Wrote It In SciPy 2018 — Dus/n Ingram — @di_codes
  3. Python Packaging It's Rela*vely Painless Now Go Ahead and Use

    It SciPy 2018 — Dus/n Ingram — @di_codes
  4. Python Packaging We're S'll Trying To Make It Be5er SciPy

    2018 — Dus/n Ingram — @di_codes
  5. Python Packaging Let's Just Throw It All Away And Start

    Over From Scratch SciPy 2018 — Dus/n Ingram — @di_codes
  6. Python Packaging Let Me Just Get You Up To Speed

    On Everything That's Changed Since Last Time SciPy 2018 — Dus/n Ingram — @di_codes
  7. Python Packaging There's A Lot Of Stuff Here You Might

    Not Need All Of It SciPy 2018 — Dus/n Ingram — @di_codes
  8. Python Packaging In the Simplest Terms Possible For Anyone That

    Cares SciPy 2018 — Dus/n Ingram — @di_codes
  9. Python Packaging So Easy A Caveman Could Do It SciPy

    2018 — Dus/n Ingram — @di_codes
  10. Hello I Am a PyPI Maintainer At the Very Least

    I Should Be Able To Tell You How To Use PyPI SciPy 2018 — Dus/n Ingram — @di_codes
  11. Links • h#ps:/ /www.youtube.com/watch?v=qOH-h-EKKac • h#ps:/ /www.youtube.com/watch?v=5BqAeN-F9Qs • h#ps:/ /www.youtube.com/watch?v=gc9dkktg1gU

    • h#ps:/ /www.youtube.com/watch? v=W8A2bOKPtJU • h#ps:/ /www.youtube.com/watch?v=eLPiPHr6TVI • h#ps:/ /www.youtube.com/watch? SciPy 2018 — Dus/n Ingram — @di_codes
  12. Problem: How do I get this to users? SciPy 2018

    — Dus/n Ingram — @di_codes
  13. Sub-Problem: My pla'orm does have packaging, but I want things

    now! SciPy 2018 — Dus/n Ingram — @di_codes
  14. Python Packaging So Easy a Spammer Could Do It SciPy

    2018 — Dus/n Ingram — @di_codes
  15. How to get help • h#ps:/ /packaging.python.org • Issue tracker

    for a given tool • On IRC: #pypa Freenode channel • h#ps:/ /github.com/pypa/packaging-problems SciPy 2018 — Dus/n Ingram — @di_codes
  16. Talk to me • Github: @di • Twi,er: @di_codes •

    Email: [email protected] SciPy 2018 — Dus/n Ingram — @di_codes
  17. Talk to me • Github: @di • Twi,er: @di_codes •

    Email: [email protected] • Or, ask me ques,ons now! SciPy 2018 — Dus/n Ingram — @di_codes