wsgi microframework suitable for building modular DRY RESTful APIs
Project description
madness: a method for your madness
It is built upon WSGI and the fabulous werkzeug routing system, like Flask.
Guiding Principles
Dependency inversion principle
Goals
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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
madness-0.7.0.tar.gz
(5.1 kB
view hashes)