Skip to main content

CLI tool for visualizing GDALG workflows

Project description

gdalgviz

A Python library to visualise GDAL pipelines.

Installation

Requires graphviz to be installed on the system, and has a dependency on the graphviz Python package.

On Windows:

$GVIZ_PATH = "C:\Program Files\Graphviz\bin"
$env:PATH = "$GVIZ_PATH;$env:PATH"
pip install gdalgviz
gdalgviz --version

Usage

Passing a pipeline as a JSON file (tee.json):

gdalgviz ./examples/tee.json ./examples/tee.svg

Workflow Diagram

Passing a pipeline as a string:

gdalgviz --pipeline "gdal vector pipeline ! read in.tif ! reproject --dst-crs=EPSG:32632 ! select --fields fid,geom" ./examples/pipeline.svg

Workflow Diagram

  • Handles both JSON and text input. See JSON Schema
  • Supports nested pipelines. These allow sub-pipelines to be run in parallel and merged later.
  • Supports tee - the operation is named "tee" because it splits the stream, like the letter "T": one input, multiple outputs, and allows saving of intermediate results

This library does not execute the GDAL pipeline, it only visualizes it. The actual execution of the pipeline is done by GDAL itself.

from osgeo import gdal

gdal.UseExceptions()
with gdal.alg.pipeline(pipeline="read byte.tif ! reproject --dst-crs EPSG:4326 --resampling cubic") as alg:
    ds = alg.Output()

Development

pip install -e .[dev]
black .
ruff check . --fix
# mypy .
pytest tests
gdalgviz ./examples/tee.json ./examples/tee.svg
gdalgviz --pipeline "gdal vector pipeline ! read in.tif ! reproject --dst-crs=EPSG:32632 ! select --fields fid,geom" ./examples/pipeline.svg

RoadMap

  • Add JSON schema validation
  • Add colour coding of the graph depending on if the command is raster, vector etc.
  • Add types to the codebase

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

gdalgviz-0.1.0.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

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

gdalgviz-0.1.0-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file gdalgviz-0.1.0.tar.gz.

File metadata

  • Download URL: gdalgviz-0.1.0.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gdalgviz-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c7d138b0e7810f646663a0dcb6835845793451f418524ace22c41700d1983534
MD5 e6665592746e0b15e87ee4203edfef3f
BLAKE2b-256 bde5c653aa531e264b045828942fa49a521d742cb155b3e6acca0312f7dc19b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for gdalgviz-0.1.0.tar.gz:

Publisher: main.yml on geographika/gdalgviz

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gdalgviz-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: gdalgviz-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gdalgviz-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6f582a2dbdb5390bfee57de4a599300ff30f79007c4aed12e9c0620d4022912f
MD5 091b6c1d68e73c78310d2b92ac9b711c
BLAKE2b-256 bfd3b1f4abb2ef343caaaf453cb67b7971b4a141b47600a7a7aea5f7f9e549db

See more details on using hashes here.

Provenance

The following attestation bundles were made for gdalgviz-0.1.0-py3-none-any.whl:

Publisher: main.yml on geographika/gdalgviz

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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