Skip to main content

parasolpy

Documentation Status

Python tools for multi-objective decision analysis and visualization, continuing the Parasol project originally published as:

Raseman, W. J., Jacobson, J., & Kasprzyk, J. R. (2019). Parasol: An open source, interactive parallel coordinates library for multi-objective decision making. Environmental Modelling & Software, 116, 153–163. https://doi.org/10.1016/j.envsoft.2019.03.005

Developed by the Kasprzyk Research Group at CU Boulder.

Status

🚧 Active development. APIs are mostly stable but may change between 0.x releases.

Installation

From PyPI:

pip install parasolpy

Requires Python ≥ 3.12.

From source (for development):

Requires Poetry to be installed on your system (e.g. pipx install poetry):

git clone https://github.com/jrkasprzyk/parasolpy.git
cd parasolpy
poetry install

What's inside

parasolpy bundles several modules for reservoir analysis, streamflow synthesis, multi-objective tradeoff exploration, and supporting plotting and file utilities.

Module Purpose
parasolpy.reservoir Sequent-peak reservoir sizing
parasolpy.ism Index-sequential method (ISM) trace ensembles
parasolpy.nowak Nowak et al. (2010) nonparametric streamflow disaggregation
parasolpy.tradeoff Epsilon non-dominance, KMeans labeling, HiPlot parallel coordinates
parasolpy.plotting Heatmap, spaghetti, fan chart, seasonality, exceedance plots
parasolpy.dash_tools Interactive Dash app powering the parasolpy-tradeoff CLI
parasolpy.interactive Terminal prompts for epsilon-experiment workflows
parasolpy.file_processing Borg / RiverWare solution CSV normalization
parasolpy.borg_runtime Parsing and analysis of Borg MOEA runtime files
parasolpy.rdf RiverWare RDF file parsing and CSV conversion, powers the parasolpy-rdf CLI
parasolpy.util Path helpers, unit conversions, XML config parsing

Tradeoff explorer CLI

Once installed, launch an interactive parallel-coordinates explorer against a results folder:

parasolpy-tradeoff path/to/output_folder

Equivalent module invocation (useful during development):

python -m parasolpy.dash_tools path/to/output_folder

Common options:

  • --config FILE — override auto-discovered config XML
  • --solutions FILE — override auto-discovered solutions CSV
  • --title TEXT — heading shown above the plot
  • --colorscale NAME — any Plotly named colorscale (default viridis)
  • --host HOST / --port PORT — bind address (defaults 127.0.0.1:8050)
  • --debug — run Dash in debug mode

RiverWare RDF CLI

Inspect or convert RiverWare .rdf files without writing code:

parasolpy-rdf info path/to/file.rdf
parasolpy-rdf slots path/to/file.rdf [--series-only]
parasolpy-rdf convert path/to/file.rdf --slot "Object.Slot" --output out.csv [--format wide|stacked|long|enriched]

Examples

The examples/ directory contains self-contained scripts that generate their own synthetic data — no external files needed. Run any of them from the repo root:

python examples/01_reservoir_sequent_peak.py
python examples/03_tradeoff_parallel_plot.py
# ...etc.

Figures and CSV/HTML outputs land in examples/_output/. See examples/README.md for the full script list.

This package is developed by the Kasprzyk Research Group at CU Boulder. It is not affiliated with the unrelated parasol or pyparasol packages on PyPI, which are independent projects that share the name.

Citation

If you use parasolpy in academic work, please cite the original Parasol paper linked above.

Development

  • Documentation is hosted on Read the Docs. Build it locally with pip install ".[docs]" and sphinx-build -W -b html docs docs/_build/html.
  • Cutting a release? See RELEASING.md for the Poetry-based workflow (version bump, build, publish to PyPI, tag, GitHub Release).
  • Issues and pull requests are welcome on GitHub.

License

MIT

Metadata

Release files for parasolpy 0.4.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for parasolpy 0.4.2
File Size Uploaded
parasolpy-0.4.2.tar.gz 637.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for parasolpy 0.4.2
File Interpreter ABI Platform
parasolpy-0.4.2-py3-none-any.whl Python 3 none any Details

Total release size: 1.3 MB

Release files / parasolpy-0.4.2.tar.gz

Download URL parasolpy-0.4.2.tar.gz
Size 637.3 kB
Tags Source
SHA-256 checksum
How to use checksums
09816bd875e1b8a05ae3393c5c63a398a59514c406dd587b773ffaf251c0c6d4
BLAKE2b-256 checksum
How to use checksums
d8501b196f0ac60bb983ff7981a1cac89e2a97d9f62aa23149f0fb486df47afe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 21, 2026.

Transparency log

Release files / parasolpy-0.4.2-py3-none-any.whl

Download URL parasolpy-0.4.2-py3-none-any.whl
Size 683.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d2931ff48e356f0527446094f19c648f2adff6fe784491ea688c5d4916bba98c
BLAKE2b-256 checksum
How to use checksums
c1266074bee4c63b355e21cb0c320c0b652b904d67b9d0be50a3997e0be09e06
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 21, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.2 This release

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page