sipp

Library New

Unified Rust library for extensible Sipp inference

Downloads
0
Dependents
0
Stars
124
Forks
18
Contributors
4
Commits
369
Latest release
0.1.4 ·

About

From the project README ·

Sipp Logo

    Sipp

Serious AI infrastructure. Packaged simply.


Documentation   •   Discord   •   Issues   •   Roadmap
中文介绍

[!WARNING] Sipp is under active development. Breaking changes are expected as we optimize the runtime layers. It might not be suitable for mission-critical production environments yet. If you find issues, bugs, or missing features, please open a GitHub issue.

Read the documentation →
中文文档 →

What is Sipp?

Sipp is an all-in-one, high-performance AI framework for building web, desktop, and edge applications. It ships as a cohesive SDK with a unified, symmetric API for local, provider, and cloud gateway inference.

At its core is Sipp Engine, a blazing-fast runtime built to run anywhere: in the browser, on the desktop, or on bare-metal cloud infrastructure, that delivers low startup times and a minimal memory footprint.

Read the full README
import { Endpoint, SippClient } from '@sipphq/sipp';

const blender = new SippClient();

// 1. Register a model and load it into a local WebGPU endpoint.
const edgeModel = await blender.models.add(['/models/llama3.gguf']);
const juice = await blender.add(
  'edge',
  Endpoint.local(edgeModel, { backend: 'webgpu' })
);

// 2. Or connect to a secure cloud gateway through the same client.
const ice = await blender.add(
  'cloud',
  Endpoint.gateway({
    target: 'production',
    baseUrl: 'https://gateway.example.com',
    authentication: { kind: 'bearer', value: '<short-lived-token>' },
  })
);

// Route the same operation to either endpoint.
const [smoothie, snowcone] = await Promise.all([
  blender.chat([{ role: 'user', content: 'Explain Sipp.' }], { endpoint: juice }).response,
  blender.chat([{ role: 'user', content: 'Create a Sipp app.' }], { endpoint: ice }).response,
]);

console.log(smoothie.text, snowcone.text);
await blender.close();

The unified SDK lets you dynamically partition and optimize complex application logic between local and cloud compute. Instead of wrestling with fragmented web runtimes, disconnected native wrappers for desktop, or custom middleware to protect API keys, you only need Sipp.

It packages a high-performance WebGPU engine, with a secure container gateway proxy into a single, neat toolkit. Future releases will focus on embedded vector memory, on-device PII masking, and automated smart routing. See Roadmap.

The sipp command below is the repository's contributor launcher; it is not an npm package or the application scaffolder. From a source checkout, use the launcher installed by the setup scripts, or call the underlying xtask directly:

sipp build wasm                  # Compile high-performance WebGPU assets
sipp run demos serve chat        # Launch a hardware-accelerated demo

# Equivalent commands without the repo launcher:
cargo xtask build wasm
cargo xtask run demos serve chat

Performance Benchmarks

Run them yourself here: benchmark.sipp.sh/benchmark

Runtime / FrameworkTTFT (ms) ↓Decode (tok/s) ↑E2E Latency (ms) ↓
Sipp24.3 (Best)77.07 (Best)6,655 (Best)
WebLLM160.0 (6.55x)25.80 (2.99x)19,930 (2.99x)
Transformers.js301.0 (12.38x)33.25 (2.32x)15,670 (2.35x)

Disclaimer & Metric Notes:

  • TTFT (Time to First Token): Measured in milliseconds (ms). Lower is better.
  • Decode: Measured in tokens per second (tok/s). Higher is better.
  • E2E Latency (End-to-End Latency): Measured in milliseconds (ms). Lower is better.
  • A single maintainer run on an NVIDIA RTX 3080: 1 warm-up, then the mean of 3 measured runs. The model, prompt and output lengths, browser version, and cache state of this run were not recorded, so treat the figures as indicative. Results vary with model, hardware, and browser; run the benchmark above to measure your own setup.

Create Or Install

Create a ready-to-run browser application:

npm create @sipphq/sipp@latest my-app
cd my-app
npm install
npm run dev

npm maps that command to the public @sipphq/create-sipp initializer. The generated application depends on the browser SDK, @sipphq/sipp. The initializer requires Node.js 20.19+ or 22.12+, matching the generated app's Vite version.

For an existing application, choose the package by where that import executes, not by the framework name:

Code locationPackagePurpose
Browser bundle or client component@sipphq/sippBrowser-local WebGPU/WASM inference and browser-to-gateway calls.
Node.js process, API route, or server function@sipphq/sipp-serverNative server inference, provider calls, and gateway route handlers.
Full-stack Next.js or TanStack appBothKeep @sipphq/sipp in client modules and @sipphq/sipp-server in server-only modules.

Never import @sipphq/sipp-server into a browser bundle.

