Skip to content

jevclient

Unofficial async Python client for Jev with typed Noul, Choice and Score helpers, plus measured latency for batching up to 400 questions.

LibrarybetaMIT

Overview

jevclient is an unofficial asynchronous Python client for TypeSafe's Jev, separate from the official typesafe-sdk, installed with pip install jevclient. You open an async client, call ask with a state and a dictionary of typed questions built with Noul, Choice and Score helpers, and read back typed results: the probability of yes for a Noul, the choice, probabilities and confidence for a Choice, and a score, legend, probabilities and confidence for a Score. The README's example asks whether to warn someone about a front door unlocked for 40 minutes, which area it concerns and how urgent it is.

It includes measurements from the Netherlands on 2026-09-17 showing that batching is nearly free in time: 3 questions took 712 ms, 25 took 690 ms, 100 took 714 ms and 400 took 1,336 ms, with input tokens growing from 521 to 15,417. The author notes batching is not free in money, because question text is billed as input tokens, so you should ask everything you need at once but keep questions concise. A Noul carries no confidence because the probability is the whole answer. MIT licensed.

What the decision model decides

TypeQuestionAnswers
Yes / noShould someone be warned about this?—
ChoiceWhich area is this about?security · climate
ScoreHow urgent is it?Ignore · Today · Right now

How it works

  1. Create an async JevClient
  2. Call ask with state and typed questions
  3. Read typed answers
  4. Batch many questions per call to save time

Strengths

  • Async API with typed helpers
  • Published latency measurements for batching
  • Simple install from PyPI

Caveats

  • Unofficial client
  • Question text adds input-token cost

Getting started

pip install jevclient

At a glance

Type
Library
Status
beta
Language
Python
Runtime
Library (asyncio)
Has code
yes
License
MIT

Use cases and integrations

How curated lists describe it

Frequently asked questions

Is this the official SDK?

No, it is an unofficial async client separate from typesafe-sdk.

Does batching questions slow things down?

Barely: the README measured 712 ms for 3 questions and 714 ms for 100.

Why does Noul have no confidence?

Because its single probability is the whole answer.

Related projects

  • Hack Club's lightweight LLM proxy, listed for adding a Jev forwarding endpoint behind its auth, limits and usage logging.

    MCP serverproductionTypeScript
  • Ax, a DSPy-style multi-language LLM framework, listed with a native TypeSafe provider for Boolean, Choice, Score and raw Jev questions.

    PluginproductionTypeScript
  • Effect TypeScript library whose @effect/ai-typesafe package maps classify, probability and rating operations to Jev questions.

    ProjectproductionTypeScript
  • PHP monorepo whose Polyglot module adds a TypeSafe driver for typed Noul, Choice and Score decisions alongside LLM inference.

    ProjectproductionPHP
  • Go MCP server giving any client typed Jev decisions via OpenRouter or TypeSafe, with validated answers and no paid retries.

    MCP serverproductionGo
  • Simon Willison's LLM plugin that adds Jev as a model for yes/no, choice and score questions from the command line.

    PluginproductionPython