I know this is going to seem a little like all the other python vs ruby question out there, but I'm not looking specifically to pick one over the other all the time. My question is, essentially, why would you use one language over the other when you are starting a new project? What features does ruby have that python doesn't that would make you decide on it for a given project? What about python over ruby?
I was just recently thinking about the differentiation between the two languages because of Jamis Buck's "There is no magic, only awesome" series of articles (4 parts, available here) when I realized I really don't know enough about the two languages to know when to choose one over the other.
I'm hoping to get objective answers from people who have experience with both languages, rather than just "python is better, ruby sucks" kind of responses. If you know of a feature in one language that doesn't exist in the other and is great in a certain situation, feel free to chime in and say why you think it's awesome. If you have another language comparable to these that you'd like to suggest pros/cons for, like groovy for example, that would be appreciated too.
Some thing I know each language has going for it:
Ruby:
Awesome metaprogramming
Great community
Wide selection of Gems
Rails
Great code readability, usually
MacRuby is great for native development on Mac without objc
Amazing testing tools (cucumber, rspec, shoulda, autotest, etc.)
Python:
Whitespace indentation
List comprehensions
Better functional programming support?
Lots of support on linux
Easy_install isn't far from gems
Great variety of libraries available