Features
Output Structure & Smart Naming
PythiaBNS automatically organizes results to keep large campaigns structured.
- Study Folder: Named after the configuration file (or the
namefield). - Run Subfolders: Each simulation gets a dedicated subfolder with an informative name, automatically generated from the varying parameters (e.g.,
run001_inj_three_sines_snr50.0_model_three_sines).
Resulting Directory Tree:
results/
└── MyStudy/
├── run000_inj_three_sines_snr50.0_model_A/
├── run001_inj_three_sines_snr100.0_model_A/
└── ...
Automated Plotting
You can configure automated plot generation directly in your YAML config. Plots are generated at the end of each simulation and saved in the respective run folder.
Configuration Example
plotting:
enabled: true
plots: ["corner", "trace"] # Supported: corner, trace
settings:
corner:
show_titles: true
quantiles: [0.16, 0.5, 0.84]
trace:
dpi: 150
Sampler Plugins
PythiaBNS supports multiple sampling backends via its plugin system.
| Sampler | Plugin Name | Type | Status |
|---|---|---|---|
| PocoMC | pocomc |
Preconditioned MC | ✅ Functional |
| Zeus | zeus |
Ensemble Slice | ✅ Functional |
| NumPyro | numpyro |
JAX (SA) | ✅ Functional |
| BlackJAX | blackjax |
JAX (RWM) | ✅ Functional |
| Tempest | tempest |
Persistent Sampler | ✅ Functional |
| Stan | stan |
HMC/NUTS | 🏗️ Wrapper (Plugin) |
| Nutpie | nutpie |
Rust NUTS | 🏗️ Wrapper (Plugin) |
| Bilby Natives | dynesty, etc. |
Various | ✅ Functional |