Skip to content

jev-py-sdk

Python SDK for typed Jev judgments that masks state before sending and returns 'undecided' instead of raising on any failure.

Librarybeta

Overview

jev-py-sdk is a Python port of a TypeScript jev-sdk that returns typed Jev judgments (noul, choice, score) with masking applied before anything leaves the machine. State, instructions and criteria all pass through masking functions, and the decision log stores only masked questions and a SHA-256 digest of the masked state, never the state itself.

Its invariants are explicit: a verdict informs a move but never authorises one; every failure, including missing key, timeout, network or HTTP error, malformed body, absent answer or low confidence, becomes the verdict undecided with a reason rather than an exception; and stakes set the confidence bar (passive 0.6, design 0.75, critical 0.9, default 0.8), overridable with explicit thresholds. It depends only on httpx, offers a CLI with judge and report commands, and is distributed as a wheel on GitHub Releases rather than PyPI. The README also mentions a private Aion 2 copilot that bundles it.

What the decision model decides

TypeQuestionAnswers
Yes / noDoes the service owner have to act now?yes · no
ChoiceWhich layer most likely failed?frontend · api · data
ScoreHow risky is waiting an hour?nobody notices the wait · some users retry and succeed · orders are lost while we wait

How it works

  1. Install the wheel and set TYPESAFE_API_KEY
  2. Call judge with state and questions tagged by stakes
  3. State and questions are masked before sending
  4. Read verdicts, which are undecided on any failure or low confidence

Strengths

  • Masking before data leaves the machine
  • Never raises on runtime failures
  • Stakes-based thresholds
  • Single dependency (httpx)

Caveats

  • Not on PyPI yet
  • Masking may reduce answer quality
  • Community project

Getting started

pip install "jev-py-sdk @ https://github.com/ogarciarevett/jev-py-sdk/releases/download/v0.1.0/jev_py_sdk-0.1.0-py3-none-any.whl"

At a glance

Type
Library
Status
beta
Language
Python
Runtime
Library and CLI
Has code
yes
Has tests
yes

Use cases and integrations

How curated lists describe it

Frequently asked questions

What happens on errors?

Every runtime failure becomes an undecided verdict with a reason, not an exception.

How are thresholds chosen?

By stakes: passive 0.6, design 0.75, critical 0.9, default 0.8.

Is data masked?

Yes. State, instructions and criteria are masked before sending, and logs store only digests.

Related projects

  • Go utilities for TypeSafe: a grep-like qgrep CLI, a kubectl plugin for asking questions about pod logs, and an SDK.

    ServicebetaGo
  • Adds Jev semantic rules to Zod 4 schemas: Zod checks the shape, Jev checks the meaning, all rules in one request.

    LibrarybetaTypeScript
  • 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