Skip to content

Remove Julia from conda dependency environment (but keep tests for esmvaltool install Julia) and add docs how to install from source #3921

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

Merged
merged 61 commits into from
May 23, 2025

Conversation

valeriupredoi
Copy link
Contributor

@valeriupredoi valeriupredoi commented Feb 20, 2025

Description

Synopsis

  • Julia from conda-forge is extremely old and unmaintained, needs removal (and gubbins needed to make it work) - this is absolutely necessary to do so since our env is getting impossible to solve
  • Users can install their own Julia from source (instructions provided) if they with to run any Julia recipe (good luck with that!)

More info

Julia conda package is stuck at 1.10.4 which is an almost 9-month old version; they updated the base code to 1.10.8 https://github.com/JuliaLang/julia which includes a fix that permits us to free curl<8.10; freeing curl is becoming very important since that pin makes the env solving harder and harder, and holds back Python 3.13 too (not the only dep holding that though #3805 but an important one nonetheless); Julia conda feedstock appears to be rather abandoned https://github.com/conda-forge/julia-feedstock so am not sure how feasible and long term maintained it'll be to keep using the conda package; @bouweandela suggests we install Julia the "classic" way https://julialang.org/downloads/ and this exactly what we do here. A decision to remove Julia from our conda env has been taken at the ESMValTool workshop on May 15, 2025

Python 3.13

Is viable, and the only restrictions are the psy- packages:

-  psy-maps >=1.5.0
-  psy-reg >=1.5.0
-  psy-simple >=1.5.0

we will probably proceed to retire @schlunma 's recipe that uses those, then remove those packages from our env as well.

Julia recipes

They have been retired by @bettina-gier in #4045


Before you get started

Checklist

It is the responsibility of the author to make sure the pull request is ready to review. The icons indicate whether the item will be subject to the 🛠 Technical or 🧪 Scientific review.

@valeriupredoi
Copy link
Contributor Author

@bouweandela this is a viable way of installing and having Julia in our env that avoids installing (the very old) version on conda-forge; this way we can remove both curl and its pin and julia from our conda environment; note, however, that this introduces the issue we saw in the Python 3.13 PR whereby the environment becomes completely insolvable (because of: removing the pin on curl that holds the environment together, albeit with old dependencies, and because of NCL - if NCL is removed then the environment here solves very fast). I propose I implement a similar method to have NCL removed from our environment, and only installed in the CI tests, to reproduce what a user would do, should they need to run NCL diagnostics. Honestly, there's no other way around it. What do you think?

@valeriupredoi valeriupredoi changed the title Remove Julia, NCL and R conda package default installations and replace with source (Julia), ad-hoc conda (NCL), and env update (R) installations Remove Julia from conda dependency environment (but keep tests for esmvaltool install Julia) and add docs how to install from source May 20, 2025
@valeriupredoi valeriupredoi requested a review from schlunma May 20, 2025 12:03
@valeriupredoi valeriupredoi added this to the v2.13.0 milestone May 20, 2025
Copy link
Contributor

@schlunma schlunma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, just some minor comments.

Cheers!

@valeriupredoi
Copy link
Contributor Author

many thanks @schlunma - @bouweandela would you have 5 min have a look at this please? 🍺

@valeriupredoi
Copy link
Contributor Author

this is pretty momentous actually - @bouweandela is sending regards to Julia, and OK-ed the merge offline, many thanks @schlunma for the review, bye, Julia 😁

@valeriupredoi valeriupredoi merged commit 89fc58b into main May 23, 2025
8 checks passed
@valeriupredoi valeriupredoi deleted the remove_Julia branch May 23, 2025 15:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants