publishing_python_packages_talk icon indicating copy to clipboard operation
publishing_python_packages_talk copied to clipboard

Resources and slides from the talk "Publishing (Perfect) Python Packages on PyPI"

Publishing (Perfect) Python Packages On PyPI

This repo hosts slides and references for a talk I've given at PyCon Australia '18; PyCon UK '18; Python Glasgow, June '19; and upcoming EuroPython '19.

PDF exports of different versions the slide deck can be found here (probably improving chronologically):

  • PyCon Australia Slides
  • PyCon UK Slides
  • Python Glasgow

References

I referred to a bunch of different resources and projects when writing this talk. The primary sources I can think of are listed here:

Packaging Python Projects

The official packaging documentation from the Python Packaging Authority.

The Attrs Project

This project has an excellent example of a non-trivial, but sensible setup.py. I've learned so much by following the evolution of this project.

Cookiecutter

So much more than a source of python package templates, you'll find a bunch of project templates for different languages and ecosystems.

Ionel's Python Library Template

My preferred Python library template, with configuration for testing, CI etc. It most closely matches the advice in this talk.

Hitchikers Guide to Python Packaging

An outdated, but still useful guide to packaging in Python, from Tarek Ziadé.

Setuptools Documentation

The official documentation of the setuptools library. Comprehensive but sometimes a little dense.

PIP Documentation

Official documentation for the PIP tool.

Alternative Package Managers

Poetry

Aims to replace setup.py and PIP.

Flit

Aims to replace setup.py with something simpler and more declarative.

Conda

A competitor to pip, largely used in the data community. Able to install much more than just python modules!