Suzhou-Tongyuan / jillw

Lightweight and cross-platform julia version manager.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Lightweight and cross-platform julia version manager.

License:MIT License


Languages

Language:Python 100.0%