Installation

Requirements

  • Python 3.13 or later

  • Windows (x64), macOS (arm64), or Linux (x64)

Installation from PyPI

The recommended way to install JustJIT is via pip:

pip install justjit

The wheel comes with LLVM bundled, so no external dependencies are required.

Verify Installation

After installation, verify that JustJIT works correctly:

import justjit

@justjit.jit(mode='int')
def test_add(a, b):
    return a + b

result = test_add(1, 2)
print(f"1 + 2 = {result}")  # Output: 1 + 2 = 3

If this runs without errors, JustJIT is installed correctly.

Building from Source

To build JustJIT from source, you need:

  • LLVM 18 development files

  • CMake 3.20 or later

  • Python 3.13 development headers

  • A C++17 compatible compiler

Clone the repository:

git clone https://github.com/magi8101/JustJIT.git
cd JustJIT

Set up environment variables for LLVM:

# Linux/macOS
export LLVM_DIR=/path/to/llvm/lib/cmake/llvm

# Windows (PowerShell)
$env:LLVM_DIR = "C:\path\to\llvm\lib\cmake\llvm"

Build and install:

pip install .

Platform-Specific Notes

Windows

JustJIT uses static LLVM linking on Windows. The wheel includes all necessary LLVM libraries.

If building from source on Windows, you may need vcpkg for zlib:

$env:ZLIB_ROOT = "C:\vcpkg\installed\x64-windows"

macOS

On macOS, JustJIT dynamically links against LLVM. The wheel bundles the LLVM shared library using delocate.

For building from source, install LLVM via Homebrew or conda-forge:

# Using conda-forge
conda install llvmdev=18.1.8

Linux

On Linux, JustJIT uses the manylinux_2_28 ABI for broad compatibility.

For building from source, install LLVM development packages:

# Ubuntu/Debian
sudo apt install llvm-18-dev

# Fedora/RHEL
sudo dnf install llvm-devel