Skip to main content

judgevet

A typed Python client for TypeSafe's Jev (System One) judgment model, with CLI and optional MCP entry points. Use it to ask structured questions about content—for example, whether a support ticket concerns billing.

The state is your content. A question describes what to evaluate. A typed answer contains the model's values, which your application can inspect or compare with a local acceptance policy.

Unofficial and not affiliated with TypeSafe. The official TypeSafe Python SDK also provides typed questions and synchronous and asynchronous clients. judgevet adds a shared library, CLI and MCP contract with local policy evaluation. The library and CLI install without the MCP runtime.

Documentation status: draft. Start below or follow the first-judgment tutorial for environment setup, checkpoints and recovery steps.

Install and ask one question

Use Python 3.12 or newer. In a virtual environment:

python -m pip install 'judgevet==0.7.0'
judgevet --help

Supply a TypeSafe API key through your process environment or secret provider. This example reads JEV_API__KEY and passes it explicitly to the library. Do not put real keys in source or command arguments. The installation guide covers other installation methods.

This call sends the state, questions and selected model to the configured service. Send only content you are authorized to disclose. Read the data and credential guidance before using sensitive content. The example uses a synthetic ticket:

import os

from judgevet import HTTPSystemOneAdapter, Noul

with HTTPSystemOneAdapter(api_key=os.environ["JEV_API__KEY"]) as client:
    response = client.system_one(
        state="I was charged twice. Please help today.",
        questions={"billing": Noul(instructions="Is this about billing?")},
    )

answer = response.nouls["billing"]
print(f"Probability of billing: {answer.noul}")
print(f"Resolved model: {response.model}")
print(f"Input tokens: {response.usage.input_tokens}")

The context manager closes the HTTP client after the call. The answer remains available. If the import or call fails, use the tutorial's recovery steps or the troubleshooting guide.

Read the answer and make a decision

A Noul value such as 0.85 reports the model's probability of yes. The actual value varies. It is not a boolean, a measured accuracy rate or an instruction to route the ticket. Noul has no separate confidence field. See the vendor's Noul definition.

The returned container also records the resolved model and token usage. Other question types let you select a label or evaluate an ordered rubric:

Question What its answer contains
Noul Probability of yes
Choice Selected label, per-label probabilities and confidence
Score Continuous score, rubric legend, per-level probabilities and confidence

The vendor API reference defines those fields. The question-type explanation shows how to choose a type and distinguish score, confidence and probability.

A local policy can require a minimum value before your application accepts an answer. For example, 0.85 meets a minimum of 0.8 and fails one of 0.9. These are teaching thresholds, not production recommendations. A passing policy does not prove the model is correct or perform the application's next action. Try the first-policy tutorial with synthetic answers; it requires no key or network.

Choose your next task

Need Start here
Learn one complete service call First judgment
Call from an async application Async Python guide
Use a mounted key or secret provider Credential sources
Deploy in containers or serverless Deployment guide
Correlate diagnostic events Event contract and caller binding
Configure a proxy or private CA Network configuration
Configure bounded retries Retry limits
Handle service and transport failures Library error handling
Evaluate typed or JSON policies in Python Policy guide
Use shell commands, files or stdin CLI inputs and CLI policies
Give an agent judgment tools Optional MCP installation, connection and discovery
Look up types, options or schemas Reference map
Understand thresholds and tradeoffs Local policy explanation
Choose an entry point and own its lifecycle Library-first architecture

The CLI uses the same library and can return JSON or a policy exit status. The optional MCP server exposes ask_noul, ask_choice and ask_score over stdio. Follow the connection guide to install the extra and configure a host. These are alternative entry points; you do not need MCP to use Python or the CLI.

Know the limits

Exact documentation examples run against isolated installations with synthetic answers. Those checks establish local wiring, not model quality or calibration. Live evidence covers only the observed cases and resolved jev-1.13.0 model. The 429/529 error bodies remain unseen; other models and untouched fields remain unverified. The verification explanation separates local tests, vendor statements and live observations.

Diagnostics are quiet by default. Debug metadata excludes state and question text, but protocol errors, CLI error envelopes and arbitrary tracebacks can contain sensitive content. Review them before sharing. The security policy describes credential, disclosure and diagnostic limits.

Maintainers

Use the maintainer procedures for documentation checks, package verification and releases. Repository contribution rules define gates and commits. The evidence ledger retains release records and the detailed live-verification table.

Release files for judgevet 0.10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for judgevet 0.10.0
File Size Uploaded
judgevet-0.10.0.tar.gz 64.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for judgevet 0.10.0
File Interpreter ABI Platform
judgevet-0.10.0-py3-none-any.whl Python 3 none any Details

Total release size: 149.4 kB

Release files / judgevet-0.10.0.tar.gz

Download URL judgevet-0.10.0.tar.gz
Size 64.4 kB
Tags Source
SHA-256 checksum
How to use checksums
a53ef1ef34e6a9246e71eb39e160d4e7f1cca7ca8f25178bd7b80ae04f6cd4c6
BLAKE2b-256 checksum
How to use checksums
0bab07c120d322d9cf50c624cd74e270b0cca2bace8da55d72a36246c616d4f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / judgevet-0.10.0-py3-none-any.whl

Download URL judgevet-0.10.0-py3-none-any.whl
Size 85.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f194f173eaf65d51d62c5e6508ce574d9ede5b498b07fe56f63350f51fad9d6d
BLAKE2b-256 checksum
How to use checksums
554f32d60b95b2556637f81630b26e52ddc8a9687b30fd4ea965708d73dfeecc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.10.1

2 release files

This release

0.10.0 This release

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page