TradingAgents/tradingagents/domain/model.py

35 lines
828 B
Python

from dataclasses import dataclass
from enum import Enum
from typing import Optional
import time
class AnalysisStatus(str, Enum):
PENDING = "pending"
RUNNING = "running"
DONE = "done"
FAILED = "failed"
@dataclass
class AnalysisMeta:
job_id: str
user_id: str
symbol: str
status: AnalysisStatus
trade_date: str # "trade_date": final_state["trade_date"],
updated_at: float
created_at: float = time.time()
@staticmethod
def new(job_id: str, user_id: str, symbol: str, trade_date: str) -> "AnalysisMeta":
return AnalysisMeta(
job_id=job_id,
user_id=user_id,
symbol=symbol,
status=AnalysisStatus.PENDING,
trade_date=trade_date,
updated_at=time.time(),
created_at=time.time(),
)