# app.py from flask import Flask, request, jsonify from flask_cors import CORS import joblib import numpy as np app = Flask(__name__) CORS(app) # enable Cross-Origin for frontend # Load the trained model model = joblib.load('crop_predictor1.pkl') @app.route('/') def home(): return "Crop Predictor API is running" @app.route('/predict', methods=['POST']) def predict(): data = request.get_json() try: # Extract input features N = float(data['N']) P = float(data['P']) K = float(data['K']) temperature = float(data['temperature']) humidity = float(data['humidity']) rainfall=float(data['rainfall']) ph=float(data['ph']) # Predict features = np.array([[N, P, K, temperature, humidity,rainfall,ph]]) prediction = model.predict(features) return jsonify({'predicted_crop': prediction[0]}) except Exception as e: return jsonify({'error': str(e)}), 400 if __name__ == '__main__': app.run(debug=True)