-
Notifications
You must be signed in to change notification settings - Fork 11
Description
Hello all,
My usual practice with environment.yml is to use compatible release spec to make upgrades easier, and a lockfile for reproducibility. Since this repository has a lockfile, what do you think about modifying the environment.yml to not pin dependencies as strictly? This article speaks to the different use cases of these two types of spec files: One focuses on specifying a human-curated environment optimized for upgradeability, while the other optimizes for reproducibility and is generated by machine from a real environment.
Compatible release spec allows specifying an arbitrary number of version digits, e.g. ~=1, ~=1.2, or ~=1.2.3. The last digit specified is allowed to "move", and others are not. If you specify ~=1.2.3, version 1.2.4 would be allowed, but 1.3 would not. This provides some advantage over greater/less-than spec because in my experience a spec like >=3.0,<4.0 can allow a 4.0.0alpha1 package to be installed. Perhaps this issue has been long-since resolved, but it's the reason I stopped using that style.
In PR #45 I used compatibility spec out of habit and then realized the inconsistency. Happy to change it or not (or, if desired, overhaul the entire environment.yml file to use compat spec) depending on discussion outcome :)
Thanks all!
Metadata
Metadata
Assignees
Labels
Type
Projects
Status