# For code that runs in a web browser
npm install @sipphq/sipp

# For code that runs in Node.js
npm install @sipphq/sipp-server

# For native systems development and application embedding
cargo add sipp-rs

# For native macOS and iOS apps (source checkout on macOS)
sipp build swift

# For Python automation and data engineering pipelines
pip install sipppy

# Deploy the secure cloud gateway server instance via Docker
# (cloud gateway will be available in the future, currently building from source)
# docker pull noumena/sipp-gateway

Package Surfaces

Most developers should start with our pre-built packages when available. Swift support currently builds from a source checkout on macOS.

SurfaceModuleInstallDocs
BrowserBrowser SDKnpm install @sipphq/sippBrowser package
Node.jsServer SDKnpm install @sipphq/sipp-serverNode.js package
RustSipp Corecargo add sipp-rsRust package
PythonSipp CoreWheels available on release pagePython package
SwiftSipp CoreSource-built on macOSSwift package
Gateway ServerSipp CloudSource-builtGateway Server
Gateway ToolkitSipp CloudSource-builtGateway toolkit

Quick Starts

1. Edge Quick Start (Hardware-Accelerated Client Inference)

Initialize the local engine client to execute model weights directly on the client machine's shader cores using WebGPU.

npm install @sipphq/sipp
import { Endpoint, SippClient } from '@sipphq/sipp';

const messages = [
  { role: 'system', content: 'Answer concisely.' },
  { role: 'user', content: 'Explain Sipp in one sentence.' },
];

const client = new SippClient();
const model = await client.models.add(['/models/model.gguf']);
const endpoint = await client.add(
  'default',
  Endpoint.local(model, {
    backend: 'webgpu',
    runtime: { context: { n_ctx: 2048 } },
  })
);

const run = client.chat(messages, {
  endpoint,
  maxTokens: 64,
});

console.log((await run.response).text);
await client.close();
2. Cloud Gateway Quick Start (Preemptive Cloud Proxying)

Cloud gateway clients use the same SippClient API layout. The gateway owns model paths, provider credentials, access policies, and centralized metrics; your client only needs its public target, URL, and authentication.

import { Endpoint, SippClient } from '@sipphq/sipp';

const client = new SippClient();
const endpoint = await client.add(
  'gateway',
  Endpoint.gateway({
    target: 'upstream-cluster',
    baseUrl: 'https://gateway.example.com',
    authentication: { kind: 'bearer', value: await getGatewayToken() },
  })
);

const run = client.query('Explain gateway inference.', {
  endpoint,
  maxTokens: 64,
});

console.log((await run.response).text);
await client.close();
3. Swift Quick Start (Native macOS and iOS)

Swift support requires macOS and Xcode. The build stages a local Swift package at .build/artifacts/swift/package for macOS and iOS.

sipp toolchain install rust-apple
sipp doctor --target swift
sipp build swift
import Foundation
import Sipp

let modelURL = URL(fileURLWithPath: "/path/to/model.gguf")
let client = try SippClient()
let model = try await client.models.add([modelURL])
try await client.add("local", model: model)

let run = client.chat(
    messages: [
        ChatMessage(role: .system, content: "Answer concisely."),
        ChatMessage(role: .user, content: "Explain Sipp in one sentence."),
    ],
    endpoint: "local",
    options: TextOptions(maxTokens: 64)
)

for await batch in run.tokens {
    print(batch.text, terminator: "")
}

let response = try await run.response
print(response.text)

Run the staged command-line example, open the sandboxed macOS app, or launch the iOS example in a simulator. Build the optional example artifacts first:

sipp build swift --examples

.build/artifacts/swift/examples/SippCLI chat \
  /path/to/model.gguf "Explain on-device inference"

open .build/artifacts/swift/examples/SippSandbox.app

xcrun simctl list devices available
sipp run examples ios --simulator <simulator-udid> \
  --model /path/to/model.gguf

See the Swift package guide and Swift examples for sandbox entitlements, supported operations, and device builds.


Native Web Framework Blueprints

Sipp includes native integration blueprints to handle Server-Sent Events (SSE) streaming, serverless route orchestration, and client hydration patterns out of the box.

  • Next.js: App Router route handlers, Client Components, gateway proxies, and streaming.
  • TanStack: TanStack Start server functions and TanStack Query patterns.
  • React And Vite: Browser package setup, WASM assets, OPFS model loading, and gateway examples.

Documentation

The full documentation lives in docs/en. From a source checkout, use the repo launcher to build or serve the book:

sipp docs build
sipp docs serve

sipp docs installs required mdBook tooling when missing and configures the Mermaid assets used by the technical book. Without the launcher, use cargo xtask docs build or cargo xtask docs serve.


Technical Roadmap

