Spaces:
Sleeping
Sleeping
| import os | |
| from flask import Flask, jsonify, request | |
| from core.config import EvolutionConfig | |
| # Silence HF noise | |
| os.environ["HF_HUB_DISABLE_PROGRESS_BARS"] = "1" | |
| os.environ["HF_HUB_DISABLE_TELEMETRY"] = "1" | |
| from applications.pure_predictor.main import run as run_pure_predictor | |
| from applications.molecule_generator.main import run as run_molecule_generator | |
| app = Flask(__name__) | |
| def home(): | |
| return { | |
| "status": "ok", | |
| "message": "Biofuel Optimiser HF Space is running", | |
| "endpoints": ["/pure", "/generate"] | |
| } | |
| def pure_predict(): | |
| smiles = request.args.get("smiles", "CCC") | |
| config = { | |
| "mode": "1", | |
| "smiles": smiles, | |
| } | |
| result = run_pure_predictor(config) | |
| return jsonify(result) | |
| def generate(): | |
| target_cn = float(request.args.get("target_cn", 55)) | |
| generations = int(request.args.get("generations", 1)) | |
| population_size = int(request.args.get("population_size", 50)) | |
| config = EvolutionConfig( | |
| target_cn=target_cn, | |
| generations=generations, | |
| population_size=population_size, | |
| minimize_ysi=True, | |
| maximize_cn=False, | |
| ) | |
| final_df, pareto_df = run_molecule_generator(config) | |
| return { | |
| "final_population": final_df.to_dict(orient="records"), | |
| "pareto_front": pareto_df.to_dict(orient="records"), | |
| } | |
| if __name__ == "__main__": | |
| # HF Spaces expects port 7860 | |
| app.run(host="0.0.0.0", port=7860) | |