Tutorials: Python Packaging Demystified

Presented by:


For most developers, Python packaging feels like a magical (and cryptic) black box. Apps and libraries use a variety of tools and have different packaging challenges. Once you start reading up on this topic, you come across many seemingly random components: setuptools, pip, poetry, wheels, pyproject.toml, MANIFEST.in, virtual environments, zippapp, shiv, pex, and so on. The sheer number of concepts to master can be overwhelming, leading many programmers to conclude that packaging in Python is a mess. Before you despair, join me in this tutorial session where you'll have a chance to learn how to package and publish/deploy your library and/or application through hands-on exercises.

Topics include:

  • How and why library packaging differs from application packaging
  • Differences between a source tree/source distribution/wheel
  • Differences between a build back-end and a build front-end (and why we even have this separation)
  • Tools used for packaging your library
  • Tools and techniques used to package your application
  • Testing your package for correctness