Alternative tools
Before we finish the chapter, let us briefly discuss some alternative options that you have for packaging your projects. Before PEP 517 and PEP 518, it was difficult to use anything other than Setuptools to build packages. There was no way for projects to specify what libraries were required to build them or how they should be built, so pip
and other tools just assumed that packages should be built using Setuptools.
Thanks to the build-system information in the pyproject.toml
file, it is now easy to use any packaging library you want. There are several alternatives to choose from, including:
- The Flit project (https://flit.pypa.io) was instrumental in inspiring the development of the PEP 517 and PEP 518 standards (the creator of Flit was a co-author of PEP 517). Flit aims to make packaging simple, pure Python projects that do not require complex build steps (like compiling C code) as easy as possible. Flit also provides a CLI for building packages and...