Local-first retrieval reliability for integrating, evaluating, and investigating multi-stage retrieval pipelines
Project description
retobs
retobs is a local-first reliability layer for retrieval pipelines. It helps you integrate observable retrieval stages, evaluate a callable, compare explicit Runs, and inspect recorded query evidence. It is not an answer evaluator or a leaderboard: when identity, topology, candidates, telemetry, or ground truth are unavailable, retobs reports that limit instead of inferring a conclusion.
Install
pip install "retrieval-observatory[dashboard,mcp]"
Integrate an existing project
Create and review a plan before any mutation. Apply consumes that reviewed plan; verify reports readiness only after it observes the declared topology, candidate evidence, and telemetry health.
retobs integrate . --phase plan --output retobs/integration-plan.json
retobs integrate . --phase apply --plan retobs/integration-plan.json
retobs integrate . --phase verify --plan retobs/integration-plan.json
Unresolved required mappings or stale file hashes block apply. The apply result lists every changed file and retains reversal information in its apply record.
Evaluate a callable
retobs evaluate mypackage.search:retrieve --queries data/queries.jsonl --qrels data/qrels.jsonl --corpus data/corpus.jsonl
Use the returned Run ID with retobs report, retobs compare, and retobs inspect-query. A comparison is valid only when its required identities align; a query diagnosis is limited to evidence actually recorded.
Investigate locally
retobs serve --db .retobs/results.db
The dashboard binds to 127.0.0.1 by default. It is unauthenticated and local-first; put it behind trusted controls before exposing it beyond loopback.
What retobs records
- Evaluation Runs, manifests, query evidence, and complete or partial operator traces.
- Production traces scoped to a service and pipeline, including candidate transitions when instrumentation provides them.
- Instrumentation health: sampling, drops, serialization failures, retries, and permanent export failures.
These are evidence contracts, not guarantees that every integration can supply every field.
Integration support
First-class integration paths are plain Python, HTTP, FastAPI, LangChain, and LlamaIndex. DSPy, Haystack, and OpenAI Agents are supported examples with narrower guarantees. See integration support and the agent runbook.
Privacy and production safety
Queries, candidates, metadata, labels, and traces may be sensitive. Redaction runs before enqueue and persistence according to the integration manifest; queue capacity, overflow policy, and sampling are explicit telemetry configuration. Read privacy and security before production use.
Documentation
License: MIT.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file retrieval_observatory-0.5.1.tar.gz.
File metadata
- Download URL: retrieval_observatory-0.5.1.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cafc526a2ab1e93898ff505605c171f407a2c92ac62f1ea262e5c87841251c0c
|
|
| MD5 |
9913b2a60c3c3c1051c119d12bd6be0b
|
|
| BLAKE2b-256 |
bf89d36c70724532b1a6471f7d39b70d1657e57c10306838f52aea922e7df043
|
Provenance
The following attestation bundles were made for retrieval_observatory-0.5.1.tar.gz:
Publisher:
publish.yml on AmeyaKI/retrieval-observatory
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
retrieval_observatory-0.5.1.tar.gz -
Subject digest:
cafc526a2ab1e93898ff505605c171f407a2c92ac62f1ea262e5c87841251c0c - Sigstore transparency entry: 2192381866
- Sigstore integration time:
-
Permalink:
AmeyaKI/retrieval-observatory@82de13a13529d81a7e7edeb6d1e51c7f6f6b7432 -
Branch / Tag:
refs/tags/v0.5.1 - Owner: https://github.com/AmeyaKI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@82de13a13529d81a7e7edeb6d1e51c7f6f6b7432 -
Trigger Event:
push
-
Statement type:
File details
Details for the file retrieval_observatory-0.5.1-py3-none-any.whl.
File metadata
- Download URL: retrieval_observatory-0.5.1-py3-none-any.whl
- Upload date:
- Size: 1.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9d31f5ab87505d7a361fb220e30f6f012c41c0d31c62490a7e82fa88b560795
|
|
| MD5 |
a3c5787697e5b9efa6ffc666a6a2edda
|
|
| BLAKE2b-256 |
70eb05c7c225166f4ab6f964477ad10f4521821d30c7c9cb5cfa7e5d401a9d22
|
Provenance
The following attestation bundles were made for retrieval_observatory-0.5.1-py3-none-any.whl:
Publisher:
publish.yml on AmeyaKI/retrieval-observatory
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
retrieval_observatory-0.5.1-py3-none-any.whl -
Subject digest:
b9d31f5ab87505d7a361fb220e30f6f012c41c0d31c62490a7e82fa88b560795 - Sigstore transparency entry: 2192381881
- Sigstore integration time:
-
Permalink:
AmeyaKI/retrieval-observatory@82de13a13529d81a7e7edeb6d1e51c7f6f6b7432 -
Branch / Tag:
refs/tags/v0.5.1 - Owner: https://github.com/AmeyaKI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@82de13a13529d81a7e7edeb6d1e51c7f6f6b7432 -
Trigger Event:
push
-
Statement type: