Skip to content

Jev directory

TypeSafe for Rust — Twister915

A Rust client for the System One API with typed Noul, Choice, and Score results, async and blocking transports, batched questions over one state, and inspectable retry and error details.
Stars
15
Language
Rust
License
APACHE-2.0
Reading time
3 min
Published by
Community
Author
Twister915
Last verified
Sep 2026

Twister915/typesafe-ai

User repository on GitHub

View on GitHub

Typed TypeSafe AI clients for Rust, with async and blocking backends and observable retries.

Forks
4
Last pushed
Updated Sep 2026

Repo stats from the GitHub API, cached Oct 2026.

About this project

typesafe-ai brings TypeSafe's System One evaluation API into Rust as small, typed judgments that fit inside ordinary application code. Send the state your application already has, ask focused questions, and combine the answers with your own rules. A request can: route a support case to one of your teams; classify content against a fixed set of labels; score an item along an ordered rubric; judge whether a condition is true and return its probability.

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

Highlights

  • Typed Noul, Choice, and Score responses deserialize into Rust enums with probabilities, distributions, confidence, and usage data.
  • Async reqwest client by default; disable default features to use the blocking ureq client without pulling in Tokio.
  • evaluate returns a simple result, while a lazy iterator or stream exposes each failure and planned retry as a progress event.
  • Errors keep status, headers, request IDs, original response bytes, and concrete backend errors without exposing credentials.
  • Batches independent questions over shared text or structured JSON in a single request.

Quickstart

rust
use typesafe_ai::{Question, Request, ReqwestClient};

let request = Request::new(message).with_question(
    "requests_refund",
    Question::noul("Is the customer asking for a refund?"),
);

let response = client.evaluate(&request).await?;
let refund = response.answer("requests_refund").and_then(|answer| answer.noul());

Watch out

Apache-2.0. A community crate, not an official TypeSafe SDK; needs a TYPESAFE_API_KEY and a Rust toolchain.

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.

3GitHub stars
An unofficial Rust client for TypeSafe's System One API behind Jev: typed Noul, Choice, Score and Box questions, images, and both async and blocking clients. Its behaviour follows the official Python SDK, with the same environment variables, retry policy and error kinds.
Jev Repos & SDKs#community#github#rust

From the Jev guides

Original write-ups on what this entry is for.

From the Jev AI model community

Posts from builders shipping with Jev right now.

Follow @typesafeai