PlumeDynamics is a Python package for loading, visualizing, aligning, and analyzing pulsed-laser-deposition (PLD) plume image stacks. The canonical import namespace is plume_dynamics.
Installation
Install from a local checkout:
git clone https://github.com/yig319/PlumeDynamics.git
cd PlumeDynamics
python -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install -e .
Optional feature groups:
pip install -e ".[ml]"
pip install -e ".[xrd]"
Quick Start
import numpy as np
from plume_dynamics.io import extract_frame_metrics, plot_sample_frames
frames = np.random.random((24, 128, 192))
metrics = extract_frame_metrics(frames, frame_interval_us=10, direction="right")
fig, axes = plot_sample_frames(frames, n_frames=8)
Core Modules
plume_dynamics.analysis: alignment, datasets, metrics, profiles, and analysis workflows.
plume_dynamics.io: HDF5, frame-stack, and video-loading helpers.
plume_dynamics.viz: image grids, metric plots, and video rendering.
plume_dynamics.materials: electrical-property and XRD helpers.
plume_dynamics.ml: optional model, dataset, and training utilities.
Versioning And Publishing
This repository follows the AFM-tools release convention:
Versions are generated from Git tags with setuptools_scm.
The GitHub Actions workflow builds and checks distributions on PRs and pushes.
A push to main or master with #major, #minor, or #patch in the commit message creates the next vX.Y.Z tag and publishes to PyPI by Trusted Publishing.
License
This project is licensed under the MIT License. See LICENSE.txt.
Metadata
Release files for PlumeDynamics 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| plumedynamics-0.1.1.tar.gz | 38.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| plumedynamics-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 80.5 kB
Release files / plumedynamics-0.1.1.tar.gz
| Download URL | plumedynamics-0.1.1.tar.gz |
|---|---|
| Size | 38.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c330de3006054666155c1e00502b246b1659a408fdd4dfbfdc4e30fb6c884685
|
|
BLAKE2b-256 checksum How to use checksums |
1d91c4a9f7656c94cb40241b048991cc19e26f520b337ace7a7c0d23b9c10499
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Apr 26, 2026.
Transparency logRelease files / plumedynamics-0.1.1-py3-none-any.whl
| Download URL | plumedynamics-0.1.1-py3-none-any.whl |
|---|---|
| Size | 42.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
65368cdfedba1c08ee4674540ed72d5217fb0ca2a18e06de057c39d7555f2620
|
|
BLAKE2b-256 checksum How to use checksums |
e48527017fb2602f73e219eac5e1813c4deee3a586ad37d9ac840708416ce9cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Apr 26, 2026.
Transparency log