PyWPS is an implementation of the Web Processing Service standard from the Open Geospatial Consortium. PyWPS is written in Python.
As of PyWPS 4.0.0, PyWPS is released under an MIT license (see LICENSE.txt).
See requirements.txt file
pip install -r requirements-dev.txt # run unit tests python -m unittest tests # run code coverage coverage run --source=pywps -m unittest tests coverage report -mClone demo app after having installed PyWPS:
git clone git://github.com/PyWPS/pywps-4-demo.git cd demo/ python demo.pyEnable WSGI extension
Add configuration:
WSGIDaemonProcess pywps user=user group=group processes=2 threads=5 WSGIScriptAlias /pywps/path/to/www/htdocs/wps/pywps.wsgi <Directory/path/to/www/htdocs/wps/> WSGIProcessGroup group WSGIApplicationGroup %{GLOBAL} Order deny,allow Allowfrom all </Directory>
Create wsgi file:
#!/usr/bin/env python3importsyssys.path.append('/path/to/src/pywps/') importpywpsfrompywps.appimportService, WPS, Processdefpr1(): """This is the execute method of the process """passapplication=Service(processes=[Process(pr1)])
Run via web browser
http://localhost/pywps/?service=WPS&request=GetCapabilities&version=1.0.0Run in command line:
curl 'http://localhost/pywps/?service=WPS&request=GetCapabilities&version=1.0.0'
On Windows PyWPS does not support multiprocessing which is used when making requests storing the response document and updating the status to displaying to the user the progression of a process.
