Skip to content

Instantly share code, notes, and snippets.

@johnidm
Created October 25, 2023 12:48
Show Gist options
  • Save johnidm/633b99b3011c7b8ad13a22ce94ca2738 to your computer and use it in GitHub Desktop.
Save johnidm/633b99b3011c7b8ad13a22ce94ca2738 to your computer and use it in GitHub Desktop.
Run FastAPI in Google Colab
!pip install fastapi pyngrok uvicorn nest-asyncio -q
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from pydantic import BaseModel
from loguru import logger



app = FastAPI()

app.add_middleware(
    CORSMiddleware,
    allow_origins=['*'],
    allow_credentials=True,
    allow_methods=['*'],
    allow_headers=['*'],
)

class RequestIn(BaseModel):
    text: str

@app.get('/')
async def get():
    return {"ok": True}
    
@app.post("/")
def index(request: RequestIn):
    return {"ok": True}
import nest_asyncio
from pyngrok import ngrok
import uvicorn

ngrok_tunnel = ngrok.connect(8000)
print('Public URL:', ngrok_tunnel.public_url)

nest_asyncio.apply()

uvicorn.run(app, port=8000)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment