Ensure that Julia packages are installed correctly
Project description
julia_project_basic
This Python package provides functions to check if a Julia project is properly installed and ready to use.
It ensures that registries and packages are installed. It ensures that PyCall.jl is installed, built, and that the libpython of the running python interpreter is compatible with the one used to build PyCall.jl
Install
pip install julia_project_basic
Examples
Simplest use
import os
import julia_project_basic
os.chdir("/path/to/julia/project/")
julia_project_basic.ensure_project_ready()
You can also use ensure_project_ready_fix_pycall
which does everything
ensure_project_ready
does and also checks whethr PyCall.jl
is installed,
built and is compatible with the currently running python interpreter.
PyCall.jl
will be built if it is not already.
If it is incompatible, the user will be given a choice between recompiling PyCall.jl
or
installing everything to a "private" depot.
In the case that the Julia project is installed and ready to use, ensure_project_ready
takes about 200 micro s to run. And ensure_project_ready_fix_pycall
takes about
200 ms to run. The factor of 1000 is due to starting a julia process and running a bit
of julia code in the second case.
Options
See the docstrings for ensure_project_ready
and ensure_project_ready_fix_pycall
for
a description of arguments.
Details
ensure_project_ready
does the following
-
checks if the
Manifest.toml
(orJuliaManifest.toml
) exists and is newer thanProject.toml
. It checks if a few directories in the Julia depot are present. It optionally checks if additional registries are installed. It optionally checks if a supplied list of packages are in theProject.toml
. If any of these checks fail, then The following steps are taken to install registries, packages, etc. and to runPkg.instantiate
. -
Optionally, registries are installed.
-
Optionally, packages are added to the project (version specs are not supported)
-
The project is instantiated.
ensure_project_ready_fix_pycall
additionally checks PyCall.jl
and tries to fix it if necessary.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for julia_project_basic-0.1.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab51d403112bcc2a1d6f57e171458ed376a8328295a7875bc52ff900668ae0a3 |
|
MD5 | 4dfacfe1433928e47b8cfca479d080e1 |
|
BLAKE2b-256 | 2d17e4d082305c7c7293c7c0968f31d473c9373f9cdff60d63ccf0e0b8ba6d4f |
Hashes for julia_project_basic-0.1.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac6194ba4e19ce441db0f8fb0ee5fd7b77c4addd232d3bcd7424ec267afddca6 |
|
MD5 | 7c1505c349406b35cf931a4d956230c5 |
|
BLAKE2b-256 | 68475a50cbf07e199811a09c4657c8a018ac621b43fad9acdfa6fb820cbec4a3 |