mottosso / bleeding-rez

Rez - Reproducible software environments for Windows, Linux and MacOS
GNU Lesser General Public License v3.0
71 stars 10 forks source link

rez env --pre #56

Open mottosso opened 5 years ago

mottosso commented 5 years ago

Goal

Facilitate a stable/unstable versioning strategy, like pip.

Motivation

Per default, the latest and greatest of every package is favoured. Which can be problematic when a .beta is released and you aren't prepared for it. pip deals with this by excluding what it refers to as a "pre-release" per default, and enabling the user to opt-in.

$ pip install Qt.py  # stable release
$ pip install Qt.py --pre  # pre-release

Implementation

Make a given version pattern opt-in, such that it can be used for e.g. .beta or .alpha releases.

rezconfig.py

# Example, probably isn't the right expression
pre_release_pattern = r"\d(a)?(b)?(rc)?\d$"

Follow Python's [PEP440]https://www.python.org/dev/peps/pep-0440/#pre-releases) for convention.