Skip to content

Pin essential conda-analytics packages

Stevemunene requested to merge pin_essential_conda_analytics_packages into main

Versions of crucial packages in Conda-Analytics are pinned in conda-environment.yml which is used to generate the conda-environment.lock.yml file which we use to be able to EXACTLY reproduce an environment by just installing and downloading the packages needed. This is particularly handy in the context of conda-anlytics where you use conda to provision environments in various places. However, those files just specify what versions should be installed in the new environment to start; Conda happily ignores them in all future transactions. This doesn't just mean that package A will be updated if the user runs conda update A. If the user runs conda install B and B lists A as a dependency, Conda will automatically upgrade A to the latest version (even if B's requirement is already satisfied by the existing version). This has caused some environment problems! case some Conda-Analytics packages are incompatible with the latest versions of Pandas and Numpy causing issues when releasing new version of Wmfdata-Python.

This patch intoduces the pinned file which can be used to pin essential package versions. Pinned specs are included with each conda install, subsequent conda update commands. The pinned file is availed on the base conda environment, however it requires the end user to include the --pinned tag while cloning environments.

Bug: T356231 Bug: T356230

Edited by Stevemunene

Merge request reports