Alternative tools
Before we finish the chapter, let's have a quick look at some alternative options that you have for packaging your projects. Before PEP 517 and PEP 518, it was very 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 aren't that many alternatives yet, but there are a few that are worth mentioning:
- The Flit project (https://flit.readthedocs.io/en/latest/index.html) 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 don't require complex build steps (like compiling...