Run WSGI applications defined by paste.deploy configurations
Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src/zc
.gitignore
README.rst
buildout.cfg
setup.py

README.rst

Run WSGI applications defined by paste.deploy configurations

A script, run-wsgi is provided that runs WSGI applications defined in Paste Deployment configuration files. For example, given a configuration file, paste.ini:

[app:main]
use = egg:bobo
bobo_resources = myapp

[pipeline:debug]
pipeline = debug reload main

[filter:reload]
use = egg:bobo#reload
modules = zc.wsgirunner.tests

[filter:debug]
use = egg:bobo#debug

[server:main]
use = egg:waitress
host = localhost
port = 8080

[configure:main]
use = call:myapp:config
key = 42

[logging:main]
log = INFO

We can run the applicaton with [1]:

run-wsgi paste.ini

If we want to run the debug pipeline:

run-wsgi -a debug paste.ini

Environment Variables

You can cause environment variables to be interpolated into your configuration by passing an -e option, and by including references of the form ${NAME}.

Logging and configuration

zc.wsgirunner extends the Paste Deploy vocabulary of sections with logging and configuration sections.

As with the other sections, you can have multiple sections and select which one you want with command-line options.

Logging sections

Logging sections come in 2 flavors, ZConfig, and basic. If a logging section has a config option, its value is passed ZConfig's [2] configureLoggers method. Otherwise, the options in the logging section are passed to logging.basicConfig.

Configuration sections

Configuration sections identify a configuration function with a use option, as with other Paste Deploy sections. The configuration object is called with global defaults and with options from the configuration section.

Changes

  • Added support for envirnment-variable interpolation.

0.1.0 (2014-04-12)

Initial release

[1]You should use a tool like ZDaemon or supervisord with run-wsgi in production. run-wsgi doesn't daemonize itself.
[2]

ZConfig provides the easiest way to create non-trivial logger configurations.

Note, however, that ZConfig isn't a dependency of zc.wsgirunner, so if you want to use ZConfig to configure logging, you need to install it separately.