¿Cuál es un buen marco de Python para construir una API RESTful?

API-only no es una buena definición en mi opinión, pero si quieres usar un micro-framework para hacer API REST, puedes verlo en Flask, Falcon and Bottle. Todos estos marcos se basan en el mismo concepto de desarrollo. Puede cambiar fácilmente entre estos tres marcos.

En PayPlug Labs usamos Flask and Bottle para nuestros proyectos REST-API.
La mejor característica de un micro-framework para API es simplificar la comunicación HTTP sin obstruirla ni ocultarla. De esta manera creo que la botella es la mejor. La botella es pequeña y está bien codificada. Cuando no sabe cómo hacer algo, si no lo encuentra en la documentación en menos de 5 minutos, puede abrir el archivo de botella y leerlo. Cuando tiene un error en su aplicación y cree que el culpable es la botella, puede leer el código. Es un beneficio muy importante para un buen equipo de desarrolladores. Puede comprender todo el marco cuando lo necesite.

Nuestros requisitos son:

  • legibilidad del código en la aplicación / controlador (decorador vs clase)
  • tamaño del código del marco (menos código, menos errores, menos tiempo para depurar)
  • documentación y tamaño de la comunidad marco
  • velocidad del marco (referencia pública y nuestra referencia personal)

Pero si necesita administrar muchos activos (javascript, archivos css, …) también necesitará herramientas de administración de activos. En este caso, puede usar Flask que tiene una buena implementación de webasset o puede implementar webasset directamente en su aplicación. En PayPlug Labs utilizamos dos casos y no hay ningún problema con cada implementación.

No probé el halcón en el entorno de producción porque era muy joven cuando elegí un marco para nuestra API, pero ahora, si necesita elegir un buen marco de API, le aconsejo que haga dos POC: uno con botella y otro con Falcon.

lista de enlaces de marcos:

  • Botella: Botella: Python Web Framework
  • Falcon: el marco minimalista de Python WSGI
  • Frasco: Frasco (un microframe de Python)

flask-restful es un marco basado en Flask creado por Twilio para facilitar la creación de API RESTful usando Python. Puede leer los documentos aquí: Flask-RESTful – Flask-RESTful 0.1.0 documentación

Recientemente, Rackspace (compañía) lanzó Falcon, que describen como “un marco de Python de alto rendimiento para construir API en la nube, un experimento científico loco que reconsidera lo que puede hacer un marco WSGI”. Puede obtener más información al respecto (y ver los impresionantes puntos de referencia de rendimiento) en http://falconframework.org/ y obtener el código en https://github.com/racker/falcon

El marco de aplicaciones web de Google App Engine le permite:

  • Cree manejadores de solicitudes RESTful a través de expresiones regulares.
  • Devuelve respuestas JSON y XML.
  • Configure fácilmente las pruebas unitarias a través de GAEunit o NoseGAE (basado en unittest).
  • Mantente ligero: no hay mucho equipaje extra en comparación con otros frameworks web de Python.

Además, el uso de Google App Engine debería permitir que su API se escale correctamente a medida que más y más desarrolladores comienzan a alcanzar sus límites de velocidad

Más: http://code.google.com/appengine