A Buildout recipe to install and configure PyWPS Web Processing Service with conda.
Project description
Introduction
birdhousebuilder.recipe.pywps is a Buildout recipe to install and configure PyWPS with Anaconda. PyWPS is a Python implementation of a Web Processing Service (WPS). PyWPS will be deployed as a Supervisor service and is available behind a Nginx web server. This recipe is used by the Birdhouse project.
Usage
The recipe requires that Anaconda is already installed. You can use the buildout option anaconda-home to set the prefix for the anaconda installation. Otherwise the environment variable CONDA_PREFIX (variable is set when activating a conda environment) is used as conda prefix.
It installs the pywps package from a conda channel in a conda environment defined by CONDA_PREFIX. The location of the intallation is given by the prefix buildout option. It setups a PyWPS output folder in ${prefix}/var/lib/pywps. It deploys a Supervisor configuration for PyWPS in ${prefix}/etc/supervisor/conf.d/pywps.conf. Supervisor can be started with ${prefix}/etc/init.d/supervisor start.
The recipe will install the nginx package from a conda channel and deploy a Nginx site configuration for PyWPS. The configuration will be deployed in ${prefix}/etc/nginx/conf.d/pywps.conf. Nginx will be started by supervisor.
By default PyWPS will be available on http://localhost:8091/wps?service=WPS&version=1.0.0&request=GetCapabilities.
The recipe depends on:
birdhousebuilder.recipe.conda,
birdhousebuilder.recipe.supervisor,
birdhousebuilder.recipe.nginx and
zc.recipe.deployment.
Supported options
The recipe supports the following buildout options:
- anaconda-home
Buildout option pointing to the root folder of the Anaconda installation. Default: $HOME/anaconda.
Buildout options for pywps:
- prefix
Deployment option to set the prefix of the installation folder. Default: /
- user
Deployment option to set the run user.
- etc-user
Deployment option to set the user of the /etc directory. Default: root
- name
The name of your WPS project (used for config names and folder path).
- hostname
The hostname of the PyWPS service (nginx). Default: localhost
- http-port
The http port of the PyWPS service (nginx). Default: 8091
- https-port
The https port of the PyWPS service (nginx). Default: 28091
- output-port
The http port of the PyWPS output file service (nginx). Default: 8090
- workers
The number of gunicorn workers for handling requests. Default: 1
- processesPath
Path the PyWPS processes.
- title
Title used for your WPS service.
- abstract
Description of your WPS service.
- logLevel
Logging level for PyWPS. Default: WARN
- maxoperations
Maximum number of parallel WPS operations. Default: 100
- maxfilesize
Maximal file size accepted in WPS process. Default: 30GB
Example usage
The following example buildout.cfg installs PyWPS with Anaconda:
[buildout] parts = pywps anaconda-home = /opt/anaconda [pywps] recipe = birdhousebuilder.recipe.pywps name = myproject prefix = / user = www-data hostname = localhost http-port = 8091 https-port = 28091 # pywps options processesPath = ${buildout:directory}/myproject/processes title = MyProject ... abstract = MyProject does ...
After installing with Buildout start the PyWPS service with:
$ cd ${prefix} $ etc/init.d/supervisord start # start|stop|restart $ etc/init.d/nginx start # start|stop|restart $ bin/supervisorctl status # check that pycsw is running $ less var/log/pywps/myproject.log # check log file
Open your browser with the following URL:
http://localhost:8091/wps?service=WPS&version=1.0.0&request=GetCapabilities
Change History
0.8.0 (2016-10-17)
updated to pywps 4.x (new config files)
0.5.1 (2016-07-06)
added client_body_max_size to nginx config for uploads.
0.5.0 (2016-06-30)
using zc.recipe.deployment.
changed cache path to var/lib/pywps/cache.
changed tmp path to var/lib/pywps/tmp.
0.4.0 (2016-03-03)
update to pywps 3.2.5.
fixed wpsapp.py wsgi script.
added missing server/debug parameter to pywps.cfg.
0.3.10 (2016-02-12)
added maxoperations and maxfilesize to options.
0.3.9 (2016-02-08)
updated pywps conda dependency.
0.3.8 (2016-02-04)
configure pywps logFile in ${prefix}/var/log/pywps/.
0.3.7 (2016-01-22)
added environment variables PATH and GDAL_DATA to bin/runwps script.
0.3.6 (2016-01-22)
generates bin/runwps script to test pywps service.
0.3.5 (2016-01-21)
updated pywps conda dependency.
0.3.4 (2016-01-19)
cleaned up templates.
added eventlet to the conda dependencies.
0.3.3 (2016-01-18)
renamed gunicorn template.
updated pywps.cfg for gunicron keywords template.
0.3.2 (2016-01-15)
added gunicorn workers parameter.
using gevent worker_class.
using gunicorn config folder etc/gunicorn/.
0.3.1 (2016-01-05)
using cache path var/lib/cache/.
0.3.0 (2015-12-01)
updated to latest pywps wsgi app.
0.2.6 (2015-06-25)
added user option for supervisor and nginx.
0.2.5 (2015-06-24)
enabled https access.
0.2.4 (2015-06-23)
removed unused proxyEnabled option.
cleaned up templates.
0.2.3 (2015-05-18)
updated supervisor config.
log pywps to stderr/supervisor.
0.2.2 (2015-04-21)
do not set HOME environment variable in gunicorn.
0.2.1 (2015-03-24)
added mako_cache to pywps config.
0.2.0 (2015-02-24)
installing in conda enviroment birdhouse.
using $ANACONDA_HOME environment variable.
separation of anaconda-home and installation prefix.
0.1.11 (2014-12-08)
changed default log level.
0.1.10 (2014-12-06)
Don’t update conda on buildout update.
Sets PYTHONPATH in gunicon.conf.py. Used in PyWPS async processes.
0.1.9 (2014-11-26)
Added cache section to pywps.cfg template.
0.1.8 (2014-11-03)
GDAL_DATA added to environment in gunicorn.conf.py template.
0.1.7 (2014-08-27)
phoenix option added for wpsoutputs.
0.1.6 (2014-08-26)
Fixed proxy config for wpsoutputs.
0.1.5 (2014-08-23)
added cache path to nginx configuration.
0.1.4 (2014-08-17)
added /usr/local/bin to gunicorn path (needed for brew on macosx)
0.1.3 (2014-08-01)
Updated documentation.
0.1.2 (2014-07-24)
Fixed hostname in nginx template.
0.1.1 (2014-07-11)
Fixed HOME env in gunicorn template.
0.1.0 (2014-07-10)
Initial Release.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for birdhousebuilder.recipe.pywps-0.8.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54c09b41cdaf2ef6f16d1d685330fbc107806fb32da9a2506becbdca53c7209c |
|
MD5 | 43a0a42cf1046dbee69bdcf355550ecc |
|
BLAKE2b-256 | bb96c7a5b5d0af3a06c8a3d5b57aa37b2ca154480c07db675ba69d4423fb11f2 |