Download and run the installer script:
curl -fsSL -o get-nanvix-python.sh https://raw.githubusercontent.com/nanvix/nanvix-python/main/scripts/get-nanvix-python.sh
bash get-nanvix-python.sh nanvix-pythonUse --force to re-download existing files:
bash get-nanvix-python.sh --force /tmp/nanvix-pythonThe script accepts the same environment variables as get-nanvix.sh:
| Variable | Default | Description |
|---|---|---|
GITHUB_TOKEN / GH_TOKEN |
— | GitHub token for authenticated API requests (avoids rate limits) |
NANVIX_CONNECT_TIMEOUT |
30 |
Connection timeout in seconds |
NANVIX_MAX_TIMEOUT |
300 |
Maximum total timeout in seconds |
NANVIX_FORCE_DOWNLOAD |
false |
Force re-download if true |
You can also download bundles manually from Releases.
After a successful build and test, package a self-contained tarball that can run Python scripts on any Linux host with KVM support.
./z releaseThis writes artifacts to ./release-assets/ (override with
RELEASE_DIR).
<platform>-<mode>/
bin/ # nanvixd.elf, kernel.elf, linuxd.elf, uservm.elf, python3.12
lib/ # Python standard library, site-packages, user.ld
README.md # Usage instructions
Only runtime-essential files are included — no static libraries,
headers, or build tools. All .pyc bytecode caches are pre-compiled
to avoid runtime file-creation issues
(nanvix/nanvix#1493).
tar -xjf release-assets/hyperlight-multi-process.tar.bz2
cd hyperlight-multi-process
# Run a script
echo 'import numpy; print(numpy.__version__)' > test.py
./bin/nanvixd.elf -- ./bin/python3.12 test.pyNote: The
-cflag only works with code that contains no spaces (a nanvixd argument-splitting limitation). Use script files instead.