dask / dask/dask

Automatic versioning: use `setuptools_scm[toml]` over `versioneer`

Open
#10,151 4 comments 1 reaction 0 assignees View on GitHub
enhancement needs attention
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.