# app/modules/contracts/__init__.py """ Cross-module contracts using Protocol pattern. This module defines type-safe interfaces for cross-module communication. Modules depend on protocols rather than concrete implementations, enabling: - Loose coupling between modules - Testability through mock implementations - Clear dependency boundaries Usage: from app.modules.contracts.cms import ContentServiceProtocol class OrderService: def __init__(self, content: ContentServiceProtocol | None = None): self._content = content @property def content(self) -> ContentServiceProtocol: if self._content is None: from app.modules.cms.services import content_page_service self._content = content_page_service return self._content """ from app.modules.contracts.base import ServiceProtocol from app.modules.contracts.cms import ContentServiceProtocol __all__ = [ "ServiceProtocol", "ContentServiceProtocol", ]