Skip to main content

The wrapper for jill.py and manage Julia environments with Python virtualenv

Project description

JILL Wrapper

JILL Wrapper (jillw) is a lightweight and cross-platform Julia version manager. This work is based on johnnychen94/jill.py and Python venv.

jillw targets several different use cases:

  1. cross-platform julia installation
  2. cross-platform julia version management (create, switch, remove, etc.)
  3. providing the "one Julia, one Python" installation

Installation

pip install -U jillw

Usage

Create environments

> jillw create --help
usage: create [-h] [--name NAME] [--upstream UPSTREAM] [--version VERSION] [--confirm] [--unstable] [name] [upstream] [version]

# create a new environment using Julia 1.8
> jillw create myenv --version 1.8

The explanations of the arguments except name are referred to johnnychen94/jill.py.

Activate environments

> jillw switch <envname>

> jillw switch myenv

Start julia under environments

> jillw switch myenv
> julia --compile=min --quiet
julia> Sys.which("julia")
"~/.jlenvs/myenv/julia/julia-1.8/bin/julia.exe"

List environments

> jillw list
myenv => ~/.jlenvs/myenv
latest => ~/.jlenvs/latest

Remove environments

> jillw remove latest
Environment latest removed.

Run commands under environments

> jillw switch myenv
> jillw run 'echo %VIRTUAL_ENV%'
~/.jlenvs/myenv

Configuring the julia command (Experimental)

By creating a Development.toml at a working directory, you can conveniently configure the julia command to have the following features:

  • reduce the startup time by using interpreted mode
  • activate a project on startup
  • preload some specified files on startup
  • preload some modules on startup

Use jillw devhere to create a template Development.toml at the current working directory.

The following options can be modified to fit your needs:

  • min-latency: a boolean that tells whether to use interpreted mode. This makes Julia code slow, but much faster at Julia startup and first-time module loading.

  • no-startup-file: a boolean that tells whether to load the ~/.julia/config/startup.jl file.

  • project: a string thats indicates the path to the project that is expected to be activated on startup.

  • sysimage: a string thats indicates the path to the sysimage that is expected to be used on startup.

  • using: a list of strings that indicates the modules that are expected to be preloaded on startup.

  • files: a list of strings that indicates the files that are expected to be preloaded on startup.

License

See LICENSE.md.

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

jillw-0.2.4.tar.gz (5.5 kB view hashes)

Uploaded Source

Built Distribution

jillw-0.2.4-py3-none-any.whl (6.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page