Skip to content

Commit b6c0a44

Browse files
author
Christopher Doris
committed
document juliapkg
1 parent 9b459a8 commit b6c0a44

File tree

1 file changed

+11
-22
lines changed

1 file changed

+11
-22
lines changed

docs/src/juliacall.md

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -58,43 +58,32 @@ What to read next:
5858

5959
## [Managing Julia dependencies](@id julia-deps)
6060

61-
JuliaCall manages its Julia dependencies using [Pkg](https://pkgdocs.julialang.org/v1).
62-
If a suitable version of Julia is not found on your system, it will automatically be
63-
downloaded and installed into `~/.julia/pythoncall/julia-VERSION`.
64-
A Julia environment is automatically created when JuliaCall is loaded, is activated, and is
65-
initialised with at least PythonCall. If you are using a virtual or conda environment then
66-
the Julia environment is created there, otherwise a global environment is created at
67-
`~/.julia/environments/PythonCall`.
61+
JuliaCall manages its Julia dependencies using [JuliaPkg](https://github.com/cjdoris/PyJuliaPkg).
6862

69-
If your project requires more Julia dependencies, use the mechanisms below to ensure they
70-
are automatically installed.
63+
It will automatically download a suitable version of Julia if required.
7164

72-
### juliacalldeps.json
73-
74-
If you put a file called `juliacalldeps.json` in a Python package, then the dependencies
75-
therein will be automatically installed into the Julia environment.
65+
A Julia environment is also created, activated and populated with any required packages.
66+
If you are in a virtual or Conda environment, the environment is put there. Otherwise a
67+
global environment is used at `~/.julia/environments/pyjuliapkg`.
7668

69+
If your project requires any Julia packages, or a particular version of Julia itself, then
70+
create a file called `juliapkg.json` in your package. For example:
7771
Here is an example:
7872
```json
7973
{
8074
"julia": "1.5",
8175
"packages": {
8276
"Example": {
8377
"uuid": "7876af07-990d-54b4-ab0e-23690620f79a",
84-
"version": "0.5, 0.6",
85-
"url": "http://github.com/JuliaLang/Example.jl",
86-
"path": "/path/to/the/package",
87-
"rev": "main",
88-
"dev": false, // when true, uses Pkg.dev not Pkg.add
78+
"version": "0.5, 0.6"
8979
}
9080
}
9181
}
9282
```
93-
All parts are optional, except that the UUID of each package is required. Typically you
94-
will just include the UUID and version fields.
9583

96-
When JuliaCall starts, it will ensure the latest compatible version of Julia is installed,
97-
and will ensure the given packages are installed.
84+
Alternatively you can use `add`, `rm`, etc. from JuliaPkg to edit this file.
85+
86+
See [JuliaPkg](https://github.com/cjdoris/PyJuliaPkg) for more details.
9887

9988
## Utilities
10089

0 commit comments

Comments
 (0)