Skip to content

Conversation

@vshawrh
Copy link

@vshawrh vshawrh commented Nov 25, 2025

Summary

This PR updates the build configuration to use setuptools_scm for automated
version management and ensures proper inclusion of package data for the CUTLASS
DSL components.

What Changed

  • Added setuptools_scm>=8.0 to the [build-system] requirements.
  • Configured [tool.setuptools_scm] with the CUTLASS project root (../..).

Motivation

Building nvidia-cutlass-dsl with dynamic versioning currently produces a wheel with version 0.0.0 because the required VERSION.EDITABLE file is missing. This causes incorrect versioning for any wheel built from the repository.
Using setuptools_scm provides consistent, tag-driven versioning across the project
and aligns the DSL build with the broader CUTLASS packaging strategy.
It also improves build reproducibility and reduces manual version maintenance.

Fixes: #2814

Additional Notes

No changes to runtime behavior. Build-only modification.

@vshawrh vshawrh changed the title Enable setuptools_scm-based versioning and update build configuration [DRAFT] Enable setuptools_scm-based versioning and update build configuration Nov 25, 2025
@EmilienM
Copy link

This is a good move 👍

@vshawrh vshawrh changed the title [DRAFT] Enable setuptools_scm-based versioning and update build configuration Enable setuptools_scm-based versioning and update build configuration Nov 26, 2025
@EmilienM
Copy link

ping @brandon-yujie-sun

@brandon-yujie-sun
Copy link
Collaborator

Thank you for the proposed change. @zekunf-nv could you help review?

@zekunf-nv
Copy link
Collaborator

Thanks @brandon-yujie-sun for adding me.

Re @vshawrh : python/CuTeDSL/pyproject.toml by itself is not a complete recipe to build a desired wheel. And the versioning of CuTeDSL has its own rules which is not determined by the project root.

Its usage is limited to the editable install workflow described in: #2762 (comment)

@vshawrh
Copy link
Author

vshawrh commented Dec 3, 2025

Thanks @brandon-yujie-sun for adding me.

Re @vshawrh : python/CuTeDSL/pyproject.toml by itself is not a complete recipe to build a desired wheel. And the versioning of CuTeDSL has its own rules which is not determined by the project root.

Its usage is limited to the editable install workflow described in: #2762 (comment)

Thanks for the feedback —
By using setuptools-scm we can derive the package version automatically from Git metadata (tags/commits), instead of manually bumping a version file on each release. That reduces human error and makes versioning less burdensome.
Setuptools SCM

And we faced this issue as well #2829.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] Dynamic versioning fails; wheel built as 0.0.0 for CuTe DSL

4 participants