Pump
Languages and libraries
web framework library
SHOW HN2011
How HN took it
1 positive, 9 neutral or asking, 1 mixed, 21 critical, out of 32 comments about the project. Thread score -0.56.
Idea: 1 for, 14 againstDesign: 0 for, 3 againstPerformance: 0 for, 2 against
The thread, comment by comment
Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.
positive neutral or mixed critical about another commenter or something else the maker
What HN said
What people liked
Simplicity of the Rack-style API
From 1 comment
The Rack style API is nice for the simplicity. I <3 it. The Rack style api is NOT a great representation of the HTTP protocol. Specifically anything with a streaming or chunked…
collint on HN
Rack-style ecosystem interoperability idea is appealing
From 1 comment
I believe the intent is to be Rack[1] for Python. The beauty of Rack is that I can build a new web framework, web server, or web app plugin and have it "just work" with the rest…
teej on HN
Objections
Duplicates Werkzeug and WebOb, which already solve this
From 3 comments
"What WSGI should have been." Well, not at all. Pump is what werkzeug, webob, and other more friendly wrappers on WSGI already are. Basically pointless duplication of work,…
justin_vanw on HNWerkzeug and WebOb already do what you are trying to do, and they do it in a completely fantastic way. I'm not saying that to discourage you from learning and contributing, but…
justin_vanw on HNWhat middleware do you think are missing? In general, stuffing application logic into middleware leads to problems, so I don't think your premise is sound.…
justin_vanw on HN
Reinvents WSGI without understanding HTTP needs like streaming and chunked responses
From 3 comments
"What WSGI should have been." Well, not at all. Pump is what werkzeug, webob, and other more friendly wrappers on WSGI already are. Basically pointless duplication of work,…
justin_vanw on HNI don't see any way to use Pump to stream data in (a very long POST) or stream data out (a very long body). While it is certainly "dead simple", claiming that it is "what WSGI…
saurik on HNThe Rack style API is nice for the simplicity. I <3 it. The Rack style api is NOT a great representation of the HTTP protocol. Specifically anything with a streaming or chunked…
collint on HN
Dict-based responses prevent streaming and lazy loading
From 2 comments
by passing dicts you are removing what makes WSGI work so well: lazy loading, chunked responses, middleware (encoding, caching etc.) by decorating, iterators/generators etc. your…
nikcub on HNI don't see any way to use Pump to stream data in (a very long POST) or stream data out (a very long body). While it is certainly "dead simple", claiming that it is "what WSGI…
saurik on HN
Wrong priorities for a startup to build its own framework
From 2 comments
I'd advise you to spend more of your time on building what's the core of your new business, because there are tons of higher priority things you'll have to accomplish. Web…
mkramlich on HNAt the risk of sounding harsh: it's an incredible failure of time and project management for you to have written your own Python web framework as part of launching a startup.
jessedhillon on HN
Abstraction hides HTTP details and restricts usable subset
From 1 comment
What middleware do you think are missing? In general, stuffing application logic into middleware leads to problems, so I don't think your premise is sound.…
justin_vanw on HN
Requests
Support streaming request and response bodies
From 2 comments
I don't see any way to use Pump to stream data in (a very long POST) or stream data out (a very long body). While it is certainly "dead simple", claiming that it is "what WSGI…
saurik on HNAs a special case, how about allowing the response body to be an iterable, and writing whatever blocks of data it produces back to the client? You should also allow multiple…
sigil on HN
Allow iterable response bodies and multiple headers with the same name
From 1 comment
As a special case, how about allowing the response body to be an iterable, and writing whatever blocks of data it produces back to the client? You should also allow multiple…
sigil on HN
Distinguish script name from path info
From 1 comment
One issue that I have with it is that there is no distinction between script name and path info. Obviously, you don't have to call them that, but not having a distinction between…
LeafStorm on HN
Plan for websocket support
From 1 comment
Looks useful, though I think any modern abstraction like this should come with at least the scaffolding for future support of websockets. (They are a bit in flux right now, but…
radarsat1 on HN
Questions
What is the purpose and what use cases does Pump serve?
From 2 comments
This seems interesting but I'm not sure why. What are some use cases?
pbreit on HNI don't get the purpose. WSGI was meant to low level to cover the common minimum. If you want request, response semantics, use a higher level library - I use werkzeug which wraps…
irahul on HN
Why is start_response considered unpythonic?
From 1 comment
> In my view, the problems with WSGI are that it has an unpythonic API (see: start_response and environ), Why do you find `start_response` unpythonic?
irahul on HN
Alternatives named
Werkzeug
From 2 comments
It seems like the author here is comparing Pump to WSGI -- perhaps a better comparison is to Ian Bicking's WebOb (http://webob.org) or Armin Ronacher's Werkzeug…
clarkevans on HNWerkzeug and WebOb already do what you are trying to do, and they do it in a completely fantastic way. I'm not saying that to discourage you from learning and contributing, but…
justin_vanw on HN
WebOb
From 2 comments
It seems like the author here is comparing Pump to WSGI -- perhaps a better comparison is to Ian Bicking's WebOb (http://webob.org) or Armin Ronacher's Werkzeug…
clarkevans on HNAs a special case, how about allowing the response body to be an iterable, and writing whatever blocks of data it produces back to the client? You should also allow multiple…
sigil on HN
Rack
From 1 comment
I believe the intent is to be Rack[1] for Python. The beauty of Rack is that I can build a new web framework, web server, or web app plugin and have it "just work" with the rest…
teej on HN
Ring (Clojure)
From 1 comment
Thanks for the feedback. I'm not willing to accept that WSGI couldn't be this simple. Pump's specification is modeled on Ring for Clojure (https://github.com/mmcgrana/ring), and…
pyninja on HN
Brubeck
From 1 comment
Here's another NoWSGI HTTP server library (Brubeck): http://news.ycombinator.com/item?id=2770866
benatkin on HN