Skip to main content

Lightweight LLM experiment runner for prompts, evaluation, YAML configs, and reporting.

Project description

NyxlBox

NyxlBox is a lightweight framework for defining, running, evaluating, and reporting on LLM-style prompt experiments.
It supports JSON/YAML experiment files, CLI execution, evaluation metrics, and markdown report generation.


Installation

pip install nyxlbox

Requires Python 3.10+.


Quick Start

Create experiment.yaml:

name: demo model_name: upper cases:

  • input_text: "hello"
  • input_text: "nyxlbox"

Run experiment:

nyxlbox run experiment.yaml --results results.json --model-kind upper

Evaluate:

nyxlbox eval results.json gold.json

Generate markdown report:

nyxlbox report results.json gold.json --out report.md


Python API Example

from nyxlbox import ( Experiment, PromptCase, run_experiment, evaluate_results, exact_match, )

exp = Experiment( name="demo", model_name="upper", cases=[PromptCase(input_text="hello")], )

results = run_experiment(exp, lambda t: t.upper()) evaluated = evaluate_results(results, ["HELLO"], [exact_match()])


YAML Support

Simple YAML:

name: demo model_name: upper cases:

  • input_text: hello

Rich YAML:

experiment: name: demo model_name: upper cases: - input_text: hello

model_kind: upper gold_outputs:

  • HELLO

CLI Commands

nyxlbox run EXP --results OUT --model-kind upper
nyxlbox eval RESULTS GOLD
nyxlbox report RESULTS GOLD --out REPORT.md


Features

  • JSON & YAML experiment definitions
  • Experiment runner
  • Exact match & substring evaluation
  • Markdown reporting
  • CLI tool and Python API
  • Extensible adapter system

License

Apache License 2.0

Project details


Download files

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

Source Distribution

nyxlbox-0.1.1.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

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

nyxlbox-0.1.1-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file nyxlbox-0.1.1.tar.gz.

File metadata

  • Download URL: nyxlbox-0.1.1.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nyxlbox-0.1.1.tar.gz
Algorithm Hash digest
SHA256 750cb84f6544ae8bcf6196ba62a5b1905f0ecc141549b491457ec6256c6b4e2c
MD5 6e1ffd18e828958db5515d9282c31ebb
BLAKE2b-256 5d80bed95f4be7408288ed665841c6058b5263db6b5a11211351e68ab4890f6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for nyxlbox-0.1.1.tar.gz:

Publisher: publish.yml on Nyxar0th/nyxlbox

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nyxlbox-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: nyxlbox-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 15.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nyxlbox-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fed585d50b4afa5b5c8845302c9d86504865b74f7bc66a3b747b06a62aa9d1ca
MD5 83ee1cf711caf8580e82792397b6db36
BLAKE2b-256 7ccb80e40c70aa447fc9f9effe7d02e7add1d51e4e87ad07b325aac97aba2452

See more details on using hashes here.

Provenance

The following attestation bundles were made for nyxlbox-0.1.1-py3-none-any.whl:

Publisher: publish.yml on Nyxar0th/nyxlbox

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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