Plot and monitor PQ simulation output.
Project description
PQEnalyzer
Plot and monitor PQ energy, box, and optimizer output in a desktop or terminal interface.
Install
pip install PQEnalyzer
Quick Start
The GUI is the default:
pqenalyzer /path/to/simulation.en
Use the terminal interface with the tui subcommand:
pqenalyzer tui /path/to/simulation.en
PQEnalyzer detects the input format automatically. Use a format flag only when detection is ambiguous:
pqenalyzer --pq pq-output.en
pqenalyzer --qmcfc qmcfc-output.en
pqenalyzer --box box-output.data
pqenalyzer --opt optimization.data
pqenalyzer gui FILE is equivalent to pqenalyzer FILE.
Input
| Output | Conventional file | Detection |
|---|---|---|
| PQ energy | .en with matching .info |
.info layout |
| QMCFC energy | .en with matching .info |
.info layout |
| PQ box | .box |
suffix or file contents |
| PQ optimizer | .opt |
suffix |
Energy, box, and optimizer parsing is provided by
PQAnalysis.
Energy files need a matching .info file in the same directory. PQ .info
rows containing a single parameter column are supported.
Box files contain step x y z alpha beta gamma. PQEnalyzer plots BOX-X,
BOX-Y, BOX-Z, ALPHA, BETA, GAMMA, and BOX-VOLUME.
Optimizer plots use the optimization step as the x-axis. They include energy
changes, forces, convergence states, and limits. A convergence state of -1
means not converged, 0 means disabled, and 1 means converged. The first row
is PQ's initialization snapshot. Final completion status remains in the PQ log.
GUI
| Control | Result |
|---|---|
Plot |
Open a time-series plot for the selected parameter |
Histogram |
Open its distribution |
Live Monitor |
Open one time-series panel per parameter |
Auto-Refresh |
Watch loaded files and update open plots |
Double-click a Live Monitor panel to open its focused plot. Plot settings belong to that focused window, so each window can use different overlays.
Auto-refresh starts with the GUI. If native file watching is unavailable,
PQEnalyzer uses polling and shows (polling) in the status line.
Plot windows refit when resized. The Live Monitor also redistributes its grid;
press f to fit it to the current screen. Use Plot Size in the sidebar, +
and - in a plot window, or Ctrl+0 / Command+0 to restore 100%.
PQEnalyzer remembers the theme, plot size, window dimensions, selected
parameter, auto-refresh state, and plot settings. Set
PQENALYZER_CONFIG_DIR to override the platform settings directory.
TUI
pqenalyzer tui FILE [FILE ...]
| Key | Action |
|---|---|
Up / k, Down / j |
Select a parameter |
Enter |
Open the selected chart |
Esc |
Return to the dashboard |
r |
Refresh |
w |
Pause or resume file watching |
q |
Quit |
Plot Features
The GUI and TUI use the same plot features:
| Feature | Time series | Histogram | TUI key |
|---|---|---|---|
| Mean | yes | yes | m |
| Median | yes | yes | n |
| Cumulative Average | yes | no | c |
| Self-Correlation Mean | yes | no | s |
| Difference (1 - 2) | yes | no | x |
| Running Average | yes | no | a |
Self-Correlation Mean stays on the data's original scale; it is not normalized.
Multiple Files
pqenalyzer md-01.en md-02.en md-03.en
Common parameters are plotted together. A parameter found in only some files is plotted from those files. Shared parameters must use the same unit.
Difference plotting requires exactly two files and calculates
file 1 - file 2. Points are matched by simulation time, simulation step, or
optimization step. PQEnalyzer does not interpolate, extrapolate, or concatenate
difference data. Raw series are hidden when Difference is enabled.
Development
pip install -e ".[test]"
python -m pytest -m "not benchmark and not e2e"
Run the end-to-end suite separately:
python -m pytest -m e2e
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 pqenalyzer-0.8.5.tar.gz.
File metadata
- Download URL: pqenalyzer-0.8.5.tar.gz
- Upload date:
- Size: 2.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fd860000ace714fee34238c42f0c3da8dce0fb95001ccb65f29a4d967103af7
|
|
| MD5 |
5b31bc224639093a9674037bdcd58aba
|
|
| BLAKE2b-256 |
b7d6f9996b848dae270c1226f6ef623d313a7c588d7fa24e0041012dab24d93c
|
Provenance
The following attestation bundles were made for pqenalyzer-0.8.5.tar.gz:
Publisher:
release.yml on MolarVerse/PQEnalyzer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pqenalyzer-0.8.5.tar.gz -
Subject digest:
6fd860000ace714fee34238c42f0c3da8dce0fb95001ccb65f29a4d967103af7 - Sigstore transparency entry: 2267824119
- Sigstore integration time:
-
Permalink:
MolarVerse/PQEnalyzer@85c3de3301bf4bb2fb9fe4f4898e052878333cac -
Branch / Tag:
refs/tags/v0.8.5 - Owner: https://github.com/MolarVerse
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@85c3de3301bf4bb2fb9fe4f4898e052878333cac -
Trigger Event:
push
-
Statement type:
File details
Details for the file pqenalyzer-0.8.5-py3-none-any.whl.
File metadata
- Download URL: pqenalyzer-0.8.5-py3-none-any.whl
- Upload date:
- Size: 73.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
82c640ca544bcb50e29e8c4f453078fbfa86be3c0e08e4140ed404f41aa06f3a
|
|
| MD5 |
aabd365bfdc26d998f5056a565af6818
|
|
| BLAKE2b-256 |
8c005687a9827039697441052c47b2d7d9c3c926ee2e67ec8846b96b6882d4cb
|
Provenance
The following attestation bundles were made for pqenalyzer-0.8.5-py3-none-any.whl:
Publisher:
release.yml on MolarVerse/PQEnalyzer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pqenalyzer-0.8.5-py3-none-any.whl -
Subject digest:
82c640ca544bcb50e29e8c4f453078fbfa86be3c0e08e4140ed404f41aa06f3a - Sigstore transparency entry: 2267824261
- Sigstore integration time:
-
Permalink:
MolarVerse/PQEnalyzer@85c3de3301bf4bb2fb9fe4f4898e052878333cac -
Branch / Tag:
refs/tags/v0.8.5 - Owner: https://github.com/MolarVerse
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@85c3de3301bf4bb2fb9fe4f4898e052878333cac -
Trigger Event:
push
-
Statement type: