An unbiased evaluation of environment management and packaging tools
2023-07-19 , Terrace 2A

Python packaging is quickly evolving and new tools pop up on a regular basis. Lots of talks and posts on packaging exist but none of them give a structured, unbiased overview of the available tools.

This talk will shed light on the jungle of packaging and environment management tools, comparing them on a basis of predefined features.


Python packaging has come a long way in the last years. The landscape is evolving quickly and new tools pop up on a regular basis. Lots of talks and posts on packaging exist but none of them give a structured, unbiased overview of the available tools.

This talk will shed light on the jungle of packaging and environment management tools, comparing them on a basis of predefined features.

We will categorize tools using the following categories:
- Python version management
- Environment management
- Package management
- Package building
- Package publishing

A lot of tools exist, including: pyenv, pip, poetry, hatch, flit, and many more. We will categorize all of them and discuss some in more detail.

Most importantly, we will evaluate the tools on the basis of features that are important for developers like:
- Does the tool manage dependencies?
- Can it manage Python installations?
- Does it have a clean build/publish flow?
- Does it allow for plugins?
- Does it support important PEPs, e.g. PEP 660, PEP 621, PEP 582?

This talk is intended for developers who
- Have used packaging and want to get to know new tools
- Want to have an overview of existing tools and their capabilities


Expected audience expertise:

intermediate

See also: PDF of slides (2.1 MB)

I'm Anna-Lena, a machine learning engineer living in Bonn, Germany. I'm very passionate about learning and love to share my knowledge with other people. Besides machine learning I love teaching Python and have been a regular guest on PyCon events and podcasts.