Ansh91 commited on
Commit
acd5ff6
Β·
1 Parent(s): e4d1a36

πŸš€ Fix: Ensure backend starts and runs Flask app

Browse files
Files changed (1) hide show
  1. app.py +7 -11
app.py CHANGED
@@ -1,8 +1,9 @@
 
 
1
  from flask import Flask, request, jsonify
2
  import pandas as pd
3
  import numpy as np
4
  import joblib
5
- import os
6
  import traceback
7
 
8
  app = Flask(__name__)
@@ -13,7 +14,7 @@ try:
13
  model = joblib.load(MODEL_PATH)
14
  print("βœ… Model loaded successfully.")
15
  except Exception as e:
16
- print("❌ Failed to load model from:", MODEL_PATH)
17
  traceback.print_exc()
18
 
19
  @app.route("/", methods=["GET"])
@@ -28,18 +29,13 @@ def predict_single():
28
 
29
  df["Store_Age"] = 2025 - df["Store_Establishment_Year"]
30
  df["Price_per_kg"] = df["Product_MRP"] / df["Product_Weight"]
31
- df["MRP_Band"] = pd.cut(df["Product_MRP"], bins=[0, 100, 200, float("inf")], labels=["Low", "Mid", "High"])
 
 
32
 
33
  pred_log = model.predict(df)[0]
34
  pred = np.expm1(pred_log)
35
- return jsonify({"Predicted_Sales": round(float(pred), 2)}), 200
36
 
37
  except Exception as e:
38
  return jsonify({"error": str(e)}), 500
39
- # === Entrypoint for Docker / HF Space ===
40
- if __name__ == "__main__":
41
- port = int(os.environ.get("PORT", 7860))
42
- app.run(host="0.0.0.0", port=port)
43
-
44
- print("πŸš€ Flask app has started on port", port)
45
-
 
1
+ # Superkart Sales Forecasting Flask API
2
+
3
  from flask import Flask, request, jsonify
4
  import pandas as pd
5
  import numpy as np
6
  import joblib
 
7
  import traceback
8
 
9
  app = Flask(__name__)
 
14
  model = joblib.load(MODEL_PATH)
15
  print("βœ… Model loaded successfully.")
16
  except Exception as e:
17
+ print("❌ Model load error:", e)
18
  traceback.print_exc()
19
 
20
  @app.route("/", methods=["GET"])
 
29
 
30
  df["Store_Age"] = 2025 - df["Store_Establishment_Year"]
31
  df["Price_per_kg"] = df["Product_MRP"] / df["Product_Weight"]
32
+ df["MRP_Band"] = pd.cut(
33
+ df["Product_MRP"], bins=[0, 100, 200, float("inf")], labels=["Low", "Mid", "High"]
34
+ )
35
 
36
  pred_log = model.predict(df)[0]
37
  pred = np.expm1(pred_log)
38
+ return jsonify({"Predicted_Sales": round(float(pred), 2)})
39
 
40
  except Exception as e:
41
  return jsonify({"error": str(e)}), 500