Run your WSGI applications as a true unix daemon.
Python Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
docs Added changelog for 0.7.1 Apr 3, 2013
extras/filters Added two examples fo simple request filters Aug 12, 2012
scripts Moved CLI object to wsgid.core.cli module Mar 10, 2011
tests Fix broken test, setup wsgid.conf.settings Mar 29, 2013
wsgid Version bump: 0.7.1 Apr 3, 2013
.coveragerc Added py.test coverage configuration Aug 12, 2012
.gitignore
LICENSE
MANIFEST.in LICENSE file now included in source tarball Apr 6, 2013
README.rst Fixed typographical error, changed aplication to application in README. Sep 30, 2015
RELEASE
TESTS Updated docs about how to run the tests Jan 7, 2012
rtd-requirements.txt Update rtd-requirements.txt Feb 13, 2013
setup.py Make wsgid available on Pypi as m2wsgid Sep 26, 2012

README.rst

WSGId = WSGI Daemon

Description

Wsgid is a mongrel2 (http://mongrel2.org) adapter for WSGI applications. With wsgid you will be able to run your WSGI app as a true unix daemon.

Install

To install just clone this repo and run: (pip package coming soon)

sudo python setup.py install

Use example

Before youcan use wsgid, you will need to initialize your wsgid app folder. This folder is where you app will live. To do so, just run

wsgid init --app-path=/path/to/my/wsgid-app-folder

From now on, all command you type must have --app-path=/path/to/my/wsgid-app-folder parameter.

What this command does is create some well known folders, eg: pid/, pid/master, pid/worker, app, logs.

All of you application code will be places inside the ${WSGID_APP_FOLDER}/app folder. So to deploy a django app, just copy your project folder to ${WSGID_APP_FOLDER}/app.

To start an application just call wsgid like this.

wsgid --app-path=/path/to/the/app --recv=tcp://127.0.0.1:8889 --send=tcp://127.0.0.1:8890

This will load the app located at /path/to/the/app and be ready to process requests. wsgid automatically detects what kind of application it will load.

You don't have to type all this every time. You can use the init command to create a config file, like this:

wsgid config --app-path=/path/to/the/app --recv=tcp://127.0.0.1:8889 --send=tcp://127.0.0.1:8890

This will create a wsgid.json file inside your wsgid app folder. So the next time you start you app you8 can type just:

wsgid --app-path=/path/to/the/app
If wsgid is not able do detect the application WSGI framework you can use the --wsgi-app option.
wsgid --app-path=/path/to/the/app --recv=tcp://127.0.0.1:8889 --send=tcp://127.0.0.1:8890 --wsgi-app=my.package.application

--wsgi-app is the full qualified name of the WSGI application object, this way wsgid can find the app's entry point, as defined by pep-333.

See more at: http://wsgid.com

Plugable Appication Loaders

wsgid has a plugable Application Loader subsystem, this way you can write your own AppLoader. To do this just write an class that extends the wsgid.core.Plugin class and implements the IAppLoader interface. See the PyRoutesLoader (wsgid/loaders/__init__.py) for an actual example. To make wsgid use your loader just pass na aditional option: --loader-dir. This must point to the path where yout loader is located. More about this, read the docs on the site: http://wsgid.com

License

wsgid is Licensed under New BSD, see LICENSE for details.

Know more

Know more about the wsgid project at the official website: http://wsgid.com and at the docs: http://wsgid.com/docs

https://github.com/daltonmatos/wsgid

2010-2011 | Dalton Barreto