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 | bash

On 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 init

Download a checkpoint from Hugging Face and convert it for your GPU.

pie model import Qwen/Qwen3.5-0.8B

Start the server in the foreground on 127.0.0.1:8080.

pie serve

pie 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.

PlatformBuildRuns on
Linux x86_64cuda13.0 (default)NVIDIA GPU, driver 580 or newer
vulkanAny Vulkan 1.2 device
wgpuVulkan through WebGPU
Linux aarch64cuda13.0 (default)NVIDIA GPU, driver 580 or newer
vulkanAny Vulkan 1.2 device
macOS, Apple siliconmetal (default)Apple GPU through Metal
wgpuMetal through WebGPU
Windows x86_64cuda (default)NVIDIA GPU
vulkanAny 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 bash

Installer variables

Set these environment variables before running the install script to override defaults:

VariableEffect
PIE_FLAVORBackend build to install from the table above. Required on Linux without an NVIDIA GPU.
PIE_VERSIONRelease version to install. Defaults to 0.6.0.
PIE_INSTALL_DIRTarget directory for the pie binary. Defaults to ~/.local/bin (%LOCALAPPDATA%\Pie\bin on Windows).
PIE_HOMEDirectory 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.gz

Other 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-server

In 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/server

See 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