Arafath10's picture
Update main.py
4d7c0ac verified
raw
history blame
No virus
1.42 kB
from fastapi import FastAPI, File, UploadFile, HTTPException
from fastapi.responses import HTMLResponse
from fastapi.responses import StreamingResponse
from fastapi.responses import FileResponse
from fastapi.middleware.cors import CORSMiddleware
from io import StringIO
import os
import uuid,requests
import data_collector as dc
import pandas as pd
app = FastAPI()
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
@app.post("/get_product_count_prediction")
async def get_product_count_prediction(b_id:int,product_name:str):
# main
data,message = dc.get_data(b_id = b_id , product_name = product_name)
if message=="done":
# Summarize the sales count per month
data['transaction_date'] = pd.to_datetime(data['transaction_date'])
data.set_index('transaction_date', inplace=True)
monthly_sales = data['sell_qty'].resample('M').sum().reset_index()
full_trend,forecasted_value,rounded_value = dc.forecast(monthly_sales)
print(full_trend,forecasted_value,rounded_value)
rounded_value.columns = ["next_month", "y", "predicted_count"]
# Convert to dictionary
result_dict = rounded_value.to_dict(orient="records")[0]
return {"next_month":str(result_dict["next_month"]) , "predicted_count":result_dict["predicted_count"]}