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
body keys. No fancy
Pump middlewares are reusable functions that can add functionality to any Pump app. Pump comes with useful middlewares like
wrap_sessions. Since such functionality is implemented as middleware, frameworks built on Pump don't have to reinvent the wheel.
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.