JupyterApi / main.py
Corran's picture
Update main.py
07ed8fc verified
raw
history blame contribute delete
833 Bytes
from fastapi import FastAPI, Response
import papermill as pm
import io
app = FastAPI()
@app.get("/")
def run_notebook(fruits: str):
fruit_list = fruits.split(",")
with open("/tmp/input.txt", "w") as f:
f.write("\n".join(fruit_list))
# Execute the notebook with Papermill
pm.execute_notebook(
"fruitchecker.ipynb",
output_path="/tmp/nulloutput.ipynb", #The notebook output isnt used, but a path is still required
parameters={"fruits": fruit_list}
)
output_path = "/tmp/output.csv"
# Extract the CSV result
with open(output_path, "r") as f:
csv_output = f.read()
# Return as downloadable CSV
return Response(content=csv_output, media_type="text/csv",
headers={"Content-Disposition": "attachment; filename=fruits.csv"})