Our core development trajectory is oriented around expanding the edge-cloud infrastructure for running hybrid systems, where local and cloud resources are orchestrated seamlessly.

For a detailed structural breakdown of milestones, memory architectures, and long-term research initiatives, see the full Sipp Technical Roadmap.


Maintainers & Contributors

To bootstrap the workspace, initialize a cross-platform profile, and inspect the available test suites:

source ./setup.sh
sipp doctor
sipp test list

(On Windows platforms, execute .\setup.ps1 inside PowerShell or setup.cmd via classic CMD if not using Git Bash or WSL).

The setup scripts install sipp as a repo-local alias for cargo xtask. If the launcher is not active, replace sipp with cargo xtask in any command below.

Common Build and Run Tasks
sipp build wasm
sipp run examples serve browser

sipp build node --backend cpu
node examples/node/query.mjs <model.gguf> "Explain Sipp."

sipp build python --backend cpu
python examples/python/query.py <model.gguf> "Explain Sipp."

sipp build swift   # macOS with Xcode only

sipp run demos serve chat

For thorough verification steps, consult the Source Builds Documentation and the Testing Framework Suite.


Repository Layout

  • crates: The published core sipp-rs and low-level backend sipp-sys Rust crates.
  • lib: High-level language package surfaces and gateway proxy toolkit.
  • bindings: Native Node.js bindings, Python extensions, Swift UniFFI bindings, and browser-compiled WASM targets.
  • apps: First-party user interfaces and monitoring implementations.
  • examples: Small, runable framework integration blueprints.
  • demos: Advanced browser sandboxes running on public package surfaces.
  • tools/playground: Live browser-runtime profiling and hardware execution diagnostics.
  • xtask/: Internal cargo automation engine driving build, test, and package deployment pipelines.

License

Sipp is licensed under the Apache-2.0 License. Vendored third-party dependencies preserve their respective upstream open-source licensing constraints and documentation requirements; see the third-party notices.

Runs on
CUDA, Metal, Vulkan
What shows it
  • CUDA: sipp-rs feature cuda, sipp-sys feature cuda
  • Metal: sipp-rs feature metal, sipp-sys feature metal
  • Vulkan: sipp-rs feature vulkan, sipp-sys feature vulkan
Native code
Required
  • Binds native code: cxx, sipp, sipp-sys, link-cplusplus
  • Build uses a native toolchain: cc, cmake, cxx-build
Python bindings
No Python binding crate found
License
Apache-2.0

Compare with similar projects

Order: strongest tier first, then most downloads, then name, with unmeasured values last. A library counts downloads over 30 days. An app counts binary downloads per release. An app with none counts its crate downloads over 30 days. ML Rust runs this catalogue, so its closest project always gets a row.

sipp beside the projects that share a topic with it
ProjectDownloadsDependentsStarsLatest releaseRuns on (GPU)Native codeLicense
sipp This page New

Unified Rust library for extensible Sipp inference

0 downloads over 30 days 0 124 0.1.4 CUDA, Metal, Vulkan Binds native code: cxx, sipp, sipp-sys, link-cplusplus. Build uses a native toolchain: cc, cmake, cxx-build Apache-2.0
ort Featured

A safe Rust wrapper for ONNX Runtime 1.31 - Optimize and accelerate machine learning inference & training

Also in Run and serve models.

3,902,768 downloads over 30 days 694 2,611 2.0.0-rc.15 CUDA, WebGPU, ROCm Binds native code: onnxruntime, ort-sys. Build uses a native toolchain: pkg-config (feature pkg-config) Apache-2.0 OR MIT
lele Listed

Bare-metal machine learning inference library in Rust

Also in Run and serve models.

132 downloads over 30 days 1 183 0.2.0 GPU support unknown No native code found MIT
higgs App Listed

A rust mlx server, ui, and model router for fast, dependency free inference on apple architecture

Also in Build LLM apps and agents.

23 binary downloads per release Not applicable 34 Not measured Not measured MIT
blazr App Listed

Inference server for LLMs, speech and embeddings: OpenAI-compatible routes with streaming, plus speech synthesis (TTS) and transcription (ASR). Serves Llama, Mistral, Qwen, Mamba2, MLA+MoE and hybrid models from SafeTensors, AWQ, GPTQ and GGUF.

Also in Build LLM apps and agents.

8 binary downloads per release Not applicable 7 0.7.1 CUDA, WebGPU Binds native code: ring (feature distributed) Apache-2.0
oxibonsai Listed

Pure Rust 1-bit LLM inference engine for PrismML Bonsai models — umbrella crate

Also in Build LLM apps and agents.

1 downloads over 30 days 0 137 0.2.3 CUDA, Metal No native code found Apache-2.0

Fast, unified, Rust-native, Axum-compatible inference endpoints and nervous system for tensor models and LLMs: KServe / Triton and OpenAI APIs from one pure-Rust server

