setuptools_scm icon indicating copy to clipboard operation
setuptools_scm copied to clipboard

Consistency of documentation of what version of setuptools is required

Open ksunden opened this issue 2 years ago • 2 comments
trafficstars

Currently there are references to the required version being:

At various places in the docs/code.

Additionally, there is a comment that states:

https://github.com/pypa/setuptools_scm/blob/ceca2352f09ed22f825f45a392cca5aff83c6aff/docs/index.md?plain=1#L16-L17

However, the pyproject.toml does include setuptools as a runtime dependency, but does so with no pin, allowing broken environments to exist:

https://github.com/pypa/setuptools_scm/blob/ceca2352f09ed22f825f45a392cca5aff83c6aff/pyproject.toml#L48

Making these sources consistent would be appreciated, as it is rather hard to tell what I actually need to do as a user.

In my case, build isolation was getting most recent setuptools but then installing into an env that had older setuptools, and we have setuptools_scm as an optional dependency to get updated version numbers for editable installs. But because nothing pinned a version for runtime, it warned (which turned into errors in the test suite).

ksunden avatar Sep 20 '23 22:09 ksunden

The issue was also reported from NumPy CI when building ninja: https://github.com/scikit-build/ninja-python-distributions/issues/226#issuecomment-2495844812 The PyPI ninja distribution has no direct dependency on setuptools. The dependency comes from scikit-build-core when using dynamic metadata which adds setuptools-scm as a build dependency (but not setuptools). As noted by @ksunden, is there any reason not to add a lower bound pin on setuptools in pyproject.toml dependencies ?

mayeut avatar Nov 24 '24 10:11 mayeut

For a while there was

But modern tooling is more avaliable since quite a while

RonnyPfannschmidt avatar Nov 24 '24 13:11 RonnyPfannschmidt

the 9.0 release will be the last release with non-pinned setuptools for legacy deployment reasons- the 10.0 release will pin setuptools 80 as minimum

RonnyPfannschmidt avatar Aug 04 '25 08:08 RonnyPfannschmidt