Skip to main content

A swissknife for SAR processing.

Project description

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

Highlights

  • SNAP GPT integration with configurable graphs and operator chaining.
  • Sub-aperture decomposition for squint-angle diversity and motion sensitivity.
  • Parallel tiling and batch processing for large product volumes.
  • Geocoded outputs ready for GIS and downstream ML.
  • Extensible architecture compatible with rasterio, geopandas, and pyproj.

Install

For container workflows, use the Docker Compose CLI plugin (docker compose) with full commands:

docker compose version
make recreate
Using uv (recommended)
uv sync

For development, testing, and optional Copernicus tooling:

uv sync --group dev
uv sync --group dev --extra copernicus
uv run pytest -q
uv build
Using pip (editable)
python -m pip install -e .

Docs

See docs/user_guide/README.md for usage and workflows, and docs/developer_guide/contributing.md for contributor commands.

Container grid configuration

At startup the container checks for grid files in this order:

  1. GRID_PATH (or grid_path) if it points to an existing in-container *.geojson
  2. First *.geojson found in /workspace/grid

If neither exists, the container exits with an error. Automatic grid generation on startup has been removed.

To use a mounted grid:

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

For direct docker run, pass an explicit in-container path when needed:

docker run --rm \
  -v "$PWD/grid:/workspace/grid:ro" \
  -e GRID_PATH=/workspace/grid/my_region.geojson \
  sirbastiano94/sarpyx:latest \
  /usr/local/bin/start-jupyter.sh

You can also pass --grid-path to the worldsar CLI command.

With Love By: Roberto Del Prete

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sarpyx-0.1.10.tar.gz (547.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sarpyx-0.1.10-py3-none-any.whl (302.0 kB view details)

Uploaded Python 3

File details

Details for the file sarpyx-0.1.10.tar.gz.

File metadata

  • Download URL: sarpyx-0.1.10.tar.gz
  • Upload date:
  • Size: 547.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for sarpyx-0.1.10.tar.gz
Algorithm Hash digest
SHA256 690a45e94f966091d6990c73e4c34e6fa0422d2d994c9bfd992b8af5503ca54d
MD5 54f0e80f685304c5376d3fd12877bdce
BLAKE2b-256 07277f753e623cef42b27bf2df53df0e207b54d1bdef6dd9f6be26e9ffe1b3a9

See more details on using hashes here.

File details

Details for the file sarpyx-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: sarpyx-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 302.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for sarpyx-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 97b845e64a6bb35d843ed6a02b1292bc35af19cc2943f1fc9fbaec517e4d5254
MD5 d40fc51edd89ae8a77357fca9aa6e0bf
BLAKE2b-256 7880f7aa0411c482e80d68c2ea68b8cc00a9a0fb3384e82552584e18c5c72cd3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page