Spaces:
Sleeping
Sleeping
File size: 1,783 Bytes
ab66d4e 85fd14e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# main.py
from flask import Flask, jsonify, request
from flask_cors import CORS
import os
import sys
from dotenv import load_dotenv
load_dotenv()
# Add the 'routers' and 'utils' directories to the Python path
# This allows direct imports like 'from routers.preprocess_routes import preprocess_bp'
script_dir = os.path.dirname(__file__)
sys.path.insert(0, os.path.join(script_dir, 'routers'))
sys.path.insert(0, os.path.join(script_dir, 'utils'))
# Import Blueprints
from routers.preprocess_routes import preprocess_bp
from routers.discover_routes import discover_bp
from routers.intervene_routes import intervene_bp
from routers.treatment_routes import treatment_bp
from routers.visualize_routes import visualize_bp
from routers.prediction_routes import prediction_bp
from routers.timeseries_routes import timeseries_bp
from routers.chatbot_routes import chatbot_bp
app = Flask(__name__)
CORS(app) # Enable CORS for frontend interaction
# Register Blueprints
app.register_blueprint(preprocess_bp, url_prefix='/preprocess')
app.register_blueprint(discover_bp, url_prefix='/discover')
app.register_blueprint(intervene_bp, url_prefix='/intervene')
app.register_blueprint(treatment_bp, url_prefix='/treatment')
app.register_blueprint(visualize_bp, url_prefix='/visualize')
app.register_blueprint(prediction_bp, url_prefix='/prediction')
app.register_blueprint(timeseries_bp, url_prefix='/timeseries')
app.register_blueprint(chatbot_bp, url_prefix='/chatbot')
@app.route('/')
def home():
return "Welcome to CausalBox Backend API!"
if __name__ == '__main__':
# Ensure the 'data' directory exists for storing datasets
os.makedirs('data', exist_ok=True)
# Run the Flask app
app.run(debug=True, host='0.0.0.0', port=5000) |