Skip to content

Installation

  • macOS on Apple Silicon (M1, M2, M3, M4, M5)
  • Xcode Command Line Tools: xcode-select --install

For building from source:

  • Rust 1.85+: Install via rustup
  • Metal Toolchain: xcodebuild -downloadComponent MetalToolchain

For GUI development:

  • bun: brew install oven-sh/bun/bun

Signed binaries are available on the Releases page:

Terminal window
curl -fsSL https://github.com/Epistates/pmetal/releases/latest/download/pmetal-aarch64-apple-darwin.tar.gz | tar xz
sudo mv pmetal /usr/local/bin/
pmetal --version
Terminal window
# Default features (CLI + TUI + ANE + Dashboard)
cargo install pmetal
# All features
cargo install pmetal --features full

See Feature Flags for details on what each feature enables.

Terminal window
git clone https://github.com/epistates/pmetal.git && cd pmetal
# Release build (default features: ANE + Dashboard)
cargo build --release
# Build without ANE
cargo build --release --no-default-features --features dashboard
# Run tests (single-threaded for Metal compatibility)
just test

The compiled binary will be at target/release/pmetal.

The desktop GUI is a Tauri + Svelte application:

Terminal window
cd crates/pmetal-gui
bun install
bun tauri build

The built application bundle will be in target/release/bundle/.

For development:

Terminal window
cd crates/pmetal-gui
bun install
bun tauri dev

The Python SDK is built with maturin and PyO3:

Terminal window
cd crates/pmetal-py
pip install maturin
maturin develop --release

Then in Python:

import pmetal
print(pmetal.__version__)
Terminal window
# Check version
pmetal --version
# Show device info (GPU, ANE, bandwidth)
pmetal info
# Check memory capacity
pmetal memory
# Search for a model
pmetal search "qwen 0.6b" --detailed