Skip to main content

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.

Python License PyPI

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 package
  • repro: unpack-and-rerun package
  • full: 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:

  1. write input files
  2. run external commands
  3. read output files

What Jarvis-HEP Produces

Typical project-local artifacts include:

  • outputs/<scan>/DATABASE/... HDF5 samples, schema files, CSV exports, and run metadata
  • outputs/<scan>/SAMPLE/... per-sample artifacts and retained files
  • logs/<scan>/... Jarvis, sampler, and runtime logs
  • images/<scan>/... generated plot configs, semantic flowchart JSON, and figures
  • run_summary.json, run_summary.csv, run_summary.txt machine-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, and ESS
  • reference-grade gradient-family entries: MALA, HMC, NUTS
  • experimental RLTPMCMC

RLTPMCMC is currently experimental in the active v1.6.10 release-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

License

Jarvis-HEP is released under the MIT License. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jarvis_hep-1.6.11.tar.gz (3.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jarvis_hep-1.6.11-py3-none-any.whl (3.6 MB view details)

Uploaded Python 3

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

Hashes for jarvis_hep-1.6.11.tar.gz
Algorithm Hash digest
SHA256 0e4225ddb98dded392e9918b4ba634a1cb146141c62dca9d3438a071575aa1cf
MD5 2bb2434f8131ef5445514d4d1277d817
BLAKE2b-256 2a4d8b284be1b8a8c61ef7b03f92454f4553049040f651468588776037fe42e4

See more details on using hashes here.

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

Hashes for jarvis_hep-1.6.11-py3-none-any.whl
Algorithm Hash digest
SHA256 36e00929c54f50ed7154813f4c153256c2ec50fc746cb0a58a2032bd0118b590
MD5 cfbba211b98a3d5e59c76e3e230da0bf
BLAKE2b-256 e5e564fadcbb54f91e6868cb1497af7933ae2be146893285c1ca3d4df5338afa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page