- 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."
Massimo has boiled down the essence of what a web app needs to do (MVC, REST), and has delivered it in a clean, simple package, which is just what I would expect from a Computer Science professor.
The new Google appengine Bigtable datastore makes any SQL-based ORMs moot now anyway, so all we really need to worry about are the business logic and presentation, both of which web2py excels at.
Yes, you can still use Textmate if you want, but the cool thing about web2py is you never need to leave the browser IDE. Also, the framework itself is so compact you can carry everything around in a few megs of a USB thumb drive, so now you have a truly portable cross-platform package you can use to develop wherever you are!
So just get involved, and let's lead the way into the cloud... I see a huge need for that kind of leadership over at the appengine; this is a chance to make a real difference and shape the future, folks.
If you want a good Python framework that doesn't unduly dictate your app structure, go to Pylons.
"web2py is the only framework that participated to the www.flourishconf.com rumble (develop a web app in 24 hours) and won because all the other frameworks chickened out."
http://spyced.blogspot.com/2008/04/m-half-baked-thoughts-on-...
You can say that his ORM solution is crappy, or doesn't work well, but you can't dissmiss something just b/c it is not one of the old packages. While I may not want to use his framework for anything mission critical, it seem to be a good choice for a small and app or for quick prototype development.
His main points in his framework is simplicity and ease of starting.
If his ORM were better than SQLAlchemy, it would be more widely used. Since it is not widely used, I see no need to look into it before dismissing it.