from flask import Flask, request, jsonify import joblib import pandas as pd # Load the serialized model try: model = joblib.load("superkart_sales_forecast.pkl") except FileNotFoundError: raise Exception("❌ Model file 'superkart_sales_forecast.pkl' not found!") # Initialize Flask app app = Flask('superkart-sales-api') # Health check @app.route("/", methods=["GET"]) def home(): return "✅ SuperKart Sales Forecasting API is live!" # Prediction endpoint @app.route("/predict", methods=["POST"]) def predict(): try: # Expecting input in JSON: { "feature1": val1, "feature2": val2, ... } input_data = request.get_json() # Convert dict to DataFrame with one row df = pd.DataFrame([input_data]) # Predict prediction = model.predict(df) # Return prediction return jsonify({"predicted_sales": float(prediction[0])}) except Exception as e: return jsonify({"error": str(e)}), 400 if __name__ == "__main__": app.run(host="0.0.0.0", port=7860)