# app/modules/prospecting/__init__.py """ Prospecting Module - Lead discovery, scoring, and campaign management. This is a self-contained module providing: - Domain scanning and website analysis for Luxembourg businesses - Offline lead capture (street encounters, networking) - Opportunity scoring algorithm - Marketing campaign management tailored by lead type - Interaction tracking and follow-up reminders Module Structure: - models/ - Database models (prospects, tech profiles, scores, campaigns, etc.) - services/ - Business logic (enrichment, scoring, lead filtering, campaigns) - schemas/ - Pydantic DTOs - routes/ - API and page routes (admin only) - tasks/ - Celery background tasks for batch scanning - exceptions.py - Module-specific exceptions """ def __getattr__(name: str): """Lazy import module components to avoid circular imports.""" if name == "prospecting_module": from app.modules.prospecting.definition import prospecting_module return prospecting_module if name == "get_prospecting_module_with_routers": from app.modules.prospecting.definition import ( get_prospecting_module_with_routers, ) return get_prospecting_module_with_routers raise AttributeError(f"module {__name__!r} has no attribute {name!r}") __all__ = ["prospecting_module", "get_prospecting_module_with_routers"]