-
Notifications
You must be signed in to change notification settings - Fork 130
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bringing our environment to modern standards (also with removal of NCL) #3812
Comments
@ESMValGroup/technical-lead-development-team this is a big red flag and something looming above us:
🍺 |
the Python 3.12 solver issue from above appears to be the solver really getting stuck in a corner case, see eg mamba-org/mamba#3290 I tried to reproduce the issue locally, but my ye olde machine promptly ran out of memory ie the solver was using more than 4GB of my free memory, again, not acceptable |
We could consider switching from mamba to pixi. That would have the advantage that we can define "extra"s as available for PyPI packages, but then for conda-forge packages, and multiple environments, such as the Linux (environment.yml) and OSX (environment_osx.yml) one, all in the pyproject.toml file. I had a go at that for ESMValCore a few months ago (see here) and then I ran into prefix-dev/pixi#2458, but that seems to be kind of solved now. |
thanks bud! I'll look into that, though I am bit weary of going for something that (I bet) not many people have heard of - let's not try that at least for the upcoming release, there are already quite a few major bits that we bring in ie Python 3.12 (hopefully 3.13 too) etc, but will defo look at it after the next release 🍺 |
love the title of that issue BTW 🤣 |
I'll take a look at Pixi, but it seems to be primarily aimed at developers. |
This discussion seems to be mostly about our environment.yml files, which are aimed at developers. People who only use the tool can already install it without NCL using e.g. |
@bouweandela I've updated the requirements table in the Issue description, and also did have a look at Pixi - unfortunately, Pixi looks a great little tool, but well distanced from our current infrastructure - I think it may be a good idea to test it in the future, but not just yet ie in the immediate aftermath of 2.12 release; until then NCL is a BIG roadblock |
This is an umbrella issue that is motivated by our dependencies environment being fairly patchy and out of date; there are some outstaning issues at play:
ncl
is lagging behind with every Python and co upgrade, specifically for us, it makes it impossible to:move to support Python 3.13 via Support Python 3.13 #3805esmpy>=8.6
start supportingnumpy>=2
importlib_metadata <8
(predicated by olderesmpy
, predicated, in turn, by NCL)curl
,hopefully with a correct, caused by the issues it has with Julia installing packages, see Unpincurl=8.11
curl
#3758 -> curl 8.12 still affecting Julia pkgs installation since Julia hasn't moved past 1.10.4 in conda-forge; unpinning curl to latest makes the env unsolvable for Python <3.13 (if we keep NCL as mandatory dep)unpincartopy
, see Unpin cartopy #3769 -> this is done in Update environment: piniris>=3.11
, unpincartopy
and allow fornumpy >=2
#3811 - it is safe to do that since we pin iris therepandas
- that will be done when we release ESMValCore v2.12 since the fix forpandas
is there now Unpin pandas #3924unpinnumpy<2
ie upper bound - iris 3.11 is safe for numpy>=2 - we should free it too, and consider issues with diagnostics not being numpy2 compatible as they come, probably during the release process for v2.12; unpinning upper bound for `numpy done in Update environment: piniris>=3.11
, unpincartopy
and allow fornumpy >=2
#3811r-base <4.3
- Unpin pandas #3924The text was updated successfully, but these errors were encountered: