First, I don't intend this to be a flame war, please. Python and Ruby are the only two languages I'd willingly work in (at least amongst common languages), and TurboGears and Rails seem roughly equivalent.
I'm much more knowledgable about Python, but that's a minor issue--I've been intending to learn more Ruby anyway. Here are the pros and cons that I'm aware of and consider important: Turbogears: + SqlObject allows working with the DB tables without using SQL itself. + Likely to be faster because as far as I'm aware, Python is significantly faster. + Easy access to other libraries (such as the Python Imaging Library) that Ruby, being a relatively newer language, doesn't have equivalents to. + Built-in default SQLite makes it easier to set up? (as far as I can tell, Ruby requires MySql by default--don't know how easy this is to change.) + I find the templating system somewhat cleaner; code in py: xml namespace allows pure .html templates, instead of equivalent of .rhtml files. Ruby: + More mature system. More stable? More features? + Much better documented. This is a biggie. + Built-in Rubydoc system would make documenting the system easier. (IMHO, developers almost always underestimate the need for good documentation that is written along withe the system.) Is there a Python doc system that has received Guido's blessing yet? D'oxygen would seem an obvious choice. + Better coordination with Javascript helper code? I was initially leaning towards Rails due to maturity, but the most recent version of TurboGears seem to have fixed a lot of the "ad hoc" feeling I got from previous versions. But I'm still very much up in the air. Thanks, Ken P.S. If I wanted to provide an image by streaming the file data directly over the connection, rather than by referring to an image file, how would I do that? I'd like to build code that would allow images to be assembled into a single-file photo album (zip or bsddb file), and so can't refer to them as individual image files. -- http://mail.python.org/mailman/listinfo/python-list