OfficialJev Repos & SDKs
Python SDK Questions
How the Python SDK types questions: Noul, Choice, and Score as objects or dictionaries, including optional JSON instructions and criteria.
- Format
- Docs
- Published by
- TypeSafe AI
- Last verified
- Oct 2026
Used inJev for Software & DevTools
- Languages
- Python
Highlights
- State cannot be None. Values inside a state object may be None.
- Noul criteria optionally describe the true and false outcomes. Instructions are optional JSON content.
- Choice.criteria is a required map of label to a description, or None when the label is enough.
- Score.criteria is a nonempty ordered sequence, one description per level starting at zero.
- Question dictionaries with a type key can be mixed with Noul, Choice, and Score objects in one request.
Watch out
This page is the SDK shape. Option and level caps live on the HTTP API and primitive pages.
Questions about this entry
Short answers drawn from the linked project or page.
Noul criteria optionally describe the true and false outcomes; Choice.criteria is a required map of label to a description, or None when the label is enough; Score.criteria is a nonempty ordered sequence, one description per level starting at zero.
Yes. Question dictionaries with a type key can be mixed with Noul, Choice, and Score objects in one request. State cannot be None, though values inside a state object may be.
Text, a JSON object, or an array. State itself cannot be None, though values inside an object may be None. Every question in the request is asked against that single state.
Yes, but only when criteria describes an outcome. A Noul needs at least one of instructions or criteria, and with neither the SDK raises TypeSafeError.
NoulCriteria is a TypedDict with optional true and false keys. Each holds text, a JSON object, or an array describing that outcome, and None leaves it undescribed.
A nonempty criteria mapping of label to a description, which may be None when the label alone is enough. Instructions are optional on Choice.
No. The Pydantic models set additionalProperties false, so an unknown key is rejected rather than ignored. The type field is a literal that defaults to the question kind.
More Jev resources like this
Release notes for the official Python SDK, from the 14 September 2026 public release through the Pydantic migration and the HTTP/2 extra.
Jev Repos & SDKsDocs#official#docs#sdk
Official
RetryPolicy for the Python SDK: attempt count, exponential backoff with jitter, which HTTP statuses retry, and a total time budget.
Jev Repos & SDKsDocs#official#docs#sdk
Official
The Python SDK error hierarchy: HTTP status classes, rate-limit wait hints, connection and timeout errors, and response-body validation failures.
Jev Repos & SDKsDocs#official#docs#sdk
Official
AsyncTypeSafeClient: async system_one calls, model listing, per-call retry and timeout overrides, and an optional Pydantic response model.
Jev Repos & SDKsDocs#official#docs#sdk
Official
The Python response models: SystemOneResponse groups answers by id, and records the model name, token usage, and request id.
Jev Repos & SDKsDocs#official#docs#sdk
Official
Default settings and environment variable names for the Python SDK, including the API root, model alias, and per-request timeout.
Jev Repos & SDKsDocs#official#docs#sdk
Official
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
From the Jev community
Posts from builders shipping with Jev right now.