@@ -39,6 +39,46 @@ Sometimes a more specific type will be used, such as when assigning to an array
3939
4040When 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