# Welcome to the PyWPS 4.0.0 documentation!

PyWPS is a server side implementation of the OGC Web Processing Service (OGC WPS) standard, using the Python programming language. PyWPS is currently supporting WPS 1.0.0. Support for the version 2.0.0. of OGC WPS standard is presently being planned.

Like the bicycle in the logo, PyWPS is:

- simple to maintain
- fast to drive
- able to carry a lot
- easy to hack

Mount your bike and setup your PyWPS instance!

Todo

- request queue management (probably linked from documentation)
- inputs and outputs IOhandler class description (file, stream, …)

## Contents:

- OGC Web Processing Service (OGC WPS)
  - Process
  - Data inputs and outputs
    - LiteralData
    - ComplexData
    - BoundingBoxData
  - Passing data to process instance
  - Sychronous versus asynchronous process request
  - Process status
  - Request encoding, HTTP GET and POST
- PyWPS
  - PyWPS philosophy
  - Why is PyWPS there
  - PyWPS History
- Installation
  - Dependencies and requirements
  - Download and install
  - The demo service and its sample processes
- Configuration
  - [metadata:main]
  - [server]
  - [logging]
  - [grass]
    - Sample file
- Processes
  - Writing a Process
  - Example vector buffer process
  - Declaring inputs and outputs
    - LiteralData
    - ComplexData
    - ComplexData `Format` and input validation
    - BoundingBoxData
  - Accessing the inputs and outputs in the handler method
  - Progress and status report
  - Returning large data
  - Process deployment
  - Running the dev server
- Deployment to a production server
  - Deploying an individual PyWPS instance
  - Creating a PyWPS WSGI instance
  - Deployment on Apache2 httpd server
  - Deployment on nginx
  - Testing the deployment of a PyWPS instance
- Migrating from PyWPS 3.x to 4.x
- PyWPS and external tools
  - GRASS GIS
- PyWPS API Doc
  - Process
  - Inputs and outputs
    - LiteralData
    - ComplexData
    - BoundingBoxData
    - Request and response objects
- Developers Guide
  - 0. GitHub account
  - 1. Open a new issue
  - 2. Fork and clone the PyWPS repository
  - 3. Commit and pull request
  - 4. Updating local repository
  - 5. Help and discussion
- Exceptions

### Indices and tables

- Index
- Module Index
- Search Page