Team Ai
Apppublic

FriendlyUser/hs_fast_api

sourceHugging Faceopenrailupdated 4y agoView on Hugging Face
0likes
main.py53 linesDownload Raw Back to root
1from fastapi import FastAPI2import pandas as pd3import os4from deta import Deta5from fastapi.responses import StreamingResponse, FileResponse6from io import BytesIO7 8from fastapi.middleware.cors import CORSMiddleware9 10app = FastAPI()11 12# load deta using 13project_key = os.getenv("DETA_DRIVE_KEY")14deta = Deta(project_key)15drive = deta.Drive("stonk_events")16 17app.add_middleware(18    CORSMiddleware,19    allow_origins=["*"],20    allow_credentials=True,21    allow_methods=["*"],22    allow_headers=["*"],23)24 25@app.get("/files")26async def get_files(exchange: str = "US"):27    """28    """29 30    # get files in deta31    result = drive.list()32    all_files = result.get("names")33    paging = result.get("paging")34    last = paging.get("last") if paging else None35 36    while (last):37        # provide last from previous call38        result = drive.list(last=last)39 40        all_files += result.get("names")41        # update last42        paging = result.get("paging")43        last = paging.get("last") if paging else None44    return all_files45 46 47# get file by name from deta /file/{id}48# reason it was likely failing is because of the response size limit49@app.get("/file/{id}")50async def get_file(id: str):51    res = drive.get(id)52    return StreamingResponse(res.iter_chunks(1024), media_type="application/pdf")53