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

Julia extension #67

Closed
2 tasks done
jc-cisneros opened this issue Oct 10, 2022 · 4 comments · Fixed by #68
Closed
2 tasks done

Julia extension #67

jc-cisneros opened this issue Oct 10, 2022 · 4 comments · Fixed by #68
Assignees

Comments

@jc-cisneros
Copy link
Contributor

jc-cisneros commented Oct 10, 2022

In this issue we will test the run_julia wrapper from gslab_make (see gslab-econ/gslab_make#54).

Task list

  • Test if Julia + packages can be added to the conda environment.
  • Run Julia scripts from root using the run_julia wrapper
@jc-cisneros
Copy link
Contributor Author

Update:

As of today, the best strategy to using conda+Julia is the following:

A way to add the Julia packages within the conda_env.yaml is currently being developed (See conda-forge/conda-forge.github.io#1822)

jc-cisneros pushed a commit that referenced this issue Oct 11, 2022
@jc-cisneros jc-cisneros linked a pull request Oct 11, 2022 that will close this issue
jc-cisneros added a commit that referenced this issue Oct 22, 2022
@jc-cisneros jc-cisneros reopened this Oct 22, 2022
@jc-cisneros
Copy link
Contributor Author

jc-cisneros commented Oct 22, 2022

Summary:

On this issue we tested the compatibility of the current structure of template with Julia. Specifically, we installed Julia within the build conda environment workflow and used the run_julia with a script that produces a plot. The run_julia function worked as expected and was added to the gslab_make master branch.

Flagging some of the lessons and opportunities for future updates:

  • The current Julia extension of template does not build the Julia environment using conda-forge, but rather uses Julia's built in Pkg package manager. These can lead to conflicts that are not trivial to fix when trying to call Python (or any Python backend) within a Julia script (see PR for #67: Julia extension #68 (comment)). There are ongoing developments on conda-forge that might be relevant to include in the future to make the process easier and to leave solving package conflicts to conda (see Julia extension #67 (comment)).
  • Plots on Julia sit on other backends (see https://docs.juliaplots.org/stable/). Make sure the backends can run non-interactively (eg. GR required us to quit the gksqt program for the run_all script to continue and Pyplot led to package conflicts between Python installations in conda).

@zkashner
Copy link
Contributor

zkashner commented Jan 4, 2023

@jc-cisneros this is an awesome addition! If you are interested, it may be worthwhile to document how this changes the setup process within the README, because this does add some small changes to the setup (i.e. running julia julia_conda_env.jl from root).

@jc-cisneros
Copy link
Contributor Author

Thanks @zkashner! Given than the default behavior is not to include julia, perhaps we could add the relevant instruction to both the Running Package Scripts in Other Languages and Adding Packages sections.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants