Skip to main content

REST WebAPI for GeodataFlow, one Geoprocessing framework for geographical & Earth Observation (EO) data.

Project description

geodataflow.api

GeodataFlow WebAPI component using FastAPI which provides access to GeodataFlow backend via API REST calls.

GeodataFlow is a Geoprocessing framework for fetching, translating and manipulating Geospatial data (Raster, Vector, EO/STAC collections) by using a Pipeline or sequence of operations on input data. It is very much like the GDAL library which handles raster and vector data.

The project is split up into several namespace packages. geodataflow.api implements a WEB API endpoint conforming to OpenAPI specification with methods to get metadata, query states and run workflows. This package includes the geodataflow.core subpackage.

api

Installation

geodataflow.api just provides the FastAPI app, you need to install one of available backends in order to have a complete list of useful modules.

Using pypi

To install the latest stable version from pypi, write this in the command-line:

> pip install geodataflow.api[spatial,dataframes,eodag,gee]

Optional backends:

  • spatial

    Installs the geodataflow.spatial backend implementation for GeodataFlow using GDAL/OGR.

  • dataframes

    Installs the geodataflow.dataframes backend implementation for GeodataFlow using Geopandas.

Optional extras:

  • eodag

    EODAG - Earth Observation Data Access Gateway is a Python package for searching and downloading remotely sensed images while offering an unified API for data access regardless of the data provider.

    Installing this extra EODAG adds access to more EO Products from different providers to EOProductCatalog and EOProductDataset modules.

  • gee

    GEE - Google Earth Engine API is a geospatial processing service. With Earth Engine, you can perform geospatial processing at scale, powered by Google Cloud Platform. GEE requires authentication, please, read available documentation here.

    Installing this extra GEE makes possible the access to Google Cloud Platform to GEEProductCatalog and GEEProductDataset modules.

Using docker-compose

docker-compose.yml builds images and starts GeodataFlow API and Workbench components to easily run Workflows with GeodataFlow.

PACKAGE_WITH_GEODATAFLOW_PIPELINE_CONTEXT in the yml file indicates the backend implementation to load. The default value is geodataflow.spatial. If you prefer to use another backend, please, change it before starting.

Write in the command-line from the root folder of the project:

> docker-compose up

Then, type in your favorite Web Browser:

To remove all resources:

> docker-compose down --rmi all -v --remove-orphans

Contribute

Have you spotted a typo in our documentation? Have you observed a bug while running GeodataFlow? Do you have a suggestion for a new feature?

Don't hesitate and open an issue or submit a pull request, contributions are most welcome!

License

GeodataFlow is licensed under Apache License v2.0. See LICENSE file for details.

Credits

GeodataFlow is built on top of amazingly useful open source projects. See NOTICE file for details about those projects and their licenses.

Thank you to all the authors of these projects!

Download files

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

Source Distribution

geodataflow.api-0.2.1.tar.gz (16.8 kB view hashes)

Uploaded Source

Built Distribution

geodataflow.api-0.2.1-py3-none-any.whl (18.5 kB view hashes)

Uploaded Python 3

Supported by

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