I am also confident that SQLAlchemy is the best ORM out there (though I'd like to try LINQ). The documentation has been improving rapidly, you should give the .5 branch a try.
I agree that it needs to be improved, but that's largely because the product is so powerful and complex, writing sufficient documentation is a herculean effort in and of itself.
Re: Java is Dead; Long Live Python
by dazzawazza on Wednesday December 10, 2008 @11:50AM
(#393125)
thanks, I agree with you on all your points. I just assumed all ORMs were like that :)
I eventually got to the stage where I had a product built on top of it, working, but I still didn't feel like I knew the framework fluently. I've never been in that position before. Frustating, because it means if I do more work on that codebase I'll either have to struggle through again or else throw it away and write on top of something else.
ORM is supposed to be good for nailing the right schema and then abstracting it away without a performance hit. That's what I get with Cayenne. I found the opposite with sqlalchemy - it's more difficult than it would have been for me to have just written the queries inline, or rolled my own simple ORM. I think it's because it's just too thick - unusual for a python framework - usually they're the opposite.
It's been a year since I looked at it so I'm a bit vague above, but I gave it a go for over two years on and off.