-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
I think the current trajectory of setuptools is that we're deprecating direct invocation of most if not all custom commands, and as such the PEP 518 support is moving entirely to pip. This is fine for install and wheel and presumably build and several other commands will also be implemented in pip, while test is switching over to pytest and upload is switching over to twine.
However, people have long been able to write custom commands and have integrated them into their workflow, so they invoke python setup.py lint or python setup.py clean or something. What are we planning on doing for all of those?
My $0.02 is that I think we can't realistically get rid of these (and, frankly, I'm not sure we want to), but invocation via setup.py is a non-starter because the dependencies really have to happen before the script is invoked.
As such, I suggest that we create a new entry point script distributed with setuptools, like pysetup. This would be a thin wrapper around python setup.py that is PEP 518-aware. It would install the required dependencies in an isolated build environment and could even address #1201 with a [tool.setup] section of pyproject.toml.