Jarvis-PLOT: YAML-driven plotting engine
Project description
Jarvis-PLOT
Jarvis-PLOT is a lightweight, Python/Matplotlib-based plotting framework developed for Jarvis-HEP,
but it can also be used as a standalone scientific plotting tool.
It provides a simple command-line interface (CLI) to generate publication-quality figures from YAML configuration files, with most layout and style decisions handled by predefined profiles and style cards.
Installation
pip install Jarvis-PLOT
The PyPI distribution name is now Jarvis-PLOT.
The Python import package and entrypoint remain unchanged:
import jarvisplot
jplot path/to/config.yaml
If you have an older environment that still uses the historical package name, replace:
pip uninstall jarvisplot
pip install Jarvis-PLOT
Command-Line Usage
Display help information:
jplot -h
Run Jarvis-PLOT with one or more YAML configuration files:
jplot path/to/config.yaml
Rebuild local cache for the current project workdir:
jplot path/to/config.yaml --rebuild-cache
Project Workdir and Cache
- You can set
project.workdirin YAML. - If
output.diris omitted, Jarvis-PLOT defaults to<workdir>/plots/. - Data cache is stored in
<workdir>/.cache/. - Profiling pipelines are prebuilt once and reused from cache when source fingerprint and profile settings are unchanged.
- Profiling uses a fast two-stage grid reduction (
pregrid+ renderbin) for large datasets.
Example: SUSYRun2 Ternary Plots
jplot ./bin/SUSYRun2_EWMSSM.yaml
jplot ./bin/SUSYRun2_GEWMSSM.yaml
Note: The data file paths inside the YAML files must be updated to match your local setup.
Notes
- Figures are saved automatically to the output paths defined in the YAML configuration.
- Common output formats include PNG and PDF (backend-dependent).
- Jarvis-PLOT works in headless environments (SSH, batch jobs) without any GUI backend.
Requirements
Python
- Python ≥ 3.10 (tested on 3.10–3.13)
Required Packages
numpypandasmatplotlibpyyamljsonschemascipy— numerical utilitiesh5py— required for loading HDF5 data filesshapelyscipysympy
Github Page
https://github.com/Pengxuan-Zhu-Phys/Jarvis-PLOT
Documentation
https://pengxuan-zhu-phys.github.io/Jarvis-Docs/
Repository Docs
Tracked project docs live in docs/.
docs/README.md- repo doc indexdocs/context/JARVIS_PLOT_CONTEXT.md- primary Codex-facing boundary docdocs/context/CODE_MAP_JARVIS_PLOT.md- concrete code owner mapdocs/context/JARVIS_PLOT_FRAMEWORK_LOGIC.md- runtime execution contractdocs/roadmap/IMPLEMENTATION_ROADMAP.md- active backlog and future work listdocs/dev/DEVELOPER_RULES.md- current pipeline and cache rulesdocs/dev/MEMORY_OPTIMIZATION_GUIDE.md- narrow-table memory notes
Read the context docs and roadmap before changing parsing, transforms, rendering, or layout-related behavior.
License
MIT 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 jarvisplot-1.3.3.tar.gz.
File metadata
- Download URL: jarvisplot-1.3.3.tar.gz
- Upload date:
- Size: 811.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3d748a1d023cb4ae72ea97a8c5d5aed1972333cc37c60704e5414841e141f5f
|
|
| MD5 |
f302b7d2e99a8fc1a19e8da16a3025ca
|
|
| BLAKE2b-256 |
9bb38655a5a02c7fab8650980b262e4aad60b4eedf5b07818b2195cc27eeba80
|
File details
Details for the file jarvisplot-1.3.3-py3-none-any.whl.
File metadata
- Download URL: jarvisplot-1.3.3-py3-none-any.whl
- Upload date:
- Size: 825.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce3f03ab03ef4b50dab0c328871de9345f802e78ceba16e8409f41513582553f
|
|
| MD5 |
4ec73782cb79dde6781a4076506dc2d6
|
|
| BLAKE2b-256 |
bd6cb7bd4be5bc727a0c1c1a74e9752604e2ef2d20e66cf1334fe85ab8965b98
|