i had this file on my desktop for a while and thought it was time to move it from there, and for some reason it came to my mind that its worth publishing the result of our search.
i’m too lazy to linkify everything here, but every second word is a link to some open-source
project.
components for our new python web framework:
big things to look at:
———————-
* Pylons - currently leading (uses mako, sqlalchemy, routes)
* Django
* TurboGears
* CherryPy - framework including webrick-like-environment, url-mapper, sessions, caching…
Object Relational Mapper:
————————-
* SQLObject - looks beautiful at start
working with objects and result-sets looks fun
hides SQL from you
creates tables for you
creates Many-to-many relationship tables for you, hides them from you
constructing queries is a bit clumsy
if u want to use GROUP-BY u need to use SQLBuilder
* looks like they put more effort into beauty rather than usability, specifically
in creating queries and dealing with non-tabli’sh result-sets
* SQLAlchemy - looks annoying to begin with
table creation is separate from table class definition, so we get duality (solved with
Elixir)
they still create the tables for u
constructing queries is awkward, but i guess they are all like this
one-to-many looks nice, still funny query syntax but no sql and u get nice objects
it looks like for making complex queries (joins, from(select), etc) will require reading
the docs all the time
Templating Engine:
——————
* Mighty (used by Amazon, delicious) (ported from Mason in perl)
* Mako (V), Genshi, Jinja, Kid, Cheetah (V), Buffet?
URL-Mapper (nice urls, command mapper, parameter validator, etc):
—————————————————————–
* Routes (from Pylons perhaps?) - looks nice, want to see how it actually calls my objects once it maps stuff.
things to remember:
——————-
* how do we connect to web-servers ? try to keep it open, allow something like webrick
for easy testing
* cookies, http-errors, sending back headers, etc