Skip to content
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

Open
valeriupredoi opened this issue Nov 14, 2024 · 8 comments · May be fixed by #3853
Open

Bringing our environment to modern standards (also with removal of NCL) #3812

valeriupredoi opened this issue Nov 14, 2024 · 8 comments · May be fixed by #3853
Assignees

Comments

@valeriupredoi
Copy link
Contributor

valeriupredoi commented Nov 14, 2024

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:

@valeriupredoi
Copy link
Contributor Author

valeriupredoi commented Jan 7, 2025

@ESMValGroup/technical-lead-development-team this is a big red flag and something looming above us:

  • currently we are pinning curl so that we avoid an issue with Julia installing packages; this has now been resolved at Julia end, but we are awaiting a new Julia release to have the fix in...
  • however, that pinned curl is keeping us from a fairly catastrophic environment solving (or not solving), see the tests where curl pin is removed (curl removed altogether) - solving for Python 3.11 takes about 10 minutes, and for Python 3.12 it actually fails after about 15 minutes - this is unacceptable! NB: I am still to investigate the reason why the env solving fails for 3.12, but...
  • look at the tests where I remove NCL and its dependencies - all good and in sub 3 minutes times
  • we really-really need to remove NCL from our main dependencies

🍺

@valeriupredoi
Copy link
Contributor Author

valeriupredoi commented Jan 7, 2025

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

@valeriupredoi valeriupredoi changed the title Bringing our environment to modern standards Bringing our environment to modern standards (also with removal of NCL) Jan 7, 2025
@bouweandela
Copy link
Member

bouweandela commented Jan 8, 2025

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.

@valeriupredoi
Copy link
Contributor Author

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 🍺

@valeriupredoi
Copy link
Contributor Author

love the title of that issue BTW 🤣

@rbeucher
Copy link
Contributor

rbeucher commented Jan 8, 2025

I'll take a look at Pixi, but it seems to be primarily aimed at developers.

@bouweandela
Copy link
Member

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. conda install esmvaltool-python esmvaltool-r

@valeriupredoi
Copy link
Contributor Author

@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

@valeriupredoi valeriupredoi mentioned this issue Feb 21, 2025
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants