Hacker News new | past | comments | ask | show | jobs | submit login

I am surprised no one has mentioned Pyramid and SQLAlchemy yet. SQLAlchemy is by far the most complete ORM/Query-Builder I have used (yes, I have tried out Rails, Django and Hibernate).

Also Pyramid's traversal routing is awesome to build REST-applications and ACL authorization.

What ever stack you decide on, I recommend to stay away from too much magic as it complicates debugging and understanding the framework completely (Hibernate, Laravel). If a framework needs to dynamically generate proxy classes, either the framework has a bad approach or the language is not the right choice for the approach.




I've made good experiences with that combination as well, and it is very noticeable that Pyramid was truly designed with extensibility in mind (just look at e.g. using different or multiple template engines or using a different ORM). Pyramid also largely avoids magic (unlike Django and Flask, though Django likes magic a lot more) and global state (in a clean way, not Flask's put-everything-in-a-function way).


Yeah, Pyramid poweres PyPI itself - it is one of best thought out frameworks in Python land.

It builds on years of prior experiences and it shows in how mature and pleasant it is, they didn't have great marketing but the project deserves more recognition from community.


Lots of folks love sqlalchemy. I just don't get it. I only have to use it infrequently, but when I do, I spend very little time crafting my SQL and a much longer time translating it to sqlalchemy's query builder. Even a join is a PITA.


Have you tried out SQLAlchemy Core without the ORM?

Regarding the joins:

j=t_user.join(t_address, t_user.c.id==t_address.c.user_id)

select([...], from_obj=j)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: