Cómo servir una aplicación de Flask / FastAPI en Google Colab
Google Colab es una plataforma en línea que permite ejecutar código de Python en la nube de forma gratuita. Con ella, es posible utilizar bibliotecas populares de ciencia de datos y aprendizaje automático como Flask y FastAPI para crear aplicaciones web.
Flask
Flask es un marco web ligero de Python que facilita la creación de aplicaciones web. Para servir una aplicación de Flask en Google Colab, primero necesitamos instalar Flask en nuestro entorno de trabajo. Esto se puede hacer ejecutando el siguiente comando en una celda de código:
!pip install Flask
Luego, podemos crear un archivo Python que contenga nuestra aplicación de Flask. Por ejemplo, podemos tener un archivo llamado “app.py” con el siguiente código:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hola, mundo!'
if __name__ == '__main__':
app.run()
Finalmente, para ejecutar nuestra aplicación de Flask en Google Colab, simplemente necesitamos ejecutar el archivo “app.py” en una celda de código:
!python app.py
FastAPI
FastAPI es un marco web de Python rápido (rápido de procesar solicitudes) que se basa en estándares modernos de la industria como OpenAPI y Pydantic. Para servir una aplicación de FastAPI en Google Colab, seguimos un proceso similar al de Flask.
Primero, instalamos FastAPI y Uvicorn, un servidor ASGI (Asynchronous Server Gateway Interface), con los siguientes comandos:
!pip install fastapi
!pip install uvicorn
Luego, creamos un archivo Python con nuestra aplicación de FastAPI. Por ejemplo, podemos tener un archivo llamado “app_fastapi.py” con el siguiente código:
from fastapi import FastAPI
app = FastAPI()
@app.get('/')
async def read_root():
return {'message': 'Hola, mundo!'}
Para ejecutar nuestra aplicación de FastAPI en Google Colab, utilizamos Uvicorn para iniciar el servidor en una celda de código:
!uvicorn app_fastapi:app --reload
¡Listo! Ahora puedes comenzar a servir tu aplicación de Flask o FastAPI en Google Colab y experimentar con el desarrollo web en la nube de forma gratuita. ¡Buena suerte!