zoomy-plotting
Publication-ready plotting for Zoomy simulation outputs, with first-class support for 1D/2D/3D meshes and very large timeline datasets.
Why
- Lazy: an HDF5 file with hundreds of snapshots opens cheaply. Only the cells needed for the current plot are read from disk.
- Class-based, one
storeper session. Pass the store once to aMatplotlibPlotter; plot methods take only(ax, time_step, field, ...). - Config-driven styling. Every color, linewidth, colormap, and marker
size lives in
zoomy_plotting.CONFIG. No visual parameter is hardcoded inside the plot functions. - One API across dimensions.
plot_1d/plot_2d/plot_3dshare the same signature modulo the 3D viewpoint.
Quick start
import zoomy_plotting as zp
import matplotlib.pyplot as plt
store = zp.read_hdf5("simulation.h5") # reads metadata only
plotter = zp.MatplotlibPlotter(store)
with zp.apply_style():
fig, ax = plt.subplots()
plotter.plot_1d(ax, time_step=0, field=store.field.h)
plt.show()
store.close()
Field references
All three forms resolve to the same integer index:
plotter.plot_2d(ax, time_step=0, field=store.field.h) # attribute on Zstruct
plotter.plot_2d(ax, time_step=0, field="h") # string lookup
plotter.plot_2d(ax, time_step=0, field=0) # raw index
Styling
Three ways to restyle:
# 1. per-call kwarg override
plotter.plot_2d(ax, time_step=0, field="h", cmap="plasma")
# 2. mutate the singleton config for the rest of the session
zp.CONFIG.cmap = "plasma"
zp.CONFIG.mesh_edgecolor = "gray"
# 3. context manager that reverts on exit
with zp.apply_style(cmap="plasma", mesh_edgecolor="gray"):
plotter.plot_2d(ax, time_step=0, field="h")
Install
pip install -e .[testing] # for tests
pip install -e .[plotly] # optional plotly backend (future PR)
pip install -e .[pyvista] # optional pyvista backend (future PR)
Metadata
Release files for zoomy-plotting 0.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| zoomy_plotting-0.2.3.tar.gz | 47.1 kB | Without provenance | Details for zoomy_plotting-0.2.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| zoomy_plotting-0.2.3-py3-none-any.whl | Python 3 | none | any | Details for zoomy_plotting-0.2.3-py3-none-any.whl |
Total release size: 103.3 kB
Release files / zoomy_plotting-0.2.3.tar.gz
| Download URL | zoomy_plotting-0.2.3.tar.gz |
|---|---|
| Size | 47.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9f5090e12047b7137987017e27c11ee862ec1e073bb8ccd7f52c018ce2587395
|
|
BLAKE2b-256 checksum How to use checksums |
8fe8a3cf5f73b73356ab32b848f7d397ae0815f51eb7a32a25317830512b4621
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / zoomy_plotting-0.2.3-py3-none-any.whl
| Download URL | zoomy_plotting-0.2.3-py3-none-any.whl |
|---|---|
| Size | 56.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a29fe5932d5718fc18b3f3baaf00618321150c2e2a04d28b81cd5864ad633567
|
|
BLAKE2b-256 checksum How to use checksums |
8fdc95d2c4fc2fa89db2175a8a720bc0c29010dc9e5076b447b3403594d917f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Security for zoomy-plotting 0.2.3
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.