Spaces:
Sleeping
Sleeping
| # 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') | |
| 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) |