Changes in Python packaging – what downstream packagers need to know
Python packaging has changed a lot in the last few years. New tools such as Poetry and Flit allow creating packages without the traditional setup.py
file, and new standards mean that pyproject.toml
files are now the linchpin for building and installing Python modules. The wheel package format, which is somewhat older, has also gained a more central role.
I’ll explain what has changed, including a brief summary of what motivated these changes. Then I’ll discuss how you can use the new standard interfaces and formats, with a focus on people re-packaging Python packages into other distribution systems such as Conda, Spack, or Linux distribution repositories. I’ll introduce the low-level ‘build’ and ‘installer’ tools, and compare them to the more widely used ‘pip install’.