Skip to main content

sarpyx is a specialized Python toolkit for Synthetic Aperture Radar (SAR) processing with tight integration to ESA SNAP. It focuses on reproducible SAR workflows, SNAP GPT orchestration, fast tiling, validation, and research features such as sub-aperture decomposition.

Highlights

  • SNAP GPT integration with configurable graphs and operator chaining.
  • WorldSAR preprocessing, tiling, validation, and H5-to-Zarr conversion.
  • Generic pipeline CLI with built-in recipes for Sentinel-1, TSX, CSG, Biomass, NISAR, and Sentinel-1 InSAR.
  • Sub-aperture decomposition for Sentinel-style BEAM-DIMAP products.
  • Geocoded outputs ready for GIS and downstream ML.
  • Utilities compatible with rasterio, geopandas, pyproj, h5py, zarr, and dask.

Commands

sarpyx --help           # Top-level command dispatcher
sarpyx worldsar --help  # WorldSAR preprocessing, tiling, validation, H5-to-Zarr
sarpyx pipeline --help  # Explicit built-in or external pipeline recipes
sarpyx-worldsar --help  # Compatibility WorldSAR entry point
sarpyx-pipeline --help  # Compatibility pipeline entry point

Documentation

Install

The recommended installation uses conda first to provide ESA SNAP and gpt, then installs sarpyx with pip from this checkout. This keeps SNAP/native dependencies managed by conda while keeping the Python package editable.

conda create -n sarpyx -c sirbastiano/label/dev -c conda-forge \
  python=3.12 pip snap13=13.0.0

conda activate sarpyx
python -m pip install -e .

Verify the installation:

gpt -h
sarpyx --help
sarpyx worldsar --help
sarpyx pipeline --help

For development and tests:

python -m pip install -e ".[copernicus]"
python -m pip install pytest
pytest -q
Using uv for repository maintenance
uv sync
uv sync --group dev
uv sync --group dev --extra copernicus
uv run pytest -q
uv build
Published pip package
python -m pip install sarpyx

The pip package is suitable for Python-side usage, but SNAP GPT workflows require a working SNAP installation available in the environment.

Container usage

For container workflows, use the Docker Compose CLI plugin:

docker compose version
make recreate

At startup, the container expects a mounted grid file. Provide either GRID_PATH or place a *.geojson file under /workspace/grid.

mkdir -p ./grid
# put any grid GeoJSON here, e.g. ./grid/my_region.geojson
docker compose up

You can also pass --grid-path to sarpyx worldsar.

Project Links

Maintainers: Roberto Del Prete, Gabriele Daga, Sebastian Fieldhouse, Juanfrancisco Amieva, Cedric Leonard, Valerio Marsocci, Eva Gmelich Mejling

Release files for sarpyx 1.0.1

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

Source distribution (sdist)

Source distribution for sarpyx 1.0.1
File Size Uploaded
sarpyx-1.0.1.tar.gz 389.5 kB Details

Built distribution (wheel)

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

Total release size: 758.1 kB

Release files / sarpyx-1.0.1.tar.gz

Download URL sarpyx-1.0.1.tar.gz
Size 389.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d2c4c4d81755548bde0303cb0c8152b50a5731d9b4389f18da6d311d58deb219
BLAKE2b-256 checksum
How to use checksums
dda3908837180d86260afb2052adefca2e7147c9c4c9aa41d6cd790dcd19078d
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 Jun 22, 2026.

Transparency log

Release files / sarpyx-1.0.1-py3-none-any.whl

Download URL sarpyx-1.0.1-py3-none-any.whl
Size 368.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8162a2d1a5ccd65e781b7a1803e23215cd5f2d2fa79255ff7c5cc172ececf4b3
BLAKE2b-256 checksum
How to use checksums
8a1dfd460fb83fb74e5345999dd3638b1483bbad89c18249f35a2e1592175e33
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 Jun 22, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.6

2 release files

0.1.5

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