From 429689bdcb3ee81af0f00081f00ab468eed19979 Mon Sep 17 00:00:00 2001 From: ajaysi Date: Mon, 6 Apr 2026 07:24:37 +0530 Subject: [PATCH] Fix: add aiohttp to minimal deps, lazy-load OnboardingManager --- backend/alwrity_utils/__init__.py | 62 ++++++++++++++++++++++--------- backend/render-build.sh | 6 +++ 2 files changed, 50 insertions(+), 18 deletions(-) diff --git a/backend/alwrity_utils/__init__.py b/backend/alwrity_utils/__init__.py index 1ad146a9..2b46d0a8 100644 --- a/backend/alwrity_utils/__init__.py +++ b/backend/alwrity_utils/__init__.py @@ -3,6 +3,11 @@ ALwrity Utilities Package Modular utilities for ALwrity backend startup and configuration. """ +import os + +# Check podcast mode early to skip heavy imports +_is_podcast = os.getenv("ALWRITY_ENABLED_FEATURES", "").strip().lower() == "podcast" + from .dependency_manager import DependencyManager from .environment_setup import EnvironmentSetup from .database_setup import DatabaseSetup @@ -11,7 +16,6 @@ from .health_checker import HealthChecker from .rate_limiter import RateLimiter from .frontend_serving import FrontendServing from .router_manager import RouterManager -from .onboarding_manager import OnboardingManager from .feature_runtime import ( get_active_profiles, get_enabled_groups, @@ -21,20 +25,42 @@ from .feature_runtime import ( is_enabled, ) -__all__ = [ - 'DependencyManager', - 'EnvironmentSetup', - 'DatabaseSetup', - 'ProductionOptimizer', - 'HealthChecker', - 'RateLimiter', - 'FrontendServing', - 'RouterManager', - 'OnboardingManager', - 'get_active_profiles', - 'get_enabled_groups', - 'get_enabled_optional_services', - 'get_enabled_routers', - 'get_enabled_startup_hooks', - 'is_enabled' -] +# Lazy load OnboardingManager - it triggers heavy imports (aiohttp, etc.) +if not _is_podcast: + from .onboarding_manager import OnboardingManager + __all__ = [ + 'DependencyManager', + 'EnvironmentSetup', + 'DatabaseSetup', + 'ProductionOptimizer', + 'HealthChecker', + 'RateLimiter', + 'FrontendServing', + 'RouterManager', + 'OnboardingManager', + 'get_active_profiles', + 'get_enabled_groups', + 'get_enabled_optional_services', + 'get_enabled_routers', + 'get_enabled_startup_hooks', + 'is_enabled' + ] +else: + OnboardingManager = None + __all__ = [ + 'DependencyManager', + 'EnvironmentSetup', + 'DatabaseSetup', + 'ProductionOptimizer', + 'HealthChecker', + 'RateLimiter', + 'FrontendServing', + 'RouterManager', + 'OnboardingManager', + 'get_active_profiles', + 'get_enabled_groups', + 'get_enabled_optional_services', + 'get_enabled_routers', + 'get_enabled_startup_hooks', + 'is_enabled' + ] diff --git a/backend/render-build.sh b/backend/render-build.sh index 5ba99017..9a455817 100644 --- a/backend/render-build.sh +++ b/backend/render-build.sh @@ -28,6 +28,7 @@ fastapi-clerk-auth>=0.0.7 sqlalchemy>=2.0.25 stripe>=8.0.0 httpx>=0.27.2,<0.28.0 +aiohttp>=3.9.0 openai>=1.3.0 google-genai>=1.0.0 gtts>=2.4.0 @@ -45,6 +46,11 @@ pytest-asyncio>=0.21.0 apscheduler>=3.10.0 redis>=5.0.0 schedule>=1.2.0 +aiofiles>=23.2.0 +requests>=2.31.0 +beautifulsoup4>=4.12.0 +lxml>=4.9.0 +psutil>=5.9.0 EOF python -m pip install --retries 10 --timeout 120 -r requirements_min.txt else