Skip to main content

plasma-plots

Note: This library is 100% written by AI, I have literally not looked at a single line of code. So why should you trust it? You should trust it because of the following LEAN 4 PROOF.

Plots and diagnostics of labeled xarray data from plasma simulations: the output of Struphy, and of any code whose arrays follow the same conventions (dimensions t, eta1/eta2/eta3, mapped coordinates X/Y/Z, see Getting started). It also reads GVEC's equilibrium evaluations directly. It is a separate package, so it can evolve and release independently of the Struphy runtime.

Full documentation: https://struphy-hub.github.io/plasma-plots

Installation

Python 3.11 or newer is required; CI tests Python 3.11 and 3.12. The base install plots in-memory xarray data. Install extras for file formats and optional renderers:

pip install plasma-plots
pip install "plasma-plots[netcdf]"
pip install "plasma-plots[netcdf,plotly]"
Extra Enables Dependencies
netcdf Read netCDF3/netCDF4 files through xarray and the CLI netCDF4
plotly Interactive browser plots and static Plotly exports plotly, kaleido
pyvista 3-D scenes and rendering pyvista, imageio
profiling Timing summaries and profiling plots scope-profiler[pproc]
desc Evaluate DESC equilibria desc-opt
gallery Export Struphy example-gallery figures and profiling plotly, kaleido, scope-profiler[pproc]>=0.6.1
dev Tests, linting and documentation tooling pytest, ruff, h5py, griffe

Struphy, GVEC and Zarr are separate installations; no extra above installs them. Struphy users need the compatible output API described below. Install gvec for GVEC evaluation or zarr to open Zarr stores. MP4 export requires system ffmpeg; Matplotlib windows require a working GUI/display, and static Plotly exports through Kaleido require a compatible Chrome installation.

For development, install with pip install -e ".[dev]".

Struphy compatibility

Struphy integration is tested against commit caddd229a3fcba1fada577d1af46d012e93d8b49 (the repository's pinned submodule, reporting version 3.3.0). Use that revision for a reproducible installation; compatibility with other Struphy revisions, including older published builds, is not guaranteed. Struphy is optional when working with ordinary xarray data.

Usage

Creating a Struphy Output loads plasma-plots, which registers out.plot, out.analysis and the .plasma accessor on every product:

from struphy.post_processing.output import Output

out = Output("path/to/run")
out.evaluate("em_fields/phi").plasma.plot.slice(x="eta1", y="eta2", t=-1)

In Python, import plasma_plots; help(plasma_plots) (or plasma-plots guide in a terminal) gives an overview, printing an accessor lists its methods (print(phi.plasma.plot)), and help() on a method shows every parameter. For language models and coding agents, the documentation is available as plain text at https://struphy-hub.github.io/plasma-plots/llms.txt. API.md (or plasma-plots api) is a one-page index of every accessor method and function, and AGENTS.md explains the code for agents working on it.

From the shell, the plasma-plots command saves figures of a Struphy run folder or a netCDF file without any Python: plasma-plots info sim_1, plasma-plots plot sim_1 em_fields/phi slice t=-1 eta3=0 -o phi.png, plasma-plots quicklook sim_1 -o figures/ (see the command-line guide).

Direct plotting functions are available from plasma_plots.plotting; analysis functions are in plasma_plots.analysis.

The accessor provides time-series, lineout, slice, panel, vector, comparison, animation, and marker-trajectory plots. For three-dimensional scalar fields, install the optional PyVista dependency (pip install plasma-plots[pyvista]) and use field.plasma.plot.volume(t=-1), then call show() on the returned plotter.

Every Matplotlib plot can also be an interactive Plotly figure, with hover values, zoom and, for animations, a slider: pip install plasma-plots[plotly] and pass backend="plotly" (field.plasma.plot.slice(t=-1, backend="plotly")), or call plasma_plots.set_backend("plotly") once.

Metadata

Release files for plasma-plots 0.1.0

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

Source distribution (sdist)

Source distribution for plasma-plots 0.1.0
File Size Uploaded
plasma_plots-0.1.0.tar.gz 357.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for plasma-plots 0.1.0
File Interpreter ABI Platform
plasma_plots-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 636.0 kB

Release files / plasma_plots-0.1.0.tar.gz

Download URL plasma_plots-0.1.0.tar.gz
Size 357.8 kB
Tags Source
SHA-256 checksum
How to use checksums
7e397748792b336b8aed7937f22429b26be3bfa26626d8101098349f4f032582
BLAKE2b-256 checksum
How to use checksums
4861551f2fae86a38f10348d61d8e33104c177b11189612b730cf1aa50af4106
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Sep 30, 2026.

Transparency log

Release files / plasma_plots-0.1.0-py3-none-any.whl

Download URL plasma_plots-0.1.0-py3-none-any.whl
Size 278.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
02c5c197b9a52c8a8d62bad45e3fdc374bd491f681f9f98d453c841367625d9a
BLAKE2b-256 checksum
How to use checksums
c57645aa24242e1a79b159f0739e4bcb72172334b42f0781009985341e64acbc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Sep 30, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.1

2 release files

This release

0.1.0 This release

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