Se acuerdan de Sinatra? no el cantante! Sinatra el framework web de ruby; básicamente la idea es poder hacer una pagina web con muy poco esfuerzo. Es como un DSL para realizar paginas web; para que puede servir esto? para hacer prototipos o tambien puede ser muy practico para colgar servicios rest con json y consumirlo con javascript. La idea de sinatra se extrapolo a otros frameworks, tecnologias y lenguajes; como por ejemplo Bottle que es el sinatra para Python.
Bottle es un micro framework rápido, sencillo y ligero para Python. Se distribuye como un módulo y esta formado por un único archivo y no tiene dependencias distintas de la biblioteca estándar de Python.
Veamos un ejemplo de un hola mundo con bottle:
from bottle import route, run, template
@route('/hello/<name>')
def index(name='World'):
return template('<b>Hello {{name}}</b>!', name=name)
run(host='localhost', port=8080)
Y listo tenemos una pagina!
Como podemos ver en ejemplo por medio de @route indicamos la url y le decimos que nos van a pasar el nombre por la url, es decir usamos url restfull. Luego retornamos la pagina web. Podemos formar json y devolver json para hacer una API Rest o podemos utilizar template para hacer paginas webs. Genial!
Y si enviamos un mensaje con este framework va a ser...
Dejo link:
http://bottlepy.org
http://bottlepy.org/docs/dev/index.html