Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.

"virtualenv-clone>=0.2.5",
"virtualenv",
"virtualenv>=20.17.1",
]
extras = {
"dev": [
Expand Down