Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump required setuptools and virtualenv #5593

Merged
merged 1 commit into from
Feb 6, 2023
Merged

Bump required setuptools and virtualenv #5593

merged 1 commit into from
Feb 6, 2023

Conversation

oz123
Copy link
Contributor

@oz123 oz123 commented Feb 6, 2023

Following the discussion in #5582, it seems it's about time to update these versions.

Following the discussion in #5582, it seems it's about time
to update these versions.
@oz123 oz123 requested a review from matteius February 6, 2023 10:32
@oz123 oz123 merged commit 8939c86 into main Feb 6, 2023
@oz123 oz123 deleted the bump-dependencies branch February 6, 2023 12:11
@@ -21,9 +21,9 @@

required = [
"certifi",
"setuptools>=36.2.1",
"setuptools>=67.0.0",
Copy link
Contributor

@edmorley edmorley Mar 9, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi :-)

This setuptools version is very very new - and contains many breaking changes meaning that some projects are not yet able to adopt it.

Please can the minimum version be lowered slightly? Ideally to say 63.x or older?

(setuptools v64 contained a number of editable mode breaking changes, then v66 contained the PEP 440 breaking changes: https://github.com/pypa/setuptools/blob/main/CHANGES.rst)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does this affect your project?

Copy link
Contributor

@edmorley edmorley Mar 9, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Heroku Python buildpack bootstraps pip, setuptools and wheel in the environment (to curated known-reliable versions), then installs pipenv using pip. Installing pipenv upgrades the curated setuptools version (currently 63.4.3), since pipenv's minimum setuptools version is newer.

This means we either can't use the version of setuptools we want, or else will have to stay on older pipenv for now.

If pipenv actually needed setuptools 67.x then setting a very new minimum version is fine, however, I'm presuming pipenv does not actually need such a new version (and instead just something newer than the previous minimum of setuptools 36.x).

In general, if a package doesn't need the latest of a dependency, it's more friendly to others consuming the package if minimum version ranges are set slightly more conservatively.

After all, users who want to use the latest of everything will still be able to do that, given that new installs of pipenv will get latest of everything without having to do anything, and even existing installs will get upgraded, if they are on a version older than 63.x (if the minimum is relaxed slightly to my suggestion of 63.x).

I'm happy to open a PR if you would be open to it? :-)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm happy to open a PR if you would be open to it? :-)

@edmorley That would be great -- I actually was worried about something like this going with the newest setuptools because I know a lot has been changing in that ecosystem.

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.

3 participants