Skip to content

Commit 57058ed

Browse files
author
Christopher Doris
committed
docs
1 parent c0f5992 commit 57058ed

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

docs/src/juliacall.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,46 @@ Sometimes a more specific type will be used, such as when assigning to an array
3939

4040
When a Julia value is returned to Python, it will normally be converted according to [this table](@ref jl2py).
4141

42+
## Managing Julia dependencies
43+
44+
juliacall manages its Julia dependencies using [Pkg](https://pkgdocs.julialang.org/v1) for
45+
packages and [jill](https://pypi.org/project/jill/) for Julia itself.
46+
If a suitable version of julia is not found on your system, it will automatically be
47+
downloaded and installed into `~/.julia/pythoncall`.
48+
A Julia environment is automatically created when juliacall is loaded, is activated, and is
49+
initialised with at least PythonCall. If you are using a virtual or conda environment then
50+
the Julia environment is created there, otherwise a global environment is created at
51+
`~/.julia/environments/PythonCall`.
52+
53+
If your project requires more Julia dependencies, use the mechanisms below to ensure they
54+
are automatically installed.
55+
56+
### juliacalldeps.json
57+
58+
If you put a file called `juliacalldeps.json` in a Python package, then the dependencies
59+
therein will be automatically installed into the Julia environment.
60+
61+
Here is an example:
62+
```json
63+
{
64+
"julia": "1.5",
65+
"packages": {
66+
"Example": {
67+
"uuid": "7876af07-990d-54b4-ab0e-23690620f79a",
68+
"compat": "0.5",
69+
"url": "http://github.com/JuliaLang/Example.jl",
70+
"path": "/path/to/the/package",
71+
"rev": "master",
72+
"dev": false, // when true, uses Pkg.dev not Pkg.add
73+
}
74+
}
75+
}
76+
```
77+
All parts are optional, except that the UUID of each package is required.
78+
79+
When juliacall starts, it will ensure the latest compatible version of julia is installed,
80+
and will ensure the given packages are installed.
81+
4282
## Utilities
4383

4484
`````@customdoc

0 commit comments

Comments
 (0)