Skip to main content

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

Project description

JILL Wrapper

CI codecov versions pypi License

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.2rc1.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jillw-0.3.2rc1-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file jillw-0.3.2rc1.tar.gz.

File metadata

  • Download URL: jillw-0.3.2rc1.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for jillw-0.3.2rc1.tar.gz
Algorithm Hash digest
SHA256 b2c298dae81fc7db5adc7cd96de177ee819b714e4b4fadad1afc347f12a8c9e1
MD5 d03152567ce580d0f8cb77364e310d71
BLAKE2b-256 2bcd680935ceb5e825c5381ca75a552dc8d25185cb677ea0f03d7b77d14464d7

See more details on using hashes here.

File details

Details for the file jillw-0.3.2rc1-py3-none-any.whl.

File metadata

  • Download URL: jillw-0.3.2rc1-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for jillw-0.3.2rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 6230f0d6fd885489528c00a4dd0c3494e3c9718a415a0f2ae79b44af46dd3c81
MD5 a01c83d2fb6492b1d1a50237be5a8ecb
BLAKE2b-256 ab9c3094224ba4bfa739e0b27d802bd404bf58815d1c011be33e379dff86380b

See more details on using hashes here.

Supported by

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