Spaces:
Sleeping
Sleeping
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=["*"], | |
) | |
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"]} |