[ANN] pyjuliacall and pyjuliapkg packaged on conda-forge

juliacall and juliapkg on conda-forge

I am happy to announce that the Python packages juliacall and juliapkg by @cjdoris have been packaged for conda-forge as pyjuliacall and pyjuliapkg.

Why add the “py” prefix?

In principle, conda-forge is a language agnostic package ecosystem. Since there is also a juliacall package for R on CRAN, the py prefix was added to disambiguate the Python package from the similarly named R package.

Using conda to install juliacall and juliapkg

pyjuliapkg is a dependency of pyjuliacall. Thus installing pyjuliacall will also install pyjuliapkg. You can install pyjuliacall via the following conda command.

conda install conda-forge::pyjuliacall

Will installing these packages install Julia again?

On initialization, JuliaCall looks for an existing julia installation via juliaup. If it does not find one, then it will download and install julia.

Here is an example Python REPL session showing juliacall being imported.

>>> import juliacall
[juliapkg] Locating Julia ^1.6.1
[juliapkg] Using Julia 1.10.0 at ~/.julia/juliaup/julia-1.10.0+0.aarch64.apple.darwin14/bin/julia
[juliapkg] Using Julia project at ~/miniforge3-arm64/envs/foofoo/julia_env
[juliapkg] Installing packages:
           julia> import Pkg
           julia> Pkg.add([Pkg.PackageSpec(name="PythonCall", uuid="6099a3de-0909-46bc-b1f4-468b9a2dfc0d")])
           julia> Pkg.resolve()
           julia> Pkg.precompile()

How about the Julia package on conda-forge?

There is also a Julia package on conda-forge which I help to maintain. Julia 1.10 was recently packaged. This package is only available for Linux and macOS on Intel x86-64 processors.

The conda-forge packages pyjuliacall and pyjuliapkg do not explicitly depend the conda-forge package julia. If you do not install the conda-forge julia package, then pyjuliacall will proceed to look for existing Julia install and proceed to download the official Julia binaries from julialang.org. If you do install the conda-forge julia package, then JuliaCall will use that version of Julia when using that conda environment.

Additional Information about JuliaCall

To learn more about JuliaCall, please see @cjdoris’s original package announcement on the topic.

You can also find the documentation for JuliaCall below.

Links to the conda-forge packages

https://anaconda.org/conda-forge/pyjuliacall
https://anaconda.org/conda-forge/pyjuliapkg

18 Likes

Amazing! Thank you, @mkitti !

2 Likes