diff --git a/cli/aitbc_cli/commands/advanced_analytics.py b/cli/aitbc_cli/commands/advanced_analytics.py index 9e8d8fd9..abad5fb1 100755 --- a/cli/aitbc_cli/commands/advanced_analytics.py +++ b/cli/aitbc_cli/commands/advanced_analytics.py @@ -9,13 +9,9 @@ import asyncio import json from typing import Optional, List, Dict, Any from datetime import datetime, timedelta +from aitbc_cli.imports import ensure_coordinator_api_imports -# Ensure coordinator-api src is on path for app.services imports -import os -import sys -_src_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', 'apps', 'coordinator-api', 'src')) -if _src_path not in sys.path: - sys.path.insert(0, _src_path) +ensure_coordinator_api_imports() try: from app.services.advanced_analytics import ( diff --git a/cli/aitbc_cli/commands/ai_surveillance.py b/cli/aitbc_cli/commands/ai_surveillance.py index 6dbc1b8a..853641ed 100755 --- a/cli/aitbc_cli/commands/ai_surveillance.py +++ b/cli/aitbc_cli/commands/ai_surveillance.py @@ -9,13 +9,9 @@ import asyncio import json from typing import Optional, List, Dict, Any from datetime import datetime +from aitbc_cli.imports import ensure_coordinator_api_imports -# Ensure coordinator-api src is on path for app.services imports -import os -import sys -_src_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', 'apps', 'coordinator-api', 'src')) -if _src_path not in sys.path: - sys.path.insert(0, _src_path) +ensure_coordinator_api_imports() try: from app.services.ai_surveillance import ( diff --git a/cli/aitbc_cli/commands/ai_trading.py b/cli/aitbc_cli/commands/ai_trading.py index 65979357..aed10b30 100755 --- a/cli/aitbc_cli/commands/ai_trading.py +++ b/cli/aitbc_cli/commands/ai_trading.py @@ -9,13 +9,9 @@ import asyncio import json from typing import Optional, List, Dict, Any from datetime import datetime, timedelta +from aitbc_cli.imports import ensure_coordinator_api_imports -# Ensure coordinator-api src is on path for app.services imports -import os -import sys -_src_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', 'apps', 'coordinator-api', 'src')) -if _src_path not in sys.path: - sys.path.insert(0, _src_path) +ensure_coordinator_api_imports() try: from app.services.ai_trading_engine import ( diff --git a/cli/aitbc_cli/commands/enterprise_integration.py b/cli/aitbc_cli/commands/enterprise_integration.py index f68f3c6f..1e17a7b4 100755 --- a/cli/aitbc_cli/commands/enterprise_integration.py +++ b/cli/aitbc_cli/commands/enterprise_integration.py @@ -9,13 +9,9 @@ import asyncio import json from typing import Optional, List, Dict, Any from datetime import datetime +from aitbc_cli.imports import ensure_coordinator_api_imports -# Ensure coordinator-api src is on path for app.services imports -import os -import sys -_src_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', 'apps', 'coordinator-api', 'src')) -if _src_path not in sys.path: - sys.path.insert(0, _src_path) +ensure_coordinator_api_imports() try: from app.services.enterprise_integration import ( diff --git a/cli/aitbc_cli/commands/regulatory.py b/cli/aitbc_cli/commands/regulatory.py index 9c520af8..223f54c2 100755 --- a/cli/aitbc_cli/commands/regulatory.py +++ b/cli/aitbc_cli/commands/regulatory.py @@ -9,13 +9,9 @@ import asyncio import json from typing import Optional, List, Dict, Any from datetime import datetime, timedelta +from aitbc_cli.imports import ensure_coordinator_api_imports -# Ensure coordinator-api src is on path for app.services imports -import os -import sys -_src_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', 'apps', 'coordinator-api', 'src')) -if _src_path not in sys.path: - sys.path.insert(0, _src_path) +ensure_coordinator_api_imports() try: from app.services.regulatory_reporting import ( diff --git a/cli/aitbc_cli/commands/surveillance.py b/cli/aitbc_cli/commands/surveillance.py index 496709d0..8817a3a6 100755 --- a/cli/aitbc_cli/commands/surveillance.py +++ b/cli/aitbc_cli/commands/surveillance.py @@ -9,13 +9,9 @@ import asyncio import json from typing import Optional, List, Dict, Any from datetime import datetime, timedelta +from aitbc_cli.imports import ensure_coordinator_api_imports -# Ensure coordinator-api src is on path for app.services imports -import os -import sys -_src_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', 'apps', 'coordinator-api', 'src')) -if _src_path not in sys.path: - sys.path.insert(0, _src_path) +ensure_coordinator_api_imports() try: from app.services.trading_surveillance import ( diff --git a/cli/aitbc_cli/imports.py b/cli/aitbc_cli/imports.py new file mode 100644 index 00000000..2cad5d20 --- /dev/null +++ b/cli/aitbc_cli/imports.py @@ -0,0 +1,10 @@ +"""Import setup for AITBC CLI to access coordinator-api services.""" + +import sys +from pathlib import Path + +def ensure_coordinator_api_imports(): + """Ensure coordinator-api src directory is on sys.path.""" + _src_path = Path(__file__).resolve().parent.parent.parent / 'apps' / 'coordinator-api' / 'src' + if str(_src_path) not in sys.path: + sys.path.insert(0, str(_src_path))