Install
Pie ships as a single 60 MB binary with no Python or PyTorch dependencies.
The install script detects your OS and GPU, downloads Pie 0.6.0, and installs the WebAssembly runtimes for Python and JavaScript inferlets.
curl -fsSL https://pie-project.org/install.sh | bashOn Linux, macOS, and WSL, the script places pie in ~/.local/bin and the language runtimes in ~/.pie. On Windows, run the command in PowerShell; it places pie.exe in %LOCALAPPDATA%\Pie\bin.
Serve a model in three commands
Create a default configuration file at ~/.pie/config.toml.
pie config initDownload a checkpoint from Hugging Face and convert it for your GPU.
pie model import Qwen/Qwen3.5-0.8BStart the server in the foreground on 127.0.0.1:8080.
pie servepie serve exposes the OpenAI, Anthropic, and Gemini APIs on port 8080 with no API key required. Existing SDKs connect without code changes:
from openai import OpenAI
client = OpenAI(base_url="http://127.0.0.1:8080/v1", api_key="unused")
reply = client.chat.completions.create(
model="default",
messages=[{"role": "user", "content": "Hi"}],
)
print(reply.choices[0].message.content)Platform builds
Each release provides one binary per OS and GPU backend. The installer picks CUDA on machines with an NVIDIA driver and Metal on Apple silicon Macs. Intel Macs are not supported.
| Platform | Build | Runs on |
|---|---|---|
| Linux x86_64 | cuda13.0 (default) | NVIDIA GPU, driver 580 or newer |
vulkan | Any Vulkan 1.2 device | |
wgpu | Vulkan through WebGPU | |
| Linux aarch64 | cuda13.0 (default) | NVIDIA GPU, driver 580 or newer |
vulkan | Any Vulkan 1.2 device | |
| macOS, Apple silicon | metal (default) | Apple GPU through Metal |
wgpu | Metal through WebGPU | |
| Windows x86_64 | cuda (default) | NVIDIA GPU |
vulkan | Any Vulkan 1.2 device |
On Linux or Windows machines without an NVIDIA GPU, set PIE_FLAVOR to select another backend such as Vulkan:
curl -fsSL https://pie-project.org/install.sh | PIE_FLAVOR=vulkan bashInstaller variables
Set these environment variables before running the install script to override defaults:
| Variable | Effect |
|---|---|
PIE_FLAVOR | Backend build to install from the table above. Required on Linux without an NVIDIA GPU. |
PIE_VERSION | Release version to install. Defaults to 0.6.0. |
PIE_INSTALL_DIR | Target directory for the pie binary. Defaults to ~/.local/bin (%LOCALAPPDATA%\Pie\bin on Windows). |
PIE_HOME | Directory for config, models, and language runtimes. Defaults to ~/.pie. |
Manual installation
Download the archive for your platform from the release page, install the binary, and register the language runtimes:
tar -xzf pie-x86_64-linux-cuda13.0.tar.gz
install pie ~/.local/bin/
pie language install pie-language-python.tar.gz
pie language install pie-language-javascript.tar.gzOther ways to run Pie
To try Pie without installing anything, open the Playground. It runs Pie inside your browser tab on WebGPU.
In Python
pie-server embeds the Pie server inside a Python process and returns its local URL and client handle:
pip install pie-serverIn JavaScript
@pie-project/server runs the native server in Node.js. When bundled with Vite or webpack, the same package resolves to the WebGPU browser build:
npm install @pie-project/serverSee Embed in your app for usage in Python, Node.js, browsers, Swift, Kotlin, and C.
From source
Select a backend at compile time with --features (cuda, rocm, metal, vulkan, wgpu, or xla). The vulkan backend requires slangc on your PATH.
git clone https://github.com/pie-project/pie.git
cd pie
cargo build --release -p pie --bin pie --features metal