crop / app.py
NEEHARA's picture
yes
dcad247 verified
# 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)