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, anddask.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| sarpyx-1.0.1.tar.gz | 389.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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