PyWPS
PyWPS is an implementation of the Web Processing Service standard from the Open Geospatial Consortium. PyWPS is written in Python.
License
As of PyWPS 4.0.0, PyWPS is released under an MIT license (see LICENSE.txt).
Dependencies
See pyproject.toml file
Install
Install it from GitHub:
$ git clone https://github.com/geopython/pywps.git
$ cd pywps/
$ pip install .
Run tests
pip install ".[dev]"
# run unit tests
python -m pytest tests
# run code coverage
python -m coverage run --source=pywps -m pytest
python -m coverage report -m
Quick Guide with Conda
Checkout source from GitHub:
$ git clone https://github.com/geopython/pywps.git
$ cd pywps/
Build conda environment:
conda env create -f environment.yml
Install pywps:
make install
Or the development version:
make develop
Run tests:
make tests
Run web application
Example service
Clone the example service after having installed PyWPS:
git clone git://github.com/geopython/pywps-flask.git pywps-flask
cd pywps-flask
python demo.py
Access example service: http://localhost:5000
Apache configuration
-
Enable 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 Allow from all </Directory>
-
Create wsgi file:
#!/usr/bin/env python3 import sys sys.path.append('/path/to/src/pywps/') import pywps from pywps.app import Service, WPS, Process def pr1(): """This is the execute method of the process """ pass application = Service(processes=[Process(pr1)])
-
Run via web browser
http://localhost/pywps/?service=WPS&request=GetCapabilities&version=1.0.0 -
Run in command line:
curl 'http://localhost/pywps/?service=WPS&request=GetCapabilities&version=1.0.0'
Issues
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.
Metadata
Release files for pywps 4.8.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pywps-4.8.1.tar.gz | 87.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pywps-4.8.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 194.0 kB
Release files / pywps-4.8.1.tar.gz
| Download URL | pywps-4.8.1.tar.gz |
|---|---|
| Size | 87.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a4f4eaa205cf3fd2482750e01e9c4d59b6ee24e888c5f5f4cc180cc26938007e
|
|
BLAKE2b-256 checksum How to use checksums |
4ab421bb09aaaf94e39bf1779b092a140db0a13f36d204f80d4f97ffd569de48
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.
Transparency logRelease files / pywps-4.8.1-py3-none-any.whl
| Download URL | pywps-4.8.1-py3-none-any.whl |
|---|---|
| Size | 106.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3effd87406453de8afebc0b962d41336734cedd6c73562fce677863a1bb88d1f
|
|
BLAKE2b-256 checksum How to use checksums |
6e7f2ffbadf65adc1bedf497bfee5dd40befd1f2bd52a150b62069401aae9d26
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.
Transparency log