Skip to main content
Judgment Logo

The Continuous-Improvement Stack for Agents

Detect failures, triage root causes, and ship fixes backed by production data.

PyPI Docs

X LinkedIn

Overview

Judgeval is an open-source Python SDK for agent improvement. It provides tracing and agent-judge evaluation for LLM-powered applications — so you can detect failures, understand what went wrong, and validate fixes against real production cases before shipping.

To get started, dive into the docs.

Why Judgeval

OpenTelemetry-based tracing -- Instrument any function with @Tracer.observe(). Automatically captures inputs, outputs, and LLM token usage. Built on OpenTelemetry for full compatibility with existing observability stacks.

Agent judges -- Define prompt-based scorers to evaluate agent behaviors at scale. Judges produce structured behaviors — scored, labeled outputs that describe how your agent acted — which accumulate into a searchable record of agent behavior over time. Run judges against live production traffic or replay them on historical traces to validate fixes before shipping.

Online monitoring -- Automatically score live production traffic server-side with no latency impact. Detected behaviors surface as structured signals — configure Slack alerts so regressions and recurrences never go unnoticed.

Broad integrations -- Auto-instrumentation for OpenAI, Anthropic, Google GenAI, and Together AI. Framework support for LangGraph, OpenLit, and Claude Agent SDK.

Quickstart

Install the SDK:

pip install judgeval

Set your credentials:

export JUDGMENT_API_KEY=...
export JUDGMENT_ORG_ID=...

Add observability to your agent with two lines of setup:

from judgeval import Tracer, wrap
from openai import OpenAI

Tracer.init(project_name="my-project")
client = wrap(OpenAI())

@Tracer.observe(span_type="tool")
def search(query: str) -> str:
    results = vector_db.search(query)
    return results

@Tracer.observe(span_type="agent")
def run_agent(question: str) -> str:
    context = search(question)
    response = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": f"{context}\n\n{question}"}],
    )
    return response.choices[0].message.content

run_agent("What is the capital of the United States?")

JQL

JQL queries use the same API key, organization, and project configuration as the rest of Judgeval. Tenant identifiers are not part of the query payload.

from judgeval import Judgeval
from judgeval.jql import eq, traces

client = Judgeval(project_name="my-project")
result = client.query(traces().where(eq("session", "session-123")).ids())

Integrations

Supports OpenAI, Anthropic, Google GenAI, Together AI, LangGraph, OpenLit, and Claude Agent SDK. See the full integrations docs.

CLI

Manage agents, traces, judges, behaviors, and evaluations from the terminal. Query trace history, deploy judges, inspect detected behaviors, and run evals against production data — all without leaving your shell. See the CLI repo and docs.

MCP Server

Connect Judgment to any MCP-compatible AI tool. Query agent traces, invoke judges, browse detected behaviors, and surface failures directly inside your AI assistant or IDE. See the docs.

Links


Judgeval is created and maintained by Judgment Labs.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

judgeval-1.3.1.tar.gz (116.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

judgeval-1.3.1-py3-none-any.whl (202.1 kB view details)

Uploaded Python 3

File details

Details for the file judgeval-1.3.1.tar.gz.

File metadata

  • Download URL: judgeval-1.3.1.tar.gz
  • Upload date:
  • Size: 116.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.15

File hashes

Hashes for judgeval-1.3.1.tar.gz
Algorithm Hash digest
SHA256 0cae79a78d1590b1eefe59b615f1797ed14d7868e97bbf140e0807c5308226b8
MD5 2dbec2ad2d1f9883fc724006b5a7d7d3
BLAKE2b-256 b5c1c512fc697bf778220a9f29bdf64b874349419ed23186bb3ea87d209ab4cc

See more details on using hashes here.

File details

Details for the file judgeval-1.3.1-py3-none-any.whl.

File metadata

  • Download URL: judgeval-1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 202.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.15

File hashes

Hashes for judgeval-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9bc904068e31d7599ed4ef3f6b6f3a8bb89ddf90b09003c43f5b0051375062f9
MD5 65a6a986785a2b63e4ebbae4ee5743eb
BLAKE2b-256 2f06e0e3cd7ec089997730747888aa7ddd853023dbb979936cfc347e771a25a0

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.3.1

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page