tradai-common¶
Shared utilities, base classes, and AWS integrations for the TradAI platform.
Features¶
- SOLID Design: Repository pattern, dependency inversion, single responsibility
- Security Hardened: No hardcoded credentials, thread-safe, input validation
- Pydantic Entities: Immutable, validated domain models
- AWS Integrations: Secrets Manager, S3 utilities (all externalized configuration)
- Base Classes: BaseService, Settings, LoggerMixin for service development
Installation¶
Usage¶
from tradai.common import BaseService, Settings, ValidationError
from tradai.common.entities import Strategy, S3Path
from tradai.common.aws import get_secret
# Parse S3 paths
s3_path = S3Path.parse("s3://bucket/path/to/file")
print(f"{s3_path.bucket}/{s3_path.key}")
# Get secrets from AWS Secrets Manager
secret = get_secret(os.environ["SECRET_NAME"])
# Create validated entities
strategy = Strategy(
name="PascalStrategy",
version="1.0.0",
ecr_url="123.dkr.ecr.region.amazonaws.com/strategy:latest"
)
Architecture¶
See DESIGN.md for complete architecture documentation.