Pump hides the implementation details of HTTP and gives you a Pythonic API for writing webapps. Your app is just a function that takes a request—a dict with certain keys—and returns a response—a dict with status
, headers
and body
keys. No fancy start_response
or environ
here.
Pump middlewares are reusable functions that can add functionality to any Pump app. Pump comes with useful middlewares like wrap_params
, wrap_nested_params
, wrap_static
, wrap_cookies
, wrap_sessions
. Since such functionality is implemented as middleware, frameworks built on Pump don't have to reinvent the wheel.
Pump comes with adapters for serving Pump apps with WSGI servers and converting WSGI middleware to Pump middleware.
If you’re interested in building a webapp with Pump, check out Picasso. It packages together various Pump middlewares so that you have routing and templating out of the box. It’s also a good place to start if you want to write your own Pump framework.