Skip to content

Adopt file-backed dynamic package version #39

Description

@adohe

Background

PR #37 keeps the v0.0.2 release simple by leaving pyproject.toml with a static project.version and documenting the tag-driven publish workflow. That is good enough for the current release, but the next milestone should reduce version metadata duplication.

Peer projects such as verl and TRL use a file-backed dynamic package version: pyproject.toml declares dynamic = ["version"], and setuptools reads the version from a dedicated version file.

Scope

Move AReno to a file-backed dynamic version strategy after v0.0.2 is cut.

Expected shape:

  • Add a single version source file, e.g. VERSION or areno/version/version.
  • Update pyproject.toml to declare dynamic = ["version"].
  • Configure [tool.setuptools.dynamic] version = { file = "..." }.
  • Keep the publish workflow deriving the package version from the vX.Y.Z tag and updating the version file before building the sdist.
  • Update RELEASE.md so the release checklist points to the version file as the committed source of truth.

Acceptance criteria

  • pyproject.toml no longer hardcodes project.version.
  • Local package metadata resolves to the version from the version file.
  • The PyPI publish workflow still publishes a PEP 440 version derived from a leading-v git tag.
  • RELEASE.md documents the new version source of truth.
  • A CPU-safe test or metadata validation covers the dynamic version behavior.

Notes

  • Do not include this in the v0.0.2 release-hygiene PR; this is intentionally a follow-up cleanup for the next milestone.
  • This should follow the file-backed approach used by projects like verl and TRL, not the heavier tag-only setuptools-scm approach unless maintainers explicitly choose that later.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/buildIssues or PRs related to build system, packaging, and installationkind/cleanupCategorizes issue or PR as related to cleaning up code, process, or technical debtpriority/backlogHigher priority than awaiting-more-evidence

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions