jev-py-sdk
Python SDK for typed Jev judgments that masks state before sending and returns 'undecided' instead of raising on any failure.
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
| Type | Question | Answers |
|---|---|---|
| Yes / no | Does the service owner have to act now? | yes · no |
| Choice | Which layer most likely failed? | frontend · api · data |
| Score | How risky is waiting an hour? | nobody notices the wait · some users retry and succeed · orders are lost while we wait |
How it works
- Install the wheel and set TYPESAFE_API_KEY
- Call judge with state and questions tagged by stakes
- State and questions are masked before sending
- 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
Typed Jev judgments (noul / choice / score) from TypeSafe for Python, masked…
wh000wh000/awesome-jev-live
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.
ServicebetaGoAdds Jev semantic rules to Zod 4 schemas: Zod checks the shape, Jev checks the meaning, all rules in one request.
LibrarybetaTypeScriptHack Club's lightweight LLM proxy, listed for adding a Jev forwarding endpoint behind its auth, limits and usage logging.
MCP serverproductionTypeScriptAx, a DSPy-style multi-language LLM framework, listed with a native TypeSafe provider for Boolean, Choice, Score and raw Jev questions.
PluginproductionTypeScriptEffect TypeScript library whose @effect/ai-typesafe package maps classify, probability and rating operations to Jev questions.
ProjectproductionTypeScriptPHP monorepo whose Polyglot module adds a TypeSafe driver for typed Noul, Choice and Score decisions alongside LLM inference.
ProjectproductionPHP