Some checks failed
CLI Tests / test-cli (push) Failing after 7s
Deploy to Testnet / deploy-testnet (push) Successful in 1m17s
Security Scanning / security-scan (push) Successful in 38s
Multi-Node Stress Testing / stress-test (push) Successful in 2s
Cross-Node Transaction Testing / transaction-test (push) Successful in 2s
Renamed cli/config/ directory to cli/config_data/ to prevent package shadowing of cli/aitbc_cli/config.py module. Removed problematic sys.modules manipulation in aitbc_cli/__init__.py that was causing circular import issues. Now 'from aitbc_cli.config import CLIConfig' works correctly.
31 lines
936 B
Python
31 lines
936 B
Python
"""AITBC CLI package compatibility surface."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from importlib import import_module
|
|
import sys
|
|
|
|
__version__ = "0.1.0"
|
|
__author__ = "AITBC Team"
|
|
__email__ = "team@aitbc.net"
|
|
|
|
# Provide compatibility aliases for source-tree imports used by modular commands.
|
|
if "aitbc_cli.core" not in sys.modules:
|
|
sys.modules["aitbc_cli.core"] = import_module("core")
|
|
if "aitbc_cli.models" not in sys.modules:
|
|
sys.modules["aitbc_cli.models"] = import_module("models")
|
|
# Note: aitbc_cli.config is imported normally to avoid circular import issues
|
|
|
|
__all__ = ["cli", "main"]
|
|
|
|
|
|
def __getattr__(name: str):
|
|
"""Lazily expose the modular CLI entrypoints."""
|
|
if name not in __all__:
|
|
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
|
|
|
module = import_module("cli.core.main")
|
|
value = module.cli if name == "cli" else module.main
|
|
globals()[name] = value
|
|
return value
|