Skip to main content

awkward-monetizer

Hybrid analysis of nested (ragged) HEP data: flatten ROOT events into MonetDB tables, push selections down to SQL, then rebuild the nesting in Awkward Array for the physics. An LLM agent can drive the same pipeline through MCP.

Pipeline: ROOT file → uproot → Awkward → flatten → MonetDB → SQL slice and unflatten → Awkward (NF2) → physics; an LLM agent over MCP drives the SQL and Awkward steps

Install

python -m pip install awkward-monetizer             # core
python -m pip install "awkward-monetizer[agent]"    # + LLM agent and MCP server

Python 3.10+. The MonetDB server is installed separately (brew install monetdb on macOS). For development (pip or pixi), see docs/usage.md.

Quickstart

awkward-monetizer make-nano          # synthetic NanoAOD file
awkward-monetizer adl                # IRIS-HEP ADL Q1–Q8 on it, no database needed

With a MonetDB server running, load real CMS Open Data:

monetdb create hep && monetdb release hep
awkward-monetizer ingest <NanoAOD file>.root --dataset nanoaod --database hep \
    --create-schema --step-size 50000 --entry-stop 100000

Agentic analysis

An LLM agent gets six tools: schema discovery, read-only SQL, Awkward code on events selected in SQL, submit, plot, and (over MCP) a check against the ADL reference. To use it from Claude Code:

claude mcp add -s user awkward-monetizer -- awkward-monetizer agent mcp --database hep

On 100,000 CMS Open Data events (DoubleMuon Run2016H, record 30555), Claude answered all eight ADL questions correctly on the first attempt, doing cuts in SQL and combinatorics in Awkward. See docs/agent.md.

Documentation

  • docs/usage.md: development setup, datasets, ingestion, sharding, benchmarks, notebooks, tests
  • docs/agent.md: the agent, its tools, evaluation and demo
  • CONTRIBUTING.md: how to contribute and how releases are made

Status

A finished prototype in maintenance mode: bug fixes and releases continue, no new features are planned. Arrow transport, electrons and b-tag are open for anyone who wants to take them on.

Metadata

Release files for awkward-monetizer 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for awkward-monetizer 0.2.2
File Size Uploaded Provenance Actions
awkward_monetizer-0.2.2.tar.gz 107.5 kB With provenance Details for awkward_monetizer-0.2.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for awkward-monetizer 0.2.2
File Interpreter ABI Platform Actions
awkward_monetizer-0.2.2-py3-none-any.whl Python 3 none any Details for awkward_monetizer-0.2.2-py3-none-any.whl

Total release size: 194.5 kB

Release files / awkward_monetizer-0.2.2.tar.gz

Download URL awkward_monetizer-0.2.2.tar.gz
Size 107.5 kB
Tags Source
SHA-256 checksum
How to use checksums
107733e5ed4032efc8ac694f55594e1f5d3fc664dbdc18362aabbd79544007bc
BLAKE2b-256 checksum
How to use checksums
51c6b9ec0f166523d4db75de04db2b4d5bba170deedd5ad44aca246591eeed0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 28, 2026.

Transparency log

Release files / awkward_monetizer-0.2.2-py3-none-any.whl

Download URL awkward_monetizer-0.2.2-py3-none-any.whl
Size 87.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
03cec518fb3d6d31c241a550048b32be8f5a0e6d7c9fdfe2251d5b442a422f6c
BLAKE2b-256 checksum
How to use checksums
e738bbe05bf43a6447c5265160079160050857abd5f2fa62f25fa3eeabe1c3b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 28, 2026.

Transparency log

Security for awkward-monetizer 0.2.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for awkward_monetizer-0.2.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 28, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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