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.3.1.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

jillw-0.3.1-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file jillw-0.3.1.tar.gz.

File metadata

  • Download URL: jillw-0.3.1.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for jillw-0.3.1.tar.gz
Algorithm Hash digest
SHA256 2bbb25befc3f8ddbc58ee75821a1d38fd419b63d03958246e937250cb656bc19
MD5 e630194655e7d809c3e7811ba3ed912e
BLAKE2b-256 b1c4662532bfedf97a78f9ce29e7920e5aa08e434e662c1ca8172e6229a649f8

See more details on using hashes here.

File details

Details for the file jillw-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: jillw-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for jillw-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 31a87dbd3fd9e8707c4697f8709af8cd35689d61a76db62359c0f86646332ede
MD5 d8b5d8bb4bc49e0d33536f3b3476f39f
BLAKE2b-256 2404621e775ce0c1e90cdaa04a4ac08ac3879d182ac211731dde1f2ce8b00d1c

See more details on using hashes here.

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