Description

Py-QGIS-WPS is an implementation of the [Web Processing Service](https://www.ogc.org/standards/wps) standard from the Open Geospatial Consortium based on the QGIS Processing API.

It also implements the [processes OGC REST api](https://ogcapi.ogc.org/processes/)

This implementation allows you to expose and run on a server: * QGIS Processing algorithms available on Desktop * QGIS Processing models and scripts * QGIS plugins having a Processing provider according to their metadata.txt file

It’s is written in Python and is a fork of [PyWPS](https://pywps.org/).

Requirements and limitations

  • Python 3.7+ only

  • Windows not officially supported

  • Redis server

Any WPS client should work with this implementation. For instance QGIS Processing algorithms are available in a web interface using [Lizmap WPS module](https://github.com/3liz/lizmap-wps-web-client-module).

Features

  • Asynchronous requests and parallel tasks execution

  • Execution timeout

  • Data expiration

  • Status API.

Installation

Install from source

  • Install from sources:

    pip install -e .
    
  • Install from build version X.Y.Z:

    make dist
    pip install py-qgis-server-X.Y.Z.tar.gz
    

Running the server

The server does not run as a daemon by itself, there is several way to run a command as a daemon.

For example:

  • Use Supervisor. Will gives you full control over logs and server status notifications.

  • Use the daemon command.

  • Use systemd

Synopsis

pyqgiswps [options]

Options

-d, --debug

Force debug mode. This is the same as setting the LOGGING_LEVEL option to DEBUG

-c, --config path

Use the configuration file located at path

--dump-config

Dump the configuration and exit

Running with Docker

Docker image is available on docker-hub.

All options are passed with environment variables. See the Configuration settings for a description of the options.

Requests to OWS services

The OWS requests use the following format: /ows/?<ows_query_params>

Example:

http://localhost:8080/ows/?SERVICE=WPS&VERSION=1.0.0&REQUEST=GetCapabilities