Skip to content

TypeSafe SDK Rust — codeitlikemiley

Unofficial Rust client for the TypeSafe AI System One API, matching the Python SDK 0.6.0 contract: named noul, choice and score questions, a typestated builder, per-call overrides, and a `wire` module for serving the same shape.

Stars
3
Language
Rust
License
MIT
Published by
Community
Author
codeitlikemiley
Last verified
Oct 2026

About this project

Rust client for the TypeSafe AI API. It matches the Python typesafe-sdk 0.6.0 contract. Callers send named questions and get typed answers. Read AGENTS.md before you write integration code. Copy from examples/systemone.rs. Requires Rust 1.85 or later. Edition 2024. This crate requires serdejson = "1.0.134", a minimum rather than a pin: any 1.x from 1.0.134 up works, so serdejson = "1" or cargo add serdejson is fine. It enables serdejson's preserveorder feature, which Cargo unifies into your build.

Quoted from the project's README. Read the full README.

Highlights

  • The builder is typestated, so `build()` only exists after `api_key(...)` and a missing key becomes a compile error rather than a runtime surprise.
  • The `wire` module serves the same shape: unknown question types stay `Question::Raw` and unknown top-level keys stay in `extra` for a gateway.
  • Default retries are two after the first attempt on 408, 429 and 5xx, backing off 0.5s to 5s with jitter inside a 30s budget, honoring `Retry-After`.
  • Base URLs join by string concatenation, so a trailing `/v1` yields `/v1/v1/systemone`; `tests/contract.rs` locks the prefix pattern against a mock.

Watch out

Behavior targets `typesafe-sdk-python` 0.6.0 and OpenAPI 0.2.0, but the Rust crate has its own 0.2.0 version line and is not a version bump of that release; there is no `nouls` dict. It requires `serde_json` 1.0.134 or newer and enables `preserve_order` into your build. Live API calls are excluded from `cargo test`, and `cargo bench` only talks to an in-process wiremock. Copy reviewed against the repository README on 2026-10-04, not from running it.

Questions about this entry

Short answers drawn from the linked project or page.

Other listings of this project

Forks and copies of this project in the directory. This entry is the canonical one.

1GitHub stars
An async Rust client for models served through the System One API: typed Noul, Choice and Score questions go out with one state and typed answers come back, over a single multiplexed HTTP/2 connection with no vendor built in.
Jev Repos & SDKs#community#awesomejev#catalog-import

More Jev resources like this

1GitHub stars
An unofficial async Rust client for the TypeSafe System One API in which each question hands back a key typed by its answer, so reading a choice answer as a probability fails to compile.
Jev Repos & SDKs#community#jevbest#catalog-import
1GitHub stars
A Rust client for typed decision models across TypeSafe Jev, Cloudflare Clef, Liquid, Vercel AI Gateway and OpenRouter, with noul, choice and score builders, typed label enums, and a scripted fake for tests.
Jev Repos & SDKs#community#jevbest#catalog-import
0GitHub stars
Typed Rust client for TypeSafe's System One API that sends shared state with independent Choice, Score and Noul questions, validates the provider's response against the originating request, and returns latency, attempts and usage with the answers.
Jev Repos & SDKs#community#jevbest#catalog-import
45GitHub stars
Go SDK plus a pipeline-friendly CLI for typed decisions, covering single questions, batched question maps, retries, and line-oriented filtering over stdin.
Jev Repos & SDKs#community#jevbest#catalog-import
16GitHub stars
Swift library and CLI for asking Jev typed Choice, Noul, and Score questions from Apple platforms, with answers returned alongside calibrated probabilities in one parallel request.
Jev Repos & SDKs#community#jevbest#catalog-import
9GitHub stars
Go SDK for the TypeSafe API that asks typed Noul, Choice, and Score questions about a state and returns probability distributions with confidence and typed accessors.
Jev Repos & SDKs#community#jevbest#catalog-import

From the Jev guides

Original write-ups on what this entry is for.

Closed weights have not stopped the ecosystem from rebuilding the shape in the open. API-compatible servers, retrained heads on small models, and inference-time tricks that skip generation entirely.
Jev Repos & SDKs#open-models#research#local
Read article
Back to all resources

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai