A Python decorator that turns a Pydantic model into Jev questions: bool becomes a Noul, a Literal becomes a Choice, and a bounded int becomes a Score, with answers validated back into the model.
Maps Pydantic fields to primitives: bool to Noul, Literal to Choice, and a bounded int to Score.
Validates Jev's answers back into the model, so callers keep ordinary typed Python.
Raises at import time for field types Jev cannot produce, rather than at first call.
Testable offline: returning a model from the function body skips the API call.
Watch out
Community code with a small star count; it targets Python 3.14 and requires the pydantic and TypeSafe dependencies, so pin versions if you adopt it.
Questions about this entry
Short answers drawn from the linked project or page.
It turns a Pydantic model into Jev questions with a decorator. A bool field becomes a Noul, a Literal becomes a Choice, and a bounded int becomes a Score, and the answers are validated back into the model.
You annotate a function with @jev.fn and return a state builder; the docstring is rendered as the state with the bound arguments, sent to Jev, and the typed answers are coerced back into the Pydantic model.
It raises a TypeError at import time for anything Jev cannot produce, such as a plain string, a list, or a nested model, so mistakes surface when the module loads rather than on the first call.
A bool field becomes a Noul with a default 0.5 threshold, tunable per function with bool_threshold on the decorator or globally through the JEV_BOOL_THRESHOLD environment variable.
Yes. Returning a model instance from the function body short-circuits the call, and the library exposes builder and state_payload helpers so the state can be asserted without a network request.
Python 3.14 with the project synced through uv, and a TypeSafe key from console.typesafe.ai in a .env file. The decorator reads TYPESAFE_API_KEY and calls jev-latest by default.
It is an ergonomic layer for Python teams that already type their data with Pydantic, mapping model fields to primitives automatically. It is community code with about nine stars, so evaluate it before production use.
Self-hosted Python SDK and System One-compatible API for runtime-defined Choice, Boolean and Score decisions on pinned open models, across Torch, vLLM, MLX, llama.cpp and WebGPU. Each result records probabilities, token usage, timing, model revision and prompt version, with committed row-level benchmarks.
A server that implements the TypeSafe/Jev HTTP API with Qwen3.6-35B-A3B on SGLang 0.5.19, deployed on Modal with radix caching and breakable prefill CUDA graphs, plus a separate FastAPI process.
Vercel's official AI SDK for Python, in public beta: streaming models, agent tool loops, hooks for human approval and structured output, with provider IDs routing through AI Gateway by default. The SDK's evaluation operation and Gateway examples carry Jev as a decision and evaluation provider.
Zero-shot named entity recognition library on Jev: text is split at punctuation, candidate windows are offered as one Choice question per entity type, then verified and boundary-polished by further Choice calls. Types are defined in plain words; no training data or GPU is needed.
Ruby gem that makes System One measurement a language primitive: psi prepares a state, judge/choose/score return calibrated distributions, and ? collapses them for control flow. Ships TypeSafe, protocol (/v1/systemone) and CUA providers behind one interface with its own spec suite.
Unofficial portable Clojure SDK for TypeSafe System One. It posts state and typed questions to /v1/systemone, lists available models, and returns validated Clojure data with keyword or string answer keys, on a JVM backend or a native Jolt backend.
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.