Skip to main content

A callback-based benchmark runner for evaluating memory systems

Project description

Munibench

Munibench is a small callback-based benchmark runner for memory systems. It keeps the benchmark implementation independent from the system being tested: you provide callbacks for resetting, feeding, and asking your system.

Install from PyPI

py -m pip install Munibench

Install locally

From this directory:

py -m pip install --editable .

From the thesis repository root:

.venv\Scripts\python.exe -m pip install --editable .\package

Download a dataset

from munibench import download_dataset, list_datasets

print(list_datasets())
path = download_dataset("longmemeval-s")
print(path)

The first download of longmemeval-s is approximately 277 MB. Hugging Face caches it locally, so subsequent calls reuse the downloaded file.

Run the benchmark

from munibench import benchmark

bench = benchmark(
    benchmarks="all",
    dataset="longmemeval-s",
    results_path="results/benchmark.jsonl",
)

bench.run(
    system=memory_system,
    reset=reset,
    feed=feed,
    ask=ask,
    new_instance=new_instance,
    feed_format="text",
    limit=5,
    verbose=True,
)

You can bypass downloading and use a local file instead:

bench = benchmark(data_path="path/to/longmemeval_s.json")

Do not pass both dataset and data_path.

Public API

  • Benchmark and its backwards-compatible alias benchmark
  • LongMemEval
  • download_dataset()
  • list_datasets()
  • dataset_info()
  • normalize_text() and is_correct()

The PyPI distribution is named Munibench; Python imports are lowercase:

import munibench

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

munibench-0.1.0.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

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

munibench-0.1.0-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file munibench-0.1.0.tar.gz.

File metadata

  • Download URL: munibench-0.1.0.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for munibench-0.1.0.tar.gz
Algorithm Hash digest
SHA256 15d9f8f87efca8791b4bc7847f00713ad3b4c1207647f098ed3b048f450125f0
MD5 91d1b22dfb54d05034f610936e32002d
BLAKE2b-256 ad855662f2f9cc4f10cd6fdd283336f2c89d51281a76c4b10035c27a57057dbe

See more details on using hashes here.

File details

Details for the file munibench-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: munibench-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for munibench-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d1a1c415d1417e9901f45285e17a9dacc7f5c9489a715abf0f1f6d6d179a3cb1
MD5 a5583353862cbf8955789884b40cb117
BLAKE2b-256 1ee7f23bb395935a8217d13b7922519b46e753c71b4d85e1b8466a3b256146c3

See more details on using hashes here.

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