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 - daemoncommand.
- 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