setup-python icon indicating copy to clipboard operation
setup-python copied to clipboard

allow-prereleases: restrict to alpha, beta, rc

Open nschloe opened this issue 6 months ago • 1 comments

I maintain a C++/Python package that uses the Python's C-API. I'd like to test the package against pre-releases, but only after the ABI/API have stabilized, i.e., RCs.

Right now, setup-python has allow-prereleases which falls back to the most recent pre-release if there's no stable release yet.

I'd like to propose a more fine-grained control over which prereleases should be selected:

  • (allow-prereleases: 'dev': Use dev, alpha, beta, rc prereleases)

  • allow-prereleases: 'alpha': Use alpha, beta, rc prereleases (not dev, equivalent to allow-prereleases: true)

  • allow-prereleases: 'beta': Use beta, rc prereleases (not dev, not alpha)

  • allow-prereleases: 'rc': Use rc prereleases (not dev, not alpha, not beta)

Even simpler, one could use allow-releases:

  • (allow-releases: 'dev': Use dev, alpha, beta, rc, stable releases)

  • allow-releases: 'alpha': Use alpha, beta, rc, stable releases (not dev, equivalent to allow-prereleases: true)

  • allow-releases: 'beta': Use beta, rc, stable releases (not dev, not alpha)

  • allow-releases: 'rc': Use rc, stable releases (not dev, not alpha, not beta)

  • allow-releases: 'stable' (default): Use stable releases (not dev, not alpha, not beta, not rc)

nschloe avatar Jul 23 '25 09:07 nschloe