pydata / xarray

N-D labeled arrays and datasets in Python
https://xarray.dev
Apache License 2.0
3.63k stars 1.09k forks source link

Use micromamba 1.5.10 where conda is needed #9737

Closed kmuehlbauer closed 2 weeks ago

kmuehlbauer commented 2 weeks ago

Updated behaviour

Since micromamba 2.0 installing conda seems to be broken in CI. In #9732 conda was removed from the install where not absolutely needed and the micromamba version was pinned to 2.0.2-0 due to broken 2.0.3-0.

The broken version was yanked and this PR reverts to the default micromamba version (now 2.0.2-0). In CI runs where conda is absolutely needed the micromamba-version is set to 1.5.10-0 (last version of v1-release line).

Former ramblings:

conda.api and libmambapy are not API compatible

In https://github.com/pydata/xarray/blob/main/ci/min_deps_check.py we use conda.api to gather package versions from ["conda-forge", "defaults"] channel (shouldn't we remove defaults, because of the legal stuff?).

The replacement for micromamba v2 is libmambapy which unfortunately isn't API compatible. It should have all the capabilities to do the same, but I wasn`t successful ( :man_shrugging: ) in gathering the correct incantations from the docs:

If figured out the correct way, this can eventually be replaced.

Tested micromamba/libmamba 2.0.2-0 also for:

kmuehlbauer commented 2 weeks ago

@keewis I've missed this yesterday, so checked it today.

asv is also not yet ready for micromamba 2 , so I've reverted min-deps-check and benchmark CI runs to use last 1.5.10-0 version of mamba/micromamba. All other CI runs look good.

WOuld be nice, if you could have another look here. Thanks!

keewis commented 2 weeks ago

I think we can use py-rattler's version of query instead, which will get rid of the conda dependency, is much faster, and we can avoid the undocumented libmambapy API.

I'll open a PR for the rewrite of the script once it's close to being ready.

kmuehlbauer commented 2 weeks ago

@keewis I've followed your suggestion to use default settings where applicable, as the problematic version was removed.

Let's see how this works.

kmuehlbauer commented 2 weeks ago

Nice, array-api-strict 2.1.2 (released 5 hours ago) breaks the tests.