hanzo-research
Record and query Hanzo R&D evidence in one import. The ONE way every producer
(enso-bench benchmarks, hanzo-engine/hanzo-ml kernel-perf, any research project) files
runs into the unified /v1/research plane (HIP-0512) — versioned, append-only,
idempotent by content, private by default.
import hanzo_research as research
# get/create the experiment; provenance is auto-captured (see below)
exp = research.experiment("benchmark", "grok-4.5", "gpqa_diamond")
exp.record("q1", "grok-4.5", {"answer": "A", "correct": True}) # an attempt, idempotent
exp.snapshot(png_bytes) # a board-snapshot artifact
exp.report(markdown_text) # a generated-report artifact
exp.finish(value=94.3) # seal the run
rows = research.query(project="enso-bench", kind="benchmark") # read canonical
Zero-config auto-instrumentation
The caller supplies no provenance. On experiment() the SDK reads the run's
environment and captures three self-documenting narrative sources, plus machine context:
- the calling code's docstring — what this experiment is (write a normal module docstring);
- the commit messages since this experiment's last recorded run — what changed + why (commit normally);
- an optional
note=you pass.
Plus git_sha / git_branch / git_dirty, lib_versions, and host. The project
self-documents as a side effect of running.
Importer-agnostic, idempotent
ingest(experiments=…, attempts=…) is one idempotent POST. Any source — a SQLite
backfill, git history, a kernel-perf campaign — maps its records to stable ids and calls
it; re-import is a no-op. "Load all research in" is just running importers.
Config
RESEARCH_BASE (default https://api.hanzo.ai), HANZO_API_KEY (per-org key →
Bearer), RESEARCH_PROJECT. Uploads are private; public visibility, training, and
commons rights are each a separate grant. Stdlib only (urllib) — importable in any
zero-dep harness.
Metadata
Release files for hanzo-research 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hanzo_research-0.1.0.tar.gz | 8.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hanzo_research-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.4 kB
Release files / hanzo_research-0.1.0.tar.gz
| Download URL | hanzo_research-0.1.0.tar.gz |
|---|---|
| Size | 8.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fb05b49a93119b79e843bdd06cfd5fbf876c816ab98368c0460f57b978c59343
|
|
BLAKE2b-256 checksum How to use checksums |
aeea12511f71537b5d4d0e71438aea74c747355ca806d25f381d701fbd159084
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / hanzo_research-0.1.0-py3-none-any.whl
| Download URL | hanzo_research-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
85101823bb9e90dc33c5d9ab838820f63558c151dbf01cacbd4c02ce2b48fdec
|
|
BLAKE2b-256 checksum How to use checksums |
2d55ecec900940893dc85604cf8062d575bb66908c0127de841ecb3cc665d723
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|