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)
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-pythonhasallow-prereleaseswhich 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 toallow-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 toallow-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)