mottosso / bleeding-rez

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

--pre #71

Open mottosso opened 5 years ago

mottosso commented 5 years ago

Goal

Separate between releases and pre-releases, to encourage experimentation without affecting the general user.

Motivation

PyPI separates between release and pre-release packages, which means you can safely release a pre-release version into the wild without breaking things for your users. In order to use it, you would call:

pip install my_package --pre

Which installs any package whose version qualifies as a "pre-release".

Rez doesn't have a concept of a pre-release, but can be made to have one by using rez env --exclude *pre. This feature would take the most common use of this and make it an official feature of the framework.

Implementation

rez env my_package
# my_package-1.0

rez env my_pacakge --pre
# my_package-1.0.beta

This also implies a re-prioritisation of versions, whereby currently 1.0.beta is considered later than 1.0 which is incorrect (from a users point of view).