fronntend / app.py
Muleex12's picture
Update app.py
f4c897e verified
Raw History Blame Contribute Delete
2.22 kB
import streamlit as st
import requests
# Title
st.title("SuperKart Sales Prediction")
# ---------------- INPUTS ---------------- #
Product_Weight = st.number_input("Product Weight", min_value=0.0, value=12.66)
Product_Sugar_Content = st.selectbox(
"Product Sugar Content",
["Low Sugar", "Regular", "No Sugar"]
)
Product_Allocated_Area = st.number_input("Allocated Area", min_value=0.0, value=100.0)
Product_MRP = st.number_input("Product MRP", min_value=0.0, value=150.0)
Store_Size = st.selectbox(
"Store Size",
["Small", "Medium", "High"]
)
Store_Location_City_Type = st.selectbox(
"City Type",
["Tier 1", "Tier 2", "Tier 3"]
)
# FIXED STORE TYPE (IMPORTANT)
Store_Type = st.selectbox(
"Store Type",
[
"Departmental Store",
"Food Mart",
"Supermarket Type1",
"Supermarket Type2"
]
)
Product_Id_char = st.text_input("Product ID", "FDX")
Store_Age_Years = st.number_input("Store Age (Years)", min_value=0, value=10)
Product_Type_Category = st.selectbox(
"Product Category",
["Food", "Drinks", "Household", "Others"]
)
# ---------------- DATA ---------------- #
product_data = {
"Product_Weight": Product_Weight,
"Product_Sugar_Content": Product_Sugar_Content,
"Product_Allocated_Area": Product_Allocated_Area,
"Product_MRP": Product_MRP,
"Store_Size": Store_Size,
"Store_Location_City_Type": Store_Location_City_Type,
"Store_Type": Store_Type,
"Product_Id_char": Product_Id_char,
"Store_Age_Years": Store_Age_Years,
"Product_Type_Category": Product_Type_Category
}
# ---------------- API CALL ---------------- #
# REPLACE THIS WITH YOUR BACKEND LINK
API_URL = "https://muleex12-bacckend.hf.space/predict"
if st.button("Predict", type="primary"):
try:
response = requests.post(API_URL, json=product_data)
if response.status_code == 200:
result = response.json()
if "Sales" in result:
st.success(f"Predicted Sales: {result['Sales']:.2f}")
else:
st.error(result)
else:
st.error(f"API Error: {response.status_code}")
except Exception as e:
st.error(f"Error: {str(e)}")