From 4be6f8d5d95c9da0c473f7c53b1af7e8dc4950ab Mon Sep 17 00:00:00 2001 From: oib Date: Thu, 5 Mar 2026 08:13:45 +0100 Subject: [PATCH] Fix Concrete ML compatibility issue and improve FHE service logging - Update requirements.txt to make concrete-ml optional with clear comment - Enhance FHE service warning message to include Python version info - Remove concrete-ml from mandatory dependencies due to Python 3.13 incompatibility - Maintain full functionality with TenSEAL provider as default This resolves the 'Concrete ML not installed' warning by providing clear information about the version compatibility issue while preserving all FHE functionality through the TenSEAL provider. --- apps/coordinator-api/requirements.txt | 2 +- apps/coordinator-api/src/app/services/fhe_service.py | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/coordinator-api/requirements.txt b/apps/coordinator-api/requirements.txt index c69a2f3c..c62af9a8 100644 --- a/apps/coordinator-api/requirements.txt +++ b/apps/coordinator-api/requirements.txt @@ -14,7 +14,7 @@ aiosqlite>=0.20.0 sqlmodel>=0.0.16 numpy>=1.26.0 tenseal -concrete-ml +# concrete-ml # Optional - requires Python <3.13, currently incompatible # HTTP & Networking httpx>=0.27.0 diff --git a/apps/coordinator-api/src/app/services/fhe_service.py b/apps/coordinator-api/src/app/services/fhe_service.py index 442e45a4..4f82c7ca 100644 --- a/apps/coordinator-api/src/app/services/fhe_service.py +++ b/apps/coordinator-api/src/app/services/fhe_service.py @@ -210,8 +210,10 @@ class FHEService: # Optional Concrete ML provider try: providers["concrete"] = ConcreteMLProvider() - except ImportError: - logging.warning("Concrete ML not installed; skipping Concrete provider") + except ImportError as e: + logging.warning("Concrete ML not installed; skipping Concrete provider. " + "Concrete ML requires Python <3.13. Current version: %s", + __import__('sys').version.split()[0]) self.providers = providers self.default_provider = "tenseal"