Skip to content

FOSS4G 2018 conference talk

Jachym Cepicky edited this page Apr 11, 2018 · 4 revisions

PyWPS: your Python based WPS server (PyWPS project report)

Authors:

Jachym, Luís, Jonas, (who else?)

Keywords:

WPS, Web Processing Service, Geoprocessing, Python, PyWPS

Abstract (max 250 words):

PyWPS is an open source, light-weight, Python based, implementation of the OGC Web Processing Service (WPS) standard. It provides users with a relatively seamless environment where to code geo-spatial functions and models that are readily exposed to the Internet through the WWW.

Initially started in 2006, PyWPS has been re-written several times, most current 4.x versions are taking advantage of the state-of-the-art Python infrastructure in order to provide new and useful features. The current version implements the WPS 1.0 standard almost entirely. The publication of WPS version 2.0 - which brings forth important new functionalities - is also prompting this re-structuring of the code for PyWPS-4.

PyWPS offers a straightforward WPS development framework with the increasingly popular Python language. Python offers easy access to a vast array of code libraries that can be easily used in the processes, in particular those for geo-spatial data manipulation, e.g. GRASS, GDAL/OGR, Fiona, Shapely, etc., but also to statistics packages (e.g. rpy2 for R statistics) and data analysis tools (e.g. pandas). PyWPS offers storage mechanisms for process inputs and outputs and spawns processes to the background for asynchronous execution requests.

Last year of PyWPS development brings new features, like usage of Docker containers, process load balancer using DRMAA library and others. Future goals of the project include automatic publication of geo-spatial results through a WFS/WCS server such as MapServer and Geoserver, data storage using PostgreSQL and others.

The authors present general project news like finally finished OSGeo incubation process and the new Project Steering Committee as well as the current state of PyWPS, and show demonstrations how these services are currently being provided.

Clone this wiki locally