Skip to content

Python SDK Retries

RetryPolicy for the Python SDK: attempt count, exponential backoff with jitter, which HTTP statuses retry, and a total time budget.

Format
Docs
Published by
TypeSafe AI
Last verified
Oct 2026

Highlights

  • Defaults are max_retries 2, backoff_initial 0.5s, backoff_max 5s, backoff_jitter 0.25, and timeout 30s.
  • Retried statuses are 408, 429, and the 500-599 range. max_retries 0 turns retries off.
  • respect_retry_after honors Retry-After and retry-after-ms. Connection and timeout errors retry by default.
  • A predicate or extra exception types can force another retry. The budget stops a retry that would exceed it.

Quickstart

python
from typesafe_sdk import RetryPolicy, TypeSafeClient

client = TypeSafeClient(
    retry=RetryPolicy(
        max_retries=3,
        timeout=10.0,
        http_statuses={429, 500, 502, 503, 504},
    )
)

Watch out

The usage guide shows a different example policy. This page is the dataclass default.

Questions about this entry

Short answers drawn from the linked project or page.

Reactions & coverage

Posts, threads, and videos about this entry from around the web.

X: Failing open or failing closed is a per-action choice, not a global default.

This post couldn't be loaded here — read it on X.https://x.com/jevdirectory/status/2781000000000000004

Related terms

Glossary definitions related to this entry.

More Jev resources like this

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
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
How the Python SDK types questions: Noul, Choice, and Score as objects or dictionaries, including optional JSON instructions and criteria.
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
TypeSafeClient, the synchronous Python client: ask questions, list models, and set the key, model, retry policy, and HTTP timeout.
Jev Repos & SDKsDocs#official#docs#sdk
Official
Shared Python SDK types: JSONValue, a nested JSON-like value that may be None, and descriptions built from strings or JSON values.
Jev Repos & SDKsDocs#official#docs#sdk
Official

From the Jev guides

Original write-ups on what this entry is for.

Every decision path has a failure posture, whether you chose one or not. How to put retries in the client, bound the whole call, and make the fallback an explicit, per-action policy.
Jev Practices & Patterns#reliability#retries#api
Read article
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