-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Since pyproject.toml have been largely adopted since the introduction in a PEP, this is time to move, even setuptools now is starting to warn about setup.cfg, so there is no more a real choice.
The TOML config file is the official new way to go since it has been validated in a PEP. However it seems not totally ready yet because of some very common packages having troubles with it:
- It makes PIP to enter in isolation mode : https://pip.pypa.io/en/stable/reference/build-system/pyproject-toml/ which has been criticized, honestly i don't see all the scope of this problems for now;
- Flake8 does not support it to hold its configuration so we still need to have a
setup.cfgor a.flake8file
There is a summary of common packaging tools that does not support yet the TOML config:
https://github.com/flying-sheep/awesome-python-packaging
In opposite, there is a few package now that does not support setup.cfg or even their proprietary config file like .flake8. Black is one these package, it only supports for TOML configuration and nothing else, which currently would requires to have a pyproject.toml to hold its configuration.
The benefits of TOML files are just not enough yet to migrate to it, this issue will still remain opened until Python ecosystem has resolved it, especially Flake and PIP.
Other useful discussion links related to this subject:
- https://discuss.python.org/t/pip-pyproject-toml-and-debug-builds/3766/1 Where some tips has been given for pip and isolation workaround;
- pyproject.toml (PEP 518) support PyCQA/flake8#234 The Flake8 issue awaiting for a resolution to implement support of TOML config;
- Offer option other than pyproject.toml for config psf/black#683 The Black issue that definitively closed door to any other support than TOML config;