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 . --share
Modes:
share: lighter result-sharing packagerepro: unpack-and-rerun packagefull: full archival package
If no mode is provided, --share is used.
5. Browse the official Jarvis library
Jarvis project browse
Jarvis project info Example_Bridson
Jarvis project fetch Example_Bridson
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 metadataoutputs/<scan>/SAMPLE/...per-sample artifacts and retained fileslogs/<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
- Dynesty and MultiNest
- MCMC-family methods such as
MCMC,PTMCMC,AMMCMC,RobustAM,DRAM,DEMCMC,DREAM,DREAMLite,EnsembleMCMC,PTEnsemble,SliceMCMC, andESS - reference-grade gradient-family entries:
MALA,HMC,NUTS - experimental
RLTPMCMC
RLTPMCMCis currently experimental in the activev1.6.10release-prep line.
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> |
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.11.tar.gz.
File metadata
- Download URL: jarvis_hep-1.6.11.tar.gz
- Upload date:
- Size: 3.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e4225ddb98dded392e9918b4ba634a1cb146141c62dca9d3438a071575aa1cf
|
|
| MD5 |
2bb2434f8131ef5445514d4d1277d817
|
|
| BLAKE2b-256 |
2a4d8b284be1b8a8c61ef7b03f92454f4553049040f651468588776037fe42e4
|
File details
Details for the file jarvis_hep-1.6.11-py3-none-any.whl.
File metadata
- Download URL: jarvis_hep-1.6.11-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.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36e00929c54f50ed7154813f4c153256c2ec50fc746cb0a58a2032bd0118b590
|
|
| MD5 |
cfbba211b98a3d5e59c76e3e230da0bf
|
|
| BLAKE2b-256 |
e5e564fadcbb54f91e6868cb1497af7933ae2be146893285c1ca3d4df5338afa
|