Python-first, threaded StaMPS migration toolkit
Project description
pySTAMPS
Python-first STA(MPS)-style runtime for staged InSAR/PS processing, verification, and deterministic audit checks.
Run staged pipelines, inspect dataset progress, and validate outputs against a reference dataset.
Install
From source:
git clone git@github.com:sirbastiano/pystamps.git
cd pystamps
uv sync
uv run pystamps describe-backends
Editable install:
python -m pip install -e .
python -m pip install -e "[dev]"
cargo is required only for editable/source installs that build the Rust extension. Wheels from PyPI may avoid local compilation.
Run by stage
Set a local dataset path and always work on a writeable copy:
export DATASET_SOURCE=/path/to/original_dataset
export DATASET_COPY=/path/to/dataset_copy
cp -a "$DATASET_SOURCE" "$DATASET_COPY"
First, check status and verify what can execute:
uv run pystamps status --dataset "$DATASET_COPY"
Run a single stage or stage range:
uv run pystamps run --dataset "$DATASET_COPY" --start-step 1 --end-step 1 # stage 1 only
uv run pystamps run --dataset "$DATASET_COPY" --start-step 2 --end-step 2 # stage 2 only
uv run pystamps run --dataset "$DATASET_COPY" --start-step 3 --end-step 3 # stage 3 only
uv run pystamps run --dataset "$DATASET_COPY" --start-step 4 --end-step 4 # stage 4 only
uv run pystamps run --dataset "$DATASET_COPY" --start-step 5 --end-step 5 # stage 5 only
uv run pystamps run --dataset "$DATASET_COPY" --start-step 6 --end-step 6 # stage 6 only
uv run pystamps run --dataset "$DATASET_COPY" --start-step 7 --end-step 7 # stage 7 only
uv run pystamps run --dataset "$DATASET_COPY" --start-step 8 --end-step 8 # stage 8 only
uv run pystamps run --dataset "$DATASET_COPY" --start-step 1 --end-step 8 # full pipeline
Use --dry-run to preview actions without writing:
uv run pystamps run --dataset "$DATASET_COPY" --start-step 1 --end-step 8 --dry-run
Verify a run
export RUN_COPY=/path/to/run_copy
export GOLDEN_DATASET=/path/to/golden_dataset
uv run pystamps verify --run "$RUN_COPY" --golden "$GOLDEN_DATASET"
Stage-backend profile (optional)
uv run pystamps describe-backends
Create native-kernels.yaml and pass it with --config:
cat > native-kernels.yaml <<'YAML'
runtime:
backend: auto
stage2_kernel_backend: native
stage2_native_threads: 0
kernel_backend_overrides:
stage2_grid_accumulate: native
stage2_histogram: native
stage2_topofit: native
stage2_topofit_row_invariant: native
stage2_topofit_coh_row_invariant: native
stage4_edge_stats: native
stage7_scla: native
stage8_edge_noise: native
io_workers: 8
cpu_workers: 0
stage7_chunk_ps: 100000
stage8_chunk_edges: 200000
YAML
uv run pystamps --config native-kernels.yaml run --dataset "$DATASET_COPY" --start-step 2 --end-step 8
Use python backends for reference behavior in debugging, and native for the compiled Rust/CPU path.
Benchmarking and audit checkpoints
make benchmark
make audit
make audit reads the manifest in pystamps/data/audited_workflow_manifest.json.
Notes
- Do not point docs or examples at a fixed repository dataset path.
- Always treat outputs in your run tree as authoritative; avoid running on your only source copy.
- Optional repo assets are kept for parity and offline reproducibility, not required for runtime usage.
Read the docs
- Pipeline and science guide
- Quick Start
- Getting Started
- Usage
- Configuration
- Architecture
- Verification
- API Reference
- Release workflow
Notebooks
notebooks/start_here.ipynbnotebooks/00_pystamps_beginner_walkthrough.ipynb
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pystamps_insar-0.1.2.tar.gz.
File metadata
- Download URL: pystamps_insar-0.1.2.tar.gz
- Upload date:
- Size: 4.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d9f81e77faec2422671de830507b9bbd191bfe33fec44b390ae5f833045620c
|
|
| MD5 |
e30698ad2aad42b4fb8f845647a071c1
|
|
| BLAKE2b-256 |
cde14237e2b3de9f399d825ca1cce4477469ab97619a8c73d3c50fe57cebc085
|
File details
Details for the file pystamps_insar-0.1.2-cp314-cp314-manylinux_2_35_x86_64.whl.
File metadata
- Download URL: pystamps_insar-0.1.2-cp314-cp314-manylinux_2_35_x86_64.whl
- Upload date:
- Size: 541.4 kB
- Tags: CPython 3.14, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8c2224371ee82c7fa11a3f074bdca5852fb5d24a39bd4c12757afeeceb17bd5
|
|
| MD5 |
93cb36cf59ca1c845c110125436c5361
|
|
| BLAKE2b-256 |
bd962079ed6c3145783865f6e16206b81565b3ed9c3305257b84c7e18a22525e
|