Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.

evalstand

Status: in development. Phase 0 of 7. This release is a name reservation placeholder and contains no working code. The example below shows the intended API, which is not implemented yet.

Evaluating an LLM application should feel like running a test suite.

evalstand is a local-first LLM evaluation tool for Python. You write an eval file, run a watch command, and results stream into a live terminal UI — scores, nested call traces, token counts, latency, and cost. Everything runs on your machine and persists to a local SQLite database, so you can compare a run against the one before it.

from evalstand import Case, evaluate
from evalstand.scorers import exact, levenshtein


def load_cases() -> list[Case]:
    return [
        Case(id="q1", input="What is the capital of France?", expected="Paris"),
        Case(id="q2", input="What is 2 + 2?", expected="4"),
    ]


async def answer(question: str) -> str:
    resp = await llm.acall("gpt-4o-mini", [{"role": "user", "content": question}])
    return resp.text


evaluate(
    name="basic-qa",
    cases=load_cases,
    task=answer,
    scorers=[exact, levenshtein],
)

Save that as qa_eval.py and run it either way:

evalstand run qa_eval.py     # live TUI, watch mode, traces
pytest qa_eval.py            # plain test runner, CI-friendly

Why

Existing Python options are either heavyweight platforms that push you toward a hosted service, or bare metric libraries with no runner, no persistence, and no live feedback loop. evalstand is the middle: a real runner with a real UI that stays on your machine.

Planned capabilities

See PLAN.md for the full build plan and the capability checklist that defines v1.

Limitations

Stated up front, and kept accurate as the project grows:

  • Score differences between runs are reported as plain deltas. There is no statistical significance testing in v1, so a delta is not evidence of a real regression or improvement.
  • LLM-as-judge scorers are unvalidated — they have not been calibrated against human labels.

Licence

MIT. See LICENSE.


Inspired by evalite (MIT), which showed that local LLM evals could feel like running tests. evalstand is an independent Python implementation.

Download files

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

Source Distribution

evalstand-0.0.0.dev0.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

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

evalstand-0.0.0.dev0-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file evalstand-0.0.0.dev0.tar.gz.

File metadata

  • Download URL: evalstand-0.0.0.dev0.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for evalstand-0.0.0.dev0.tar.gz
Algorithm Hash digest
SHA256 e96a11af5fba24d10bfaef3631def1995b80fd286a152b01ddc30dd2b4133608
MD5 ae1ffb403326ed6566432ab6c74d477e
BLAKE2b-256 e39bbaa43416661bebab6171425b325483f9b5848ef4b18597690f9c6c698b27

See more details on using hashes here.

File details

Details for the file evalstand-0.0.0.dev0-py3-none-any.whl.

File metadata

  • Download URL: evalstand-0.0.0.dev0-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for evalstand-0.0.0.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 002d96b2f70425eb2b904f6c8b705a3c5f869a8a66669eb69189521624bc6898
MD5 c27e961b5d129823b4711beb3b763e18
BLAKE2b-256 e46f1c6774872e9380e8d611f99d1216382f10bcddaf0bf8d4b3d5889d5d8db5

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.0.0.dev0 This release

2 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