middlestorm 0.7.1
Middleware for use Storm ORM in WSGI applications
Latest Version: 0.8.1
Introduction
Storm is a fast, small and powerful object-relational mapper. Try it to use in web-aware applications.
WSGI application mainly miltithreaded, but Store object is not thread safe.
Middlestorm middleware manage Store objects (one per thread) and add it into environ dictonary.
Simple example
- There are 3 ways to create middleware:
- class
- decorator
- Paste configuration
Class middleware:
from wsgiref.simple_server import make_server
from storm.database import create_database
from middlestorm import MiddleStorm
def storm_app(environ, start_response):
store = environ['storm.store']
# ...
db = create_database('postgres://user:password@host/base')
app = MiddleStorm(storm_app, db)
make_server('', 8000, app).serve_forever()
Decorator middleware:
from wsgiref.simple_server import make_server
from storm.database import create_database
import middlestorm
@middlestorm.decorator(create_database('postgres://user:password@host/base'))
def storm_app(environ, start_response):
store = environ['storm.store']
# ...
make_server('', 8000, storm_app).serve_forever()
To create middleware via Paste configuration, add a stanza to the .ini file:
[filter:middlestorm] use = middlestorm#middlestorm db_uri = sqlite:myapp.db
and then add that filter to the Paste pipeline (again, in the .ini file):
[pipeline:main]
pipeline =
middlestorm
myapp
By default Store placed in variable storm.store. This can be customized:
app = MiddleStorm(storm_app, db, key='custom.mystore')
or decorator style:
@middlestorm.decorator(db, key='custom.mystore')
def storm_app(environ, start_response):
store = environ['custom.mystore']
or in the Paste configuration:
[filter:middlestorm] use = middlestorm#middlestorm db_uri = sqlite:myapp.db key = myapp.store
Legal
Middlestorm is a part of storm support tools and distributed under terms of GNU LGPL v.2.1.
Copyright 2007 - 2008 Vsevolod Balashov.
| File | Type | Py Version | Uploaded on | Size | # downloads |
|---|---|---|---|---|---|
| middlestorm-0.7.1-py2.6.egg (md5) | Python Egg | 2.6 | 2009-06-26 | 5KB | 552 |
| middlestorm-0.7.1.tar.gz (md5) | Source | 2009-06-26 | 4KB | 413 | |
- Author: Vsevolod Balashov
- Home Page: http://pypi.python.org/pypi/middlestorm
- Download URL: http://vsevolod.balashov.name/download/python/middlestorm/
- Keywords: wsgi middleware decorator storm orm dbms db postgres mysql sqlite web webdev www
- License: LGPL 2.1
-
Categories
- Development Status :: 4 - Beta
- Environment :: Web Environment
- Intended Audience :: Developers
- License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
- Natural Language :: Russian
- Operating System :: OS Independent
- Programming Language :: Python
- Topic :: Database :: Front-Ends
- Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware
- Package Index Owner: sevkin
- DOAP record: middlestorm-0.7.1.xml
