Automatic versioning: use `setuptools_scm[toml]` over `versioneer`
- Dominant language
- Python
- Stars
- 13.9k
- Forks
- 2k
- PR merge metrics
- No merged PRs in 30d
Description
@douglasdavis I'm definitely in favour of dropping versioneer in favour of setuptools_scm or hatch-vcs would you like to open an issue for this?
_Originally posted by @graingert in https://github.com/dask/dask/pull/10102#discussion_r1158570277_
More info:
Using `versioneer` requires tracking an automatically generated file in the version control source tree; `setuptools_scm` (and other tools like `hatch-vcs`) generate the file only at build time (when preparing the sdist tarball and the wheel). Since Dask is using `setuptools`, it would be natural to use `setuptools_scm`. This doesn't change any requirements for Dask; it's just a build/packaging time requirement.
Contributor guide
Research direction
Start by reviewing Dask's current setuptools and versioneer packaging configuration, then compare the build-time behavior described for setuptools_scm[toml]. Done means versioneer is replaced without adding a runtime requirement, and both the source distribution and wheel receive the intended version automatically.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100