Last updated:
0 purchases
madness 0.7.0
madness: a method for your madness
It is built upon WSGI and the fabulous werkzeug routing system, like Flask.
Guiding Principles
Don't repeat yourself
Dependency inversion principle
Do One Thing and Do It Well.
The Zen of Python
Goals
Cohesion
Installing
$ pip install -U madness
A Simple Example
from madness import application, get
def hello():
return 'Hello, world!'
if __name__ == '__main__':
application(get('/', hello)).run()
Routing
route and variants
routes and variants
defaults
url parameters
from madness import routes, route, get, post, index
def hello():
return 'world'
def bar():
return 'zing!'
# recommended style
urls = routes(
index(hello),
routes(
index(lambda: 'foo')
route(bar, methods=['GET', 'POST', 'PUT']),
path = '/foo'
)
)
# flat style
urls = routes(
route('/', hello, methods=['GET']),
route('/foo', lambda: 'foo', methods=['GET']),
route('/foo/bar', bar, methods=['GET', 'POST', 'PUT']),
)
# add GET to all routes
urls = routes(
route('/', hello),
route('/foo', lambda: 'foo'),
route('/foo/bar', bar, methods=['POST', 'PUT']),
methods = ['GET']
)
Abstractions (Dependency inversion principle)
g
extending g
madness.G and g_factory
Middleware (Coroutines)
as decorator
as serializer
as request-contextmanager
as response contextmanager
as request-response contextmanager
as error handler
Extensions
json
cors
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.