Jarvis-HEP: likelihood-driven HEP scanning framework
Project description
Jarvis-HEP
YAML-driven orchestration for likelihood-based HEP scans
Run external calculators, explore difficult parameter spaces, persist structured outputs, and finish each run with explicit diagnostics.
Why Jarvis-HEP
Jarvis-HEP is built for scan workflows that are painful to manage by hand:
- expensive external calculators
- sparse or fine-tuned parameter regions
- profile-likelihood style workflows
- output bookkeeping that needs to stay reproducible
The project keeps those concerns in one runtime: task YAML, sampler choice, calculator orchestration, persisted outputs, and operator-facing diagnostics.
At A Glance
| Problem | Jarvis-HEP answer |
|---|---|
| External program orchestration | Ordered calculator workflow with async-friendly execution |
| Hard-to-scan parameter spaces | Multiple sampler families, from random and Bridson to nested and MCMC-based methods |
| Output sprawl | Project-local outputs, logs, images, and packaged rerun workflows |
| Post-run analysis | HDF5 storage plus schema-driven CSV conversion |
| Run visibility | Logger-routed diagnostics and end-of-run summaries |
Quick Start
1. Install
python3 -m pip install Jarvis-HEP
The default install also brings in Jarvis-Operas, because the built-in quickstarts use it.
2. Create a standalone project
Jarvis project create MyScan
cd MyScan
This creates a minimal project scaffold:
MyScan/
├── bin/
├── data/
├── deps/
├── .jarvis-project.json
└── jarvis.project.yaml
The marker files (.jarvis-project.json, jarvis.project.yaml) identify the standalone project root.
Runtime artifact directories such as outputs/, logs/, and images/ are created automatically on first use.
Project command reference:
Jarvis project --help
3. Run the built-in quickstart
Jarvis bin/quickstart_mcmc_operas.yaml
You can also replay tabulated points directly:
Jarvis bin/quickstart_csv_operas.yaml
4. Package a project
Jarvis project pack [path] [--share | --repro | --full]
Modes:
--share: lighter result-sharing package (default)--repro: unpack-and-rerun package--full: full archival package
If no mode flag is provided, --share is used. Use . to pack the current directory.
5. Browse the official Jarvis library
Jarvis project browse
Jarvis project info Example_Bridson
Jarvis project fetch Example_Bridson
Resume and re-run
Jarvis-HEP writes a single checkpoint file per sampler at:
<task_root>/checkpoints/<scan_name>/<sampler>/state.pkl
Use --resume to continue from the latest checkpoint without any prompt:
Jarvis bin/quickstart_mcmc_operas.yaml --resume
If you do not pass --resume and a checkpoint already exists, Jarvis-HEP prompts in English:
Detected checkpoint file. Re-run from scratch? [y/N] (default: resume in 30s):
Behavior of that prompt:
y/yesstarts a fresh run and discards the existing checkpoint file- pressing Enter resumes from the checkpoint
- typing anything else also resumes from the checkpoint
- no response for 30 seconds also resumes from the checkpoint
If no checkpoint exists, Jarvis-HEP starts a fresh run immediately.
Core Workflow
flowchart LR
A["Task YAML"] --> B["Sampler"]
B --> C["Factory / Workflow"]
C --> D["Calculator Modules"]
D --> E["Structured Outputs"]
D --> F["Logs And Run Summary"]
Inside calculator modules, the maintained execution order is:
- write input files
- run external commands
- read output files
What Jarvis-HEP Produces
Typical project-local artifacts include:
outputs/<scan>/DATABASE/...HDF5 samples, schema files, CSV exports, and run metadata (shared database path for normal runs and--check-modules)outputs/<scan>/SAMPLE/...per-sample artifacts and retained files (--check-moduleswrites underoutputs/<scan>/SAMPLE/tests/...)logs/<scan>/...Jarvis, sampler, and runtime logsimages/<scan>/...generated plot configs, semantic flowchart JSON, and figuresrun_summary.json,run_summary.csv,run_summary.txtmachine-readable and human-readable end-of-run summaries
Sampling Support
Jarvis-HEP currently includes:
- random, grid, and CSV replay workflows
- Bridson sampling
- nested sampling:
Dynesty,MultiNest - differential-evolution sampling:
Diver - MCMC-family methods:
MCMC,PTMCMC,AMMCMC,RobustAM,DRAM,DEMCMC,DREAM,DREAMLite,EnsembleMCMC,PTEnsemble,SliceMCMC, andESS - gradient-family methods:
MALA,HMC,NUTS - DNN-assisted iterative sampling
- experimental
RLTPMCMC
RLTPMCMCis experimental as ofv1.6.11.
Path Markers
| Marker | Meaning |
|---|---|
&J/... |
standalone project root |
Task YAML should use project-local &J/... paths. Package-owned resources are internal implementation details, not a public path marker.
Runtime Tokens
| Token | Meaning |
|---|---|
@SampleID |
current sample UUID |
@Sdir |
current sample save directory under outputs/.../SAMPLE/<uuid> (or outputs/.../SAMPLE/tests/<uuid> in --check-modules) |
@PackID |
calculator module instance ID, enables per-instance working directories and file paths |
These runtime tokens are available on calculator workflow paths such as commands, working directories, and sample-scoped input/output file paths.
Design Principles
- no repo-root requirement for normal usage
- project-local outputs by default
- explicit logging instead of silent failure paths
- structured outputs that remain post-processable after the run
- runtime diagnostics that are additive, not bolted on later
Documentation
- Online docs: https://pengxuan-zhu-phys.github.io/Jarvis-Docs/
- Project homepage: https://github.com/Pengxuan-Zhu-Phys/Jarvis-HEP
- CLI reference:
Jarvis --help - Project workflow reference:
Jarvis project --help
License
Jarvis-HEP is released under the MIT License. See LICENSE.
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 jarvis_hep-1.6.13.tar.gz.
File metadata
- Download URL: jarvis_hep-1.6.13.tar.gz
- Upload date:
- Size: 3.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72a2f5d59c8dad3c65284b552b0383341838dd4b5d9da06680cbfabb7b9eedb4
|
|
| MD5 |
1d4027ec77f6c79ac457b8386ba388c0
|
|
| BLAKE2b-256 |
35ce08ce12a0fb983a504c0c8fde27a149803917e3742a366307e6f4fecbf06a
|
File details
Details for the file jarvis_hep-1.6.13-py3-none-any.whl.
File metadata
- Download URL: jarvis_hep-1.6.13-py3-none-any.whl
- Upload date:
- Size: 3.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33fb661e64502ee8068c554b34421ab2a022e26da9b41b34c5deae393a541102
|
|
| MD5 |
f895dec1ec9f2b878ea5e7ceafd9896e
|
|
| BLAKE2b-256 |
973aa417de91a261c4a954f26b5e00fd19fc155047a76a75984ba1e523f4a3a2
|