Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Simplified WSGI process management

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 snow
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README
Octocat-spinner-32 sample_wsgirc.yaml
Octocat-spinner-32 setup.py
README
====
snow
====

snow is a simple script to deal with the cruft involved in managing WSGI
processes with CherryPy's WSGI server. snow offers multiple ways to
configure its usage giving complete control over the configuration.

Dependancies
============

 * `PyYaml`_ 3.05

The versions numbers are not strict. They are simply the versions that were
used during testing.

.. _PyYaml: http://pyyaml.org/wiki/PyYAML

Installation
============

Install using pip::

    pip install snow

Configuration
=============

Configuration of snow is where its real power shines. You must create
yourself ``~/.wsgirc`` file. The configuration format is YAML and has two
top-level keys, ``pid-path`` and ``processes``. Here is a quick sample::

    pid-path: "~/run"

    servers:
        oebfare:
            dispatcher: "trac.web.main.dispatch_request"

        trac:
            dispatcher: "trac.web.main.dispatch_request"

Global Parameters
-----------------

pid-path
~~~~~~~~

The path where snow should store the PID files for the processes it
spawns off.

servers
~~~~~~~

A container for each process and their configuration.

Process Parameters
------------------

dispatcher
~~~~~~~~~~

This key is required. Its value is a Python module path to the WSGI callable
used to dispatch the request.

host
~~~~

Default: ``127.0.0.1``

The host on which the process should bind on.

port
~~~~

Default: ``None``

The port on which the process should listen to. ``port`` is optional at the
configuration file level. However, is required to run the server. If not
specified in the configuration, it must be given to the command-line.

Usage
=====

With the configuration all setup you are ready to manage WSGI processes. To
start the ``oebfare`` process execute::

    snow oebfare start -p 9001

Parameters passed on the command-line will override any configuration of the
same kind.
Something went wrong with that request. Please try again.