Skip to content

Convert setup.py to declarative build file when possible#880

Merged
pganssle merged 2 commits into
dateutil:masterfrom
FakeNameSE:setup_cleanup
Feb 23, 2019
Merged

Convert setup.py to declarative build file when possible#880
pganssle merged 2 commits into
dateutil:masterfrom
FakeNameSE:setup_cleanup

Conversation

@FakeNameSE

@FakeNameSE FakeNameSE commented Feb 23, 2019

Copy link
Copy Markdown
Contributor

Summary of changes

Moved simple constants from setup.py to setup.cfg.

Closes #871

Pull Request Checklist

Comment thread setup.cfg Outdated
FakeNameSE and others added 2 commits February 23, 2019 16:10
The new policy of dateutil is to use the declarative build files
wherever possible.

Co-authored-by: aquinlan82 <[email protected]>
Co-authored-by: gurgenz221 <[email protected]>
Co-authored-by: jachen20 <[email protected]>
@pganssle pganssle changed the title Setup cleanup Convert setup.py to declarative build file when possible Feb 23, 2019
@pganssle
pganssle merged commit 28c14ab into dateutil:master Feb 23, 2019
@pganssle pganssle mentioned this pull request Nov 3, 2019
@kapilt

kapilt commented Dec 8, 2019

Copy link
Copy Markdown

this has caused a fairly large problem for downstream users, due to the need to upgrade setup tools for this inconsequential change, which has caused some downstream dependencies to freeze, resulting in a large amount of churn for thousands of downstream packages and developers as their forced to pin to 2.8.0. a large portion of that is due to boto3's own issues with its installers, but packaging decisions that cause deprecation of extant releases really need careful consideration in libraries. given this is effectively a non functional change, is there any interest in a pr that would revert it, its unclear what value the change was delivering, especially measured by its negative impact to users.

@pganssle

pganssle commented Dec 8, 2019

Copy link
Copy Markdown
Member

@kapilt No thank you. dateutil ships a universal wheel, so it shouldn't really matter what version of setuptools you have, and if you insist on building dateutil from scratch, you should use a recent version.

If for some reason you need to build dateutil from source (which should be rare), the version of setuiptools required to build dateutil is documented in the pyproject.toml, and the current version of dateutil is intended to be built with a PEP 517-compatible front-end. Deviations from this are basically unsupported configurations.

I would also note that it is dangerous to use an old version of setuptools, as you are likely to generate bad metadata, or cause problems with your install environment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move all simple constants from setup.py into setup.cfg

3 participants