Fix: add aiohttp to minimal deps, lazy-load OnboardingManager

This commit is contained in:
ajaysi
2026-04-06 07:24:37 +05:30
parent 6cf5d0396d
commit 429689bdcb
2 changed files with 50 additions and 18 deletions

View File

@@ -3,6 +3,11 @@ ALwrity Utilities Package
Modular utilities for ALwrity backend startup and configuration. 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 .dependency_manager import DependencyManager
from .environment_setup import EnvironmentSetup from .environment_setup import EnvironmentSetup
from .database_setup import DatabaseSetup from .database_setup import DatabaseSetup
@@ -11,7 +16,6 @@ from .health_checker import HealthChecker
from .rate_limiter import RateLimiter from .rate_limiter import RateLimiter
from .frontend_serving import FrontendServing from .frontend_serving import FrontendServing
from .router_manager import RouterManager from .router_manager import RouterManager
from .onboarding_manager import OnboardingManager
from .feature_runtime import ( from .feature_runtime import (
get_active_profiles, get_active_profiles,
get_enabled_groups, get_enabled_groups,
@@ -21,20 +25,42 @@ from .feature_runtime import (
is_enabled, is_enabled,
) )
__all__ = [ # Lazy load OnboardingManager - it triggers heavy imports (aiohttp, etc.)
'DependencyManager', if not _is_podcast:
'EnvironmentSetup', from .onboarding_manager import OnboardingManager
'DatabaseSetup', __all__ = [
'ProductionOptimizer', 'DependencyManager',
'HealthChecker', 'EnvironmentSetup',
'RateLimiter', 'DatabaseSetup',
'FrontendServing', 'ProductionOptimizer',
'RouterManager', 'HealthChecker',
'OnboardingManager', 'RateLimiter',
'get_active_profiles', 'FrontendServing',
'get_enabled_groups', 'RouterManager',
'get_enabled_optional_services', 'OnboardingManager',
'get_enabled_routers', 'get_active_profiles',
'get_enabled_startup_hooks', 'get_enabled_groups',
'is_enabled' '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'
]

View File

@@ -28,6 +28,7 @@ fastapi-clerk-auth>=0.0.7
sqlalchemy>=2.0.25 sqlalchemy>=2.0.25
stripe>=8.0.0 stripe>=8.0.0
httpx>=0.27.2,<0.28.0 httpx>=0.27.2,<0.28.0
aiohttp>=3.9.0
openai>=1.3.0 openai>=1.3.0
google-genai>=1.0.0 google-genai>=1.0.0
gtts>=2.4.0 gtts>=2.4.0
@@ -45,6 +46,11 @@ pytest-asyncio>=0.21.0
apscheduler>=3.10.0 apscheduler>=3.10.0
redis>=5.0.0 redis>=5.0.0
schedule>=1.2.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 EOF
python -m pip install --retries 10 --timeout 120 -r requirements_min.txt python -m pip install --retries 10 --timeout 120 -r requirements_min.txt
else else