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

Stop using versioneer to manage versions #12741

Merged
merged 27 commits into from
Feb 23, 2023

Conversation

vyasr
Copy link
Contributor

@vyasr vyasr commented Feb 9, 2023

Description

This PR replaces usage of versioneer with hard-coded version numbers in setup.py and init.py. Since cudf needs to manage versions across a wide range of file types (CMake, C++, Sphinx and doxygen docs, etc), versioneer cannot be relied on as a single source of truth and therefore does not allow us to single-source our versioning to the Git repo as is intended. Additionally, since the primary means of installing cudf is via conda packages (or now, pip packages), information from the package manager tends to be far more informative than the version strings for troubleshooting and debugging purposes. Conversely, the nonstandard version strings that it produces tend to be problematic for other tools, which at best will ignore such versions but at worst will simply fail.

This PR also replaces usage of an environment variable to set the package name for wheels in setup.py, instead moving the renaming logic into the same sed script used to update package versions. This change makes setup.py essentially static, paving the way for migration to pyproject.toml.

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

@vyasr vyasr added 3 - Ready for Review Ready for review by team Python Affects Python cuDF API. tech debt improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Feb 9, 2023
@vyasr vyasr self-assigned this Feb 9, 2023
@github-actions github-actions bot added the ci label Feb 9, 2023
@vyasr
Copy link
Contributor Author

vyasr commented Feb 9, 2023

Who doesn't love +53, -12954 😃

@vyasr vyasr marked this pull request as ready for review February 21, 2023 18:12
@vyasr vyasr requested a review from a team as a code owner February 21, 2023 18:12
@vyasr vyasr requested review from a team as code owners February 21, 2023 18:12
@vyasr vyasr requested review from wence- and charlesbluca February 21, 2023 18:12
Copy link
Member

@ajschmidt8 ajschmidt8 left a comment

Choose a reason for hiding this comment

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

Approving ops-codeowner file changes

Copy link
Contributor

@wence- wence- left a comment

Choose a reason for hiding this comment

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

A little confused by the changing of pip package dependency names, but otherwise 👍

python/cudf/setup.py Show resolved Hide resolved
python/dask_cudf/setup.py Show resolved Hide resolved
@vyasr vyasr requested a review from wence- February 21, 2023 22:02
Copy link
Contributor

@wence- wence- left a comment

Choose a reason for hiding this comment

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

I am happy with this, though you may want to consider my suggestions for the apply_wheel_mods script (though the interplay with update-version may be more subtle than I spot).

ci/release/apply_wheel_modifications.sh Show resolved Hide resolved
@vyasr
Copy link
Contributor Author

vyasr commented Feb 23, 2023

/merge

@rapids-bot rapids-bot bot merged commit a96b150 into rapidsai:branch-23.04 Feb 23, 2023
@vyasr vyasr deleted the feat/remove_versioneer branch February 23, 2023 02:32
rapids-bot bot pushed a commit that referenced this pull request Feb 24, 2023
This consolidation allows us to get rid of now unnecessary setup.cfg files (thanks to removing versioneer in #12741). It also allows us to move towards a fully pyproject.toml-driven build.

Authors:
  - Vyas Ramasubramani (https://github.com/vyasr)

Approvers:
  - AJ Schmidt (https://github.com/ajschmidt8)
  - David Wendt (https://github.com/davidwendt)
  - Lawrence Mitchell (https://github.com/wence-)

URL: #12834
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3 - Ready for Review Ready for review by team improvement Improvement / enhancement to an existing function non-breaking Non-breaking change Python Affects Python cuDF API.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants