experimentalBB / main.py
tschm's picture
Create main.py
cae2e25 verified
raw
history blame
1.18 kB
import json
from pathlib import Path
import pandas as pd
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from fastapi.responses import JSONResponse
app = FastAPI()
origins = [
"https://pro.openbb.dev",
"https://pro.openbb.co",
"https://excel.openbb.co",
"https://excel.openbb.dev",
]
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
ROOT_PATH = Path(__file__).parent.resolve()
@app.get("/")
def read_root():
return {"Info": "Full example for OpenBB Custom Backend"}
@app.get("/csv-data")
def csv_data():
"""Read mock csv data and return it as a table to your widget"""
# Specify the path to your CSV file
csv_file_path = "mock_data.csv"
try:
# Convert the DataFrame to a dictionary and return the data
return pd.read_csv((ROOT_PATH / csv_file_path).open()).to_dict(orient="records")
except Exception as e:
# Handle error cases here
error_message = f"Error reading the CSV file: {str(e)}"
return JSONResponse(content={"error": error_message}, status_code=500)