Jev directory
CommunityJev Repos & SDKs
TypeSafe Rust SDK — makbari
Unofficial Rust client for the TypeSafe AI API, ported from the official typesafe-sdk-js at v0.7.0. Async on reqwest and serde_json, with typed Noul, Choice, Score, and Box answers plus a typesafe-cli binary for single asks and batch labeling.
- Stars
- 0
- Reading time
- 2 min
- Published by
- Community
- Added
- Oct 2026
This is one of several Jev listings for the same project. The canonical entry is TypeSafe Rust SDK — gilljon.
Highlights
- Async client built on reqwest, serde_json, zstd, log, and httpdate, with no other direct dependencies.
- Ported from typesafe-sdk-js v0.7.0; answers return as an Answer enum read with as_noul, as_choice, as_score, and as_box.
- Defaults to jev-latest, a 10 s timeout per attempt, and 2 retries with 500 ms to 5 s backoff plus 25% jitter.
- typesafe-cli provides ask and batch commands; batch writes results in input order and supports --resume.
- Invalid questions such as an empty choice or a score rubric under two entries fail before the request is sent.
Questions about this entry
Short answers drawn from the linked project or page.
Add typesafe-sdk as a git dependency in Cargo.toml alongside serde_json 1 and tokio with the macros and rt-multi-thread features. The typesafe-cli crate installs a typesafe binary via cargo install --git against the same repository.
Answers return as an Answer enum keyed by question name. Read them with as_noul(), as_choice(), as_score(), and as_box(); choice answers carry choice, confidence, and probabilities, and score answers add a score and legend.
Image support is experimental on the API side. Set the opt-in header TypeSafe-Danger-Zone-Images to true, build an Image from PNG or JPEG bytes, and attach it with .image(). Images are sent once each as multipart/form-data.
Each attempt times out at 10 seconds. The client retries twice on 408, 429, 5xx, connection errors, and timeouts, using 500 ms to 5 s backoff with 25% jitter, and it honors Retry-After in seconds or HTTP date form.
It reads a JSONL file and labels each line with the questions you pass, writing one JSON object per input line in order, next to the input, with usage or an error field. --concurrency and --resume are supported and existing output files are not overwritten.
No. It is an unofficial Rust client maintained by makbari, ported from the official JavaScript SDK typesafe-sdk-js at version v0.7.0 and maintained independently of TypeSafe AI.
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.