When comparing Pyramid vs Klein, the Slant community recommends Pyramid for most people. In the question“What are the best general-purpose Python web frameworks usable in production sites?” Pyramid is ranked 5th while Klein is ranked 20th. The most important reason people chose Pyramid is:
Pyramid can be used for creating small applications quickly and easily, but it also powers up large enterprise-scale applications such as Dropbox.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Very flexible
Pyramid can be used for creating small applications quickly and easily, but it also powers up large enterprise-scale applications such as Dropbox.
Pro Persistence agnostic
Either NoSQL and SQL (including SQLAlchemy plugin).
Pro Comes with security included
Includes authorization and authentication with multiple backends.
Pro More concurrent requests, more interactivity
The fact that a Klein server is event-driven and non-blocking means that it can start handling a new request while previous requests are still open. This lets you serve more requests from a single process, meaning running multiple servers is now an option to be explored when your site makes it big, rather than a necessity for responsiveness under even modest loads.
Multiple requests per process also gives you flexibility to do things that would be impractical in WSGI-based alternatives like Flask or Bottle, such as keeping a connection to the browser open to send it chat messages or game updates in a Server Sent Event stream.
Cons
Con The great number of options it offers can become intimidating
One of Pyramid's greatest drawbacks is that it requires a lot of set up in the beginning of a project. This can feel overwhelming and can keep people away from using it.
Con Lacks database integration
Talking to database is a pretty common thing for a web application to do. Larger frameworks know this, and cover it in some detail by the end of the tutorial. In contrast, the Klein documentation is currently silent on this topic, leaving the issue of how to do database queries in a way that won't block your event-driven code entirely up to you.