Also in Build LLM apps and agents.

241 downloads over 30 days 0 66 0.16.2 CUDA, WebGPU, Metal No native code found MIT
Why NewIts first release on 23 Jun 2026 is under 180 days old.

The check tests the Featured gates once the first release passes this age limit.

What else the check found

  • The last activity is on 16 Oct 2026, 24 days ago. The rules expect an update within 365 days. Dormancy rule

Check notes

  • the latest release was packaged from a dirty working tree

Exact rules: New. The check on applied thresholds version 9.

Every rule outcome, as the check records it
  • expected-interval: version 0.1.4 base 450, capped at 5 releases = 250, raised to the 365-day floor: E = 365 days
  • dormancy: last activity 2026-10-16, 24 days ago, E = 365: active
  • new: new: first release 2026-06-23 is under 180 days old
Crates2 crates

Measurements and sources

Each signal row shows the raw value, its source and the fetch date. The Sources list gathers every distinct source on this page. Movement needs more history.

Sources6 sources
Adoption0 active dependents, 0 new dependents in 365 days1 not measured
Adoption measurements
SignalValueSourceFetchedCounts
Active dependents0crates.io database dumpYes
New dependents (365 days)0crates.io database dumpYes
Peak active dependents0crates.io database dumpYes
Active dependents as a share of the peak1crates.io database dumpYes
Binary downloads per releaseNot measuredYes
MaintenanceLatest human commit: 24 days ago3 not measured
Maintenance measurements
SignalValueSourceFetchedCounts
Latest human commit2026-10-16GitHub repositoryYes
Latest release2026-09-19crates.io database dumpYes
First release2026-06-23crates.io database dumpYes
Latest version0.1.4crates.io database dumpYes
Days the oldest outside issue waits for a reply0GitHub repositoryYes
Maintainer replies over 365 days0GitHub repositoryYes
Repository archivedfalseGitHub repositoryYes
Repository gonefalseGitHub repositoryYes
Release commit or manifest in the repotruecrates.io packageYes
Published docstruecrates.io database dumpYes
Latest release fails cargo checkNot measuredYes
Build check dateNot measuredYes
Build check toolchainNot measuredYes
SecurityUnpatched vulnerabilities: none
Security measurements
SignalValueSourceFetchedCounts
Unpatched vulnerabilities past the grace windownoneRustSec advisory databaseYes
RustSec unmaintained advisorynoneRustSec advisory databaseYes
Deprecation noticenonecrates.io database dumpYes
Deprecated requirementnonecrates.io database dumpYes
Distribution5 releases, 0 downloads over 30 days5 not measured
Distribution measurements
SignalValueSourceFetchedCounts
Releases5crates.io database dumpYes
Downloads over 30 days0crates.io database dumpYes
Binary downloads over the last 3 releasesNot measuredYes
Homebrew installs on request over 365 daysNot measuredYes
Repology repository familiesNot measuredYes
Docker pull growth over 90 daysNot measuredYes
Docker pulls at the growth baselineNot measuredYes
Every version a prereleasefalsecrates.io database dumpYes
Every version 0.0.xfalsecrates.io database dumpYes
Every version yankedfalsecrates.io database dumpYes
Crate deleted from crates.iofalsecrates.io database dumpYes
Repository124 stars, 18 forks, 4 contributors, 369 commits. Stars alone never qualify a project.
Repository measurements
SignalValueSourceFetchedCounts
GitHub stars124GitHub repositoryYes — one part of the repository route
GitHub forks18GitHub repositoryYes — one part of the repository route
Contributors with a GitHub account4GitHub contributorsYes — one part of the repository route
Commits on the default branch369GitHub repositoryNo
Repository's main crate left out of the entrynonecrates.io database dumpYes
Facts that never count
Facts that never count measurements
SignalValueSourceFetchedCounts
LicenseApache-2.0crates.io database dumpNo
Runs on, from listed crates and their direct dependenciesCUDA, Metal, Vulkancrates.io database dumpNo
What shows each backendCUDA: sipp-rs feature cuda, sipp-sys feature cuda; Metal: sipp-rs feature metal, sipp-sys feature metal; Vulkan: sipp-rs feature vulkan, sipp-sys feature vulkancrates.io database dumpNo
Native code, from listed crates and their dependenciesBinds native code: cxx, sipp, sipp-sys, link-cplusplus. Build uses a native toolchain: cc, cmake, cxx-buildcrates.io database dumpNo
Python bindings, from direct dependencies of listed cratesNo Python binding crate foundcrates.io database dumpNo
Crates that depend on a listed crate directly0crates.io database dumpNo

Corrections and review history

Report a correction

No correction applies to this entry.

Judgments

A judgment enters only through an approved issue and a merged pull request.

No judgment applies to this entry.