It's not very well documented, but the PyPA tools do provide a unified experience when used correctly.
Here's a PyPA project (FD: one I work on) that uses a single pyproject.toml to handle all aspects of packaging (and most non-packaging tool configuration, to boot)[1]. With a single file like that, the only thing you need to do to start a local development environment is:
Here's a PyPA project (FD: one I work on) that uses a single pyproject.toml to handle all aspects of packaging (and most non-packaging tool configuration, to boot)[1]. With a single file like that, the only thing you need to do to start a local development environment is:
(We provide a `make dev` target that does that for you as well.)Similarly, to build distributions, all you need is `build`:
[1]: https://github.com/pypa/pip-audit