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.9.tar.gz (547.2 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.9-py3-none-any.whl (301.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sarpyx-0.1.9.tar.gz
  • Upload date:
  • Size: 547.2 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.9.tar.gz
Algorithm Hash digest
SHA256 f1736ed31aac104cd1e87adcf5afbe8a31073b6e251b93cdaee8e3cc3481d771
MD5 5587cf76ef5f709e101985c768c41767
BLAKE2b-256 8f1f858cba4442bda37c4cad72127c5b40d4bed126aa17e0edc8316d4ecea3a9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sarpyx-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 301.7 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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 a2f576231317cb96c036ea54567c7cf9e1731eca6ad299b33ffa61b9b19104ed
MD5 14ba3aeada901eeaf82f0c39a94d83f5
BLAKE2b-256 721aaa8a205e5b53019b5ddcd17f520cb62787be2af6c885e867fd23906b8253

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