9 votes

Python web developers - what is your favorite framework?

As some of you may know, Tildes is written in Pyramid. I've done some OSS work in Pyramid and Flask, but my paid web dev work the past few years has been mostly in Django. There are some newer frameworks out there like Sanic or Falcon, and some older ones like Zope, CherryPy and Turbogears, that I've played with but have no real experience in.

Personally, I like Django for its "batteries included" and its big ecosystem, Flask for its minimalism and Pyramid for its elegant design. There's no single framework that fits all needs and all have their share of annoyances - Django can be quite difficult to swap out things like the default ORM or template system (though these have gotten better in recent versions), Flask has some architectural issues with request and other global variables, and Pyramid perhaps suffers from a relatively small ecosystem and lack of "one way to do it".

What are your experiences and preferences?

4 comments

  1. [2]
    IncreaseTheDosage
    Link
    I've only used Flask so far and I really like it. It's pretty simple and I like the concept of adding extensions only when you need them (as opposed to the "batteries included" approach). Has...

    I've only used Flask so far and I really like it. It's pretty simple and I like the concept of adding extensions only when you need them (as opposed to the "batteries included" approach). Has anyone tried Quart?

    3 votes
    1. danjac
      Link Parent
      Quart looks interesting - I wonder how well an async-based framework works out of the box with libraries such as SQLAlchemy (or lower-level libraries like database drivers).

      Quart looks interesting - I wonder how well an async-based framework works out of the box with libraries such as SQLAlchemy (or lower-level libraries like database drivers).

      1 vote
  2. dodger
    (edited )
    Link
    Flask + zappa = infinitely scalable apis (and i guess frontends too)! Tho i've been moving toward graphql via appsync lately since its so cheap and easy to setup with cognito and dynamodb. Edit:...

    Flask + zappa = infinitely scalable apis (and i guess frontends too)! Tho i've been moving toward graphql via appsync lately since its so cheap and easy to setup with cognito and dynamodb.

    Edit: zappa also works with pyramid! (and django - but django is too opinionated imo)

    And you can use appsync as an interface to python lambdas. I'm starting to explore serverless framework with appsync as a interface to multiple backends, be them direct dynamodb resolvers or lambda "middleware" to other data sources.

    3 votes
  3. szferi
    Link
    Same here. Mostly Django. Recently for backend APIs flask especially on GAE.

    Same here. Mostly Django. Recently for backend APIs flask especially on GAE.

    2 votes