Marcos
OK, así que estoy un poco parcial aquí, ya que actualmente hacen un amplio uso de Django y organizar el grupo de usuarios de Django en Londres, así que ten esto en cuenta al leer la siguiente.
Comience con Django porque es una gran droga de entrada. Gran cantidad de documentación y literatura, una comunidad muy activa de personas con quienes hablar y muchos códigos de ejemplo en la web.
Esa es una razón completamente no técnica. Pilones es probablemente más puro en términos de la filosofía de Python (que es mucho más una colección de partes y piezas discretas), pero muchas de las cosas técnicas son preferencias personales, al menos hasta que entres en Python más. Sin embargo, comparo la etiqueta de Django muy activa en Stack Overflow con la de pilones o turbogears y yo diría que comenzar con Django es más fácil independientemente de cualquier cosa que tenga que ver con el código.
Personalmente prefiero Django, pero creo que cada vez hay más tiempo en el que realmente opto por escribir usando microarmas más simples (piense en Sinatra en lugar de en Rails). Un montón de cosas para elegir (buena lista aquí, http://fewagainstmany.com/blog/python-micro-frameworks-are-all-the-rage).Tiendo a usar MNML (porque escribí partes de él y es pequeño) pero otros se desarrollan activamente. Tiendo a hacer esto para servicios web pequeños y estúpidos que luego se combinan con un proyecto de Django en el medio sirviendo a las personas.
Digno de mención aquí es appengine. Tienes que trabajar dentro de sus limitaciones y no está diseñado para todo, pero es una gran manera de jugar con Python y obtener algo y trabajar rápidamente. Es un gran banco de pruebas para el aprendizaje y la experimentación.
Mongo/ORM
En el frente MongoDB es probable que desea buscar en la biblioteca de Python mongo básica (http://api.mongodb.org/python/) primero para ver si tiene todo lo necesario. Si realmente quieres algo un poco más ORM, entonces mongoengine (http://hmarr.com/mongoengine/) podría ser lo que estás buscando. Un grupo de personas también están trabajando para que Django se integre específicamente de manera más transparente con los backends nosql. Algo de eso es para futuros lanzamientos de Django, pero django-norel (http://www.allbuttonspressed.com/projects/django-nonrel) tiene código ahora.
Para datos relacionales SQLAlchemy (http://www.sqlalchemy.org/) es bueno si quieres algo independiente. El ORM de Django también es excelente si estás usando Django.
API
La biblioteca más oficial Oauth es python-OAuth2 (http://github.com/simplegeo/python-oauth2), que convenientemente tiene un ejemplo de Django como parte de su documentación.
Piston (http://bitbucket.org/jespern/django-piston/wiki/Home) es una aplicación de Django que proporciona muchas herramientas para crear API. Tiene la ventaja de ser bastante activo y bien mantenido y en producción en todo el lugar. También existen otros proyectos, incluido Dagny (http://zacharyvoase.github.com/dagny/), que es un intento inicial de crear algo similar a los recursos RESTful en Rails.
En realidad, cualquier marco de Python (o incluso solo el código bruto de WSGI) debería ser razonablemente bueno para este tipo de tarea.
Prueba
Python tiene unittest como parte de su biblioteca estándar, y es unittest2 en Python 2.7 (pero portado a versiones anteriores también http://pypi.python.org/pypi/unittest2/0.1.4). Algunas personas también les gusta Nariz (http://code.google.com/p/python-nose/), que es un corredor de prueba alternativo con algunas características adicionales. Twill (http://twill.idyll.org/) también es agradable, es un "lenguaje de scripting simple para la navegación web", tan útil para algunas pruebas funcionales. Freshen (http://github.com/rlisagor/freshen) es un puerto de pepino para Python. Todavía no me he acostumbrado a usar esto con enojo, pero una mirada rápida ahora sugiere que es mucho mejor que la última vez que lo busqué.
De hecho, también uso Ruby para las pruebas de alto nivel de las aplicaciones de Python y apis porque me encanta la combinación de celeridad y pepino. Pero soy raro y obtengo miradas divertidas de otras personas de Python por esto.
colas de mensajes
Para una cola de mensajes, independientemente del idioma que estoy usando, ahora siempre uso RabbitMQ. He tenido cierto éxito con stompserver en el pasado, pero Rabbit es increíble. No se preocupe, no está escrito en Python, ni PostgresSQL, Nginx o MongoDB, todo por una buena razón. Lo que te importa son las bibliotecas disponibles. Lo que está buscando aquí es py-amqplib (http://barryp.org/software/py-amqplib/) que es una biblioteca de bajo nivel para hablar amqp (el protocolo para hablar con conejos y otras colas de mensajes).También he usado Zanahoria (http://github.com/ask/carrot/), que es más fácil de empezar y proporciona una API más agradable. Piensa en un conejito en Ruby si estás familiarizado con eso.
Medio Ambiente
Lo que los retazos que decida utilizar desde el ecosistema Python Recomiendo coger a quien PIP y virtualenv (http://clemesha.org/blog/2009/jul/05/modern-python-hacker-tools-virtualenv-fabric-pip/ - en cuenta que la tela es también fresco, pero no es esencial y estos documentos son desactualizado en esa herramienta). Piensa en usar Ruby sin gema, bundler o rvm y estarás en la dirección correcta.
voy a mencionar [buildout] (http://buildout.org) como una alternativa a virtualenv. IMO resuelve el mismo problema y te da más. Pasé un par de meses indeciso, pero al final, 'bin/buildout' me dio mis bibliotecas aisladas, mi elección de interp, y un sistema de compilación que es reubicable e implementable. – chiggsy
Recomiendo mucho Flask como un marco de desarrollo web. Echale un vistazo. –