judgekeeper
Check your LLM-as-a-judge.
See how often it agrees with human labels, in one command.
An LLM-as-a-judge is an AI model that grades the answers of another AI model. Teams use one because reading every answer by hand is slow.
Try it
pip install judgekeeper
judgekeeper demo
It needs no key and no data. The demo checks a recorded judge on answers that ship with the package. Without installing: uvx judgekeeper demo. On a Mac the command is pip3. If the install is refused, see Install.
Use it on your own judge
judgekeeper check results.csv --judge verdict --human label
The table has one row per answer: what the judge said and what a person said.
What you get
judgekeeper demo: a recorded judge on 100 synthetic single-output items, 3 runs.
Of the answers people passed, the judge passed 97%. Of the answers people failed, the judge failed 86%. It is usable with care.
TPR 0.97 (95% CI 0.88 to 0.99), TNR 0.86 (95% CI 0.73 to 0.94), kappa 0.84
Usable with care: TPR 0.97, TNR 0.86, kappa 0.84 against human labels. Read the flags below before relying on it.
- TNR is 0.86 (between 0.80 and 0.90): usable with care.
open judgekeeper-demo/report.html (data in judgekeeper-demo/report.json)
The second line is the answer in plain words. The next two lines give the same result as numbers; How it works says how to read them. The indented line is a flag: what to look at before you rely on this judge. The last line is a report page you can open.
A report from a real judge on a public dataset: LLMBar judged by Claude Haiku 4.5. Three worked examples with two judges each: See it work.
When you need more
| You need | Command | Read |
|---|---|---|
| Human labels, because you have none yet | judgekeeper label items.jsonl |
Labels |
| Your own rule, or judgekeeper to run the judge | judgekeeper init |
Your own metric |
| A warning when the judge changes | judgekeeper gate report.json |
Keep checking |
| To use results from an eval framework, pytest or CI | judgekeeper import promptfoo results.json |
Your tools |
| A coding agent to set it up for you | none: the agent reads one file, skills/judgekeeper/SKILL.md |
With a coding assistant |
Status
Alpha (0.1.3): commands and report fields may still change. Use it on your app has the four steps, How it works has the background, the reference has every command and flag, and the changelog says what changed.
License
MIT.
Metadata
Release files for judgekeeper 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| judgekeeper-0.1.3.tar.gz | 602.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| judgekeeper-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.3 MB
Release files / judgekeeper-0.1.3.tar.gz
| Download URL | judgekeeper-0.1.3.tar.gz |
|---|---|
| Size | 602.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7f8df99c65ce6d42e6a60b8b6b4c033eee21e4d816334cea84f9f579f8470465
|
|
BLAKE2b-256 checksum How to use checksums |
b85a928086843b64ada46a6168f5dc56000f11c9f008673b21a9a6a522d651bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency logRelease files / judgekeeper-0.1.3-py3-none-any.whl
| Download URL | judgekeeper-0.1.3-py3-none-any.whl |
|---|---|
| Size | 668.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
97f27bc58a634d0f613554ceb11d3bce0ec13be9ac0828615147fb9b0c027b35
|
|
BLAKE2b-256 checksum How to use checksums |
582aa4493a815630baa6534dd88f539e21278c6cbb0a5d68b004281b09288f96
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency log