- Django's caching supports ram, disk, database, and memcache as well. - Migrations are supported in Django via the 3rd party django_evolution to name one of a few. - Django trunk also has simplejson included. - For documentation there are the online docs, the djangobook.com website, three published books as of today, and at least a few other books coming out in the next few months. My point just being that there is more then just one book.
I couldn't easily find your email so here is a list instead. These books are out right now:
The Definitive Guide to Django: Web Development Done Right: http://www.amazon.com/Definitive-Guide-Django-Development-Ri...
Sams Teach Yourself Django in 24 Hours: http://www.amazon.com/Sams-Teach-Yourself-Django-Hours/dp/06...
Professional Python Frameworks: Web 2.0 Programming with Django and Turbogears: http://www.amazon.com/Professional-Python-Frameworks-Program...
Here are two coming out later in the year:
Practical Django Projects (June or July 2008): http://www.amazon.com/Practical-Django-Projects-Pratical/dp/...
Python Web Development with Django (Sep 2008): http://www.amazon.com/Python-Development-Django-Developers-L...
We already have a full stack web framework with an insane amount of documentation - Django, and I would bet my money on its continued evolution and 1.0 release. If anyone is on the fence, look at the web2py/gluon source code and ask if that's the sort of full stack you see being maintained by a community.
I personally don't like Django that much as it might be an overkill, and I kinda liked web.py, but the documentation is so poor and it misses a lot of features from a proper framework. Maybe web2py is the middle ground, and I will give it a look.
Dissmissing something, b/c its source codestyle is not pythonic enough for you, is a pretty shallow argument.
Edit: full disclosure: I've written code far worse than this (in some ways). I just don't publicly release it and encourage language newbies to build on it.
I won't focus on the rest, the reader can judge. Though, I think PEP8 is usually a good start, no matter what the code does.
Let me add that in life is the new things that give you an edge, not those things that everybody knows.
This is probably a new site record for the unconvincing use of that phrase.
When you see this amount of unjustified duplication and defensive rationalization (including off-site remarks from the developer that building an ORM is easy), warning sirens should go off in your head.
I did go through some of the source code, but it's not my job to provide detailed code review. I can say that the packaging is strange, it doesn't resemble Python, and I've seen better versions of everything bundled in web2py. I'm not sure the integration and "ease" of install is worth being stuck to this framework.
Yes, developing the ORM was very very easy compared to, for example, developing www.fermiqcd.net (BTW we should be friends since I see you are in data representation and me too these days mdp.cti.depaul.edu/vqcd).
I will agree with you that for some of the web2py components there is a better module out there, the point you are missing is that the web2py modules are designed to work together while the alternatives are not. You will not appreciate this until you try it. Here is an example: Pygments is a much better general purpose syntax highlighter than the web2py's one, nevertheless web2py's one can highlight web2py code, create clickable links from web2py keywords to the web2py online documentation, is faster and fits in 10k. If you need to syntax highlight Java or PHP code you can still easy_install and use Pygments. Although you can, the web2py modules are not designed to be taken out and used separately.
Examining the documentation I found the unsatisfying answer: "web2py is better because it is faster, it is easier to use, and it is stable and always backward compatible."