• Stars
    star
    176
  • Rank 216,987 (Top 5 %)
  • Language
    Python
  • License
    MIT License
  • Created over 12 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

PyWPS is an implementation of the Web Processing Service standard from the Open Geospatial Consortium. PyWPS is written in Python.

PyWPS

PyWPS is an implementation of the Web Processing Service standard from the Open Geospatial Consortium. PyWPS is written in Python.

Documentation Status Build Status Coverage Status PyPI GitHub license

Join the chat at https://gitter.im/geopython/pywps

License

As of PyWPS 4.0.0, PyWPS is released under an MIT license (see LICENSE.txt).

Dependencies

See requirements.txt file

Run tests

pip install -r requirements-dev.txt
# run unit tests
python -m pytest tests
# run code coverage
python -m coverage run --source=pywps -m unittest tests
python -m coverage report -m

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

Apache configuration

  1. Enable WSGI extension

  2. 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>
  3. 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)])
  4. Run via web browser

    http://localhost/pywps/?service=WPS&request=GetCapabilities&version=1.0.0

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

More Repositories

1

pygeoapi

pygeoapi is a Python server implementation of the OGC API suite of standards. The project emerged as part of the next generation OGC API efforts in 2018 and provides the capability for organizations to deploy a RESTful OGC API endpoint using OpenAPI, GeoJSON, and HTML. pygeoapi is open source and released under an MIT license.
Python
499
star
2

OWSLib

OWSLib is a Python package for client programming with Open Geospatial Consortium (OGC) web service (hence OWS) interface standards, and their related content models.
Python
387
star
3

pycsw

pycsw is an OGC CSW server implementation written in Python. pycsw fully implements the OpenGIS Catalogue Service Implementation Specification [Catalogue Service for the Web]. Initial development started in 2010 (more formally announced in 2011). The project is certified OGC Compliant, and is an OGC Reference Implementation. pycsw allows for the publishing and discovery of geospatial metadata via numerous APIs (CSW 2/CSW 3, OpenSearch, OAI-PMH, SRU). Existing repositories of geospatial metadata can also be exposed, providing a standards-based metadata and catalogue component of spatial data infrastructures. pycsw is Open Source, released under an MIT license, and runs on all major platforms (Windows, Linux, Mac OS X). Please read the docs at https://pycsw.org/docs for more information.
Python
206
star
4

pygeometa

pygeometa is a Python package to generate metadata for geospatial datasets
Jinja
104
star
5

stetl

Stetl, Streaming ETL, is a lightweight geospatial processing and ETL framework written in Python.
Python
85
star
6

GeoHealthCheck

Service Status and QoS Checker for OGC Web Services
Python
84
star
7

pygeofilter

pygeofilter is a pure Python parser implementation of OGC filtering standards
Python
82
star
8

mapslicer

MapSlicer is a graphical application for online map publishing.
Python
43
star
9

CadTools

Some tools to perform cad like functions in QGIS.
Python
21
star
10

pywps-flask

Demo service for PyWPS 4 with Flask
Python
21
star
11

diving-into-pygeoapi

pygeoapi is an OGC Reference Implementation supporting numerous OGC API specifications. This workshop will cover publishing geospatial data to the Web using pygeoapi in support of the suite of OGC API standards.
Jupyter Notebook
20
star
12

pygml

Python
14
star
13

pycql

A pure python CQL parser.
Python
11
star
14

GeoUsage

Metrics Analysis for OGC Web Services
Python
10
star
15

demo.pygeoapi.io

Demo setup for https://demo.pygeoapi.io
Shell
8
star
16

geopython.github.io

Project pages for geopython
JavaScript
7
star
17

pygeoapi.io

The pygeoapi.io website
HTML
5
star
18

geolinks

Utilities to deal with geospatial links
Python
5
star
19

pyfes

An implementation of OGC FES/ISO1943
Python
4
star
20

pycsw.org

pycsw website
HTML
3
star
21

demo.pycsw.org

docker-compose setup for pycsw OGC Reference Implementation and demo
HTML
3
star
22

pycsw-workshop

pycsw Workshop
Python
2
star
23

demo.pywps.org

demo.pywps.org setup
Python
1
star
24

pygeoapi-examples

Example pygeoapi deployment patterns and configurations
Shell
1
star