from __future__ import annotations import sys from types import ModuleType from .application import accounts_write_services as _accounts_write_services from .application import asset_account_services as _asset_account_services from .application import budgets_write_services as _budgets_write_services from .application import category_rules_write_services as _category_rules_write_services from .application import categorization_services as _categorization_services from .application import import_transfer_services as _import_transfer_services from .application import shared as _shared from .application import system_services as _system_services from .application import transactions_write_services as _transactions_write_services from .application import transaction_report_services as _transaction_report_services from .application.asset_account_services import * from .application.categorization_services import * from .application.import_transfer_services import * from .application.shared import * from .application.system_services import * from .application.transaction_report_services import * # Keep compatibility for tests/monkeypatches that reach into service internals. _current_kst_datetime = _shared._current_kst_datetime _PROXY_MODULES = ( _shared, _accounts_write_services, _system_services, _asset_account_services, _budgets_write_services, _category_rules_write_services, _transaction_report_services, _import_transfer_services, _categorization_services, _transactions_write_services, ) class _ServiceModule(ModuleType): def __setattr__(self, name: str, value) -> None: super().__setattr__(name, value) for module in _PROXY_MODULES: if hasattr(module, name): setattr(module, name, value) sys.modules[__name__].__class__ = _ServiceModule