Julia Installer 4 Linux(and MacOS) - Light
Project description
JILL.py
The Python fork of JILL - Julia Installer 4 Linux (and MacOS) - Light
Features
- download latest Julia release from nearest mirror server. Check sources for the list of all registered mirrors.
- install julia for Linux and MacOS (including nightly build:
latest
) - easily set up a new release mirror
Installation
pip install jill --user -U
Note that Python >= 3.6
is required.
Basic usage examples
- download:
- latest stable release for current system:
jill download
- latest
1.y
version:jill download 1
- latest
1.3.z
version:jill download 1.3
- from specific upstream:
jill download --upstream Official
- specific release version:
jill download --version 1.3.0
- specific system:
jill download --sys freebsd
- specific architecture:
jill download --arch i686
- download Julia to specific dir:
jill download --outdir another/dir
- latest stable release for current system:
- install Julia for current system:
- system-wide:
sudo jill install
(make symlink in/usr/bin
) - only for current user:
jill install
(make symlink in~/.local/bin
) - don't need interactive promopt:
jill install --confirm
- system-wide:
- check if there're new Julia versions:
jill update
- add
--update
flag todownload
orinstall
commands
- find out all registered upstreams:
jill upstream
- check the not-so-elaborative documentation:
jill [COMMAND] -h
(e.g.,jill download -h
)
Mirror
jill mirror [outdir]
:
- checks if there're new julia releases
- downloads all releases Julia releases into
outdir
(default./julia_pkg
) - (Optional): with flag
--period PERIOD
, it will repeat step 1 and 2 everyPERIOD
seconds
You can create a mirror.json
in current folder to override the default mirror
behaviors. The mirror configuration example shows the default
values for all possible configurable items.
Repository jill-mirror provides an easy to
start docker-compose.yml
for you to start with, which is just a simple docker image built
upon jill mirror
.
Register new mirror
If it's an public mirror and you want to share it worldwide. You can add an entry to the public registry, make a PR, then I will tag a new release for that.
If it's an internal mirror and you don't plan to make it public, you can create a config
file at ~/.config/jill/sources.json
locally. The contents will be appended to
the public registry and overwrite already existing items if there are.
In the registry config file, a new mirror is a dictionary in the upstream
field:
name
: a distinguishable mirror nameurls
: URL template to retrive Julia releaselatest_urls
: URL template to retrive the nightly build of Julia release
Placeholders
Placeholders are used to register new mirrors. For example, the stable release url of
the "Official" release server owned by JuliaComputing is
"https://julialang2.s3.amazonaws.com/bin/$sys/$arch/$minor_version/$filename"
There're several predefined placeholders for various systems and architectures:
system
:windows
,macos
,linux
,freebsd
sys
:winnt
,mac
,linux
,freebsd
os
:win
,mac
,linux
,freebsd
architecture
:x86_64
,i686
,ARMv7
,ARMv8
arch
:x86
,x64
,armv7l
,aarch64
osarch
:win32
,win64
,mac64
,linux-armv7l
,linux-aarch64
osbit
:win32
,win64
,linux32
,linux64
,linuxaarch64
bit
:32
,64
extension
:exe
,tar.gz
,dmg
(no leading.
)
There're also placeholders for versions:
patch_version
:1.2.3
,latest
minor_version
:1.2
,latest
major_version
:1
version
:v1.2.3-pre
,latest
vpatch_version
:v1.2.3
,latest
vminor_version
:v1.2
,latest
vmajor_version
:v1
,latest
To keep consistent names with official releases, you can use predefined name placeholders:
- stable release
filename
:julia-$patch_version-$osarch.$extension
- nightly release
latest_filename
:"julia-latest-$osbit.$extension"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.