chore: remove unused imports across codebase

Removed unused imports from 36 files including:
- Unused stdlib imports (json, time, re, os, signal, etc.)
- Unused typing imports (List, Dict, Optional, Tuple, Sequence, etc.)
- Unused langchain imports (AIMessage, ChatOpenAI, etc.)
- Unused langgraph imports (END, StateGraph, START, ToolNode, etc.)
- Unused project imports (DataLoader, get_config, parse_date, etc.)

Preserved intentional re-exports in:
- tradingagents/agents/utils/agent_utils.py (re-exports tool functions)
- tradingagents/dataflows/alpha_vantage.py (re-exports submodule functions)
- All __init__.py files

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Joseph O'Brien 2025-12-03 04:44:37 -05:00
parent 1346e20b5e
commit 85992fc05b
36 changed files with 18 additions and 93 deletions

View File

@ -4,7 +4,6 @@ from functools import wraps
from typing import List from typing import List
import typer import typer
from rich.console import Console
from rich.panel import Panel from rich.panel import Panel
from rich.live import Live from rich.live import Live
from rich.align import Align from rich.align import Align

View File

@ -8,7 +8,7 @@ from rich.panel import Panel
from rich.table import Table from rich.table import Table
from rich import box from rich import box
from tradingagents.backtesting import SimpleBacktestEngine, DataLoader from tradingagents.backtesting import SimpleBacktestEngine
from tradingagents.models.backtest import BacktestConfig, BacktestStatus from tradingagents.models.backtest import BacktestConfig, BacktestStatus
from tradingagents.models.portfolio import PortfolioConfig from tradingagents.models.portfolio import PortfolioConfig

View File

@ -12,7 +12,6 @@ from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.dataflows.config import get_config from tradingagents.dataflows.config import get_config
from tradingagents.agents.discovery.models import ( from tradingagents.agents.discovery.models import (
DiscoveryRequest, DiscoveryRequest,
DiscoveryResult,
DiscoveryStatus, DiscoveryStatus,
TrendingStock, TrendingStock,
Sector, Sector,

View File

@ -1,4 +1,3 @@
from typing import Optional
import typer import typer
from dotenv import load_dotenv from dotenv import load_dotenv

View File

@ -1,6 +1,4 @@
from enum import Enum from enum import Enum
from typing import List, Optional, Dict
from pydantic import BaseModel
class AnalystType(str, Enum): class AnalystType(str, Enum):

View File

@ -1,6 +1,6 @@
import datetime import datetime
from collections import deque from collections import deque
from typing import Optional, Dict, Any, Deque from typing import Dict, Any, Deque
from cli.models import AgentStatus from cli.models import AgentStatus

View File

@ -1,5 +1,5 @@
import questionary import questionary
from typing import List, Optional, Tuple, Dict, Callable, Any from typing import List, Optional, Callable, Any
from contextlib import contextmanager from contextlib import contextmanager
from functools import wraps from functools import wraps
import threading import threading

View File

@ -1,8 +1,5 @@
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
import time from tradingagents.agents.utils.agent_utils import get_fundamentals, get_balance_sheet, get_cashflow, get_income_statement
import json
from tradingagents.agents.utils.agent_utils import get_fundamentals, get_balance_sheet, get_cashflow, get_income_statement, get_insider_sentiment, get_insider_transactions
from tradingagents.dataflows.config import get_config
def create_fundamentals_analyst(llm): def create_fundamentals_analyst(llm):

View File

@ -1,8 +1,5 @@
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
import time
import json
from tradingagents.agents.utils.agent_utils import get_stock_data, get_indicators from tradingagents.agents.utils.agent_utils import get_stock_data, get_indicators
from tradingagents.dataflows.config import get_config
def create_market_analyst(llm): def create_market_analyst(llm):

View File

@ -1,8 +1,5 @@
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
import time
import json
from tradingagents.agents.utils.agent_utils import get_news, get_global_news from tradingagents.agents.utils.agent_utils import get_news, get_global_news
from tradingagents.dataflows.config import get_config
def create_news_analyst(llm): def create_news_analyst(llm):

View File

@ -1,8 +1,5 @@
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
import time
import json
from tradingagents.agents.utils.agent_utils import get_news from tradingagents.agents.utils.agent_utils import get_news
from tradingagents.dataflows.config import get_config
def create_social_media_analyst(llm): def create_social_media_analyst(llm):

View File

@ -1,5 +1,4 @@
import json import json
from datetime import datetime
from pathlib import Path from pathlib import Path
from typing import Optional from typing import Optional

View File

@ -1,7 +1,7 @@
import math import math
from collections import defaultdict from collections import defaultdict
from datetime import datetime from datetime import datetime
from typing import List, Dict, Optional from typing import List, Dict
from tradingagents.agents.discovery.models import ( from tradingagents.agents.discovery.models import (
TrendingStock, TrendingStock,

View File

@ -1,7 +1,3 @@
import time
import json
def create_research_manager(llm, memory): def create_research_manager(llm, memory):
def research_manager_node(state) -> dict: def research_manager_node(state) -> dict:
history = state["investment_debate_state"].get("history", "") history = state["investment_debate_state"].get("history", "")

View File

@ -1,7 +1,3 @@
import time
import json
def create_risk_manager(llm, memory): def create_risk_manager(llm, memory):
def risk_manager_node(state) -> dict: def risk_manager_node(state) -> dict:

View File

@ -1,8 +1,3 @@
from langchain_core.messages import AIMessage
import time
import json
def create_bear_researcher(llm, memory): def create_bear_researcher(llm, memory):
def bear_node(state) -> dict: def bear_node(state) -> dict:
investment_debate_state = state["investment_debate_state"] investment_debate_state = state["investment_debate_state"]

View File

@ -1,8 +1,3 @@
from langchain_core.messages import AIMessage
import time
import json
def create_bull_researcher(llm, memory): def create_bull_researcher(llm, memory):
def bull_node(state) -> dict: def bull_node(state) -> dict:
investment_debate_state = state["investment_debate_state"] investment_debate_state = state["investment_debate_state"]

View File

@ -1,7 +1,3 @@
import time
import json
def create_risky_debator(llm): def create_risky_debator(llm):
def risky_node(state) -> dict: def risky_node(state) -> dict:
risk_debate_state = state["risk_debate_state"] risk_debate_state = state["risk_debate_state"]

View File

@ -1,8 +1,3 @@
from langchain_core.messages import AIMessage
import time
import json
def create_safe_debator(llm): def create_safe_debator(llm):
def safe_node(state) -> dict: def safe_node(state) -> dict:
risk_debate_state = state["risk_debate_state"] risk_debate_state = state["risk_debate_state"]

View File

@ -1,7 +1,3 @@
import time
import json
def create_neutral_debator(llm): def create_neutral_debator(llm):
def neutral_node(state) -> dict: def neutral_node(state) -> dict:
risk_debate_state = state["risk_debate_state"] risk_debate_state = state["risk_debate_state"]

View File

@ -1,6 +1,4 @@
import functools import functools
import time
import json
def create_trader(llm, memory): def create_trader(llm, memory):

View File

@ -1,10 +1,6 @@
from typing import Annotated, Sequence from typing import Annotated
from datetime import date, timedelta, datetime from typing_extensions import TypedDict
from typing_extensions import TypedDict, Optional from langgraph.graph import MessagesState
from langchain_openai import ChatOpenAI
from tradingagents.agents import *
from langgraph.prebuilt import ToolNode
from langgraph.graph import END, StateGraph, START, MessagesState
class InvestDebateState(TypedDict): class InvestDebateState(TypedDict):

View File

@ -1,5 +1,4 @@
import logging import logging
import re
from datetime import date, datetime from datetime import date, datetime
from decimal import Decimal from decimal import Decimal
from typing import Optional, Dict, Any from typing import Optional, Dict, Any
@ -12,10 +11,8 @@ from tradingagents.models.decisions import (
AnalystReport, AnalystReport,
AnalystType, AnalystType,
) )
from tradingagents.models.portfolio import PortfolioSnapshot
from .engine import BacktestEngine from .engine import BacktestEngine
from .data_loader import DataLoader
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@ -2,7 +2,6 @@ import logging
from datetime import date, datetime, timedelta from datetime import date, datetime, timedelta
from decimal import Decimal from decimal import Decimal
from typing import Optional, Callable from typing import Optional, Callable
from uuid import uuid4
from tradingagents.models.backtest import ( from tradingagents.models.backtest import (
BacktestConfig, BacktestConfig,

View File

@ -1,5 +1,5 @@
from typing import Dict, Optional from typing import Dict, Optional
from tradingagents.config import get_settings, update_settings, TradingAgentsSettings from tradingagents.config import get_settings, update_settings
_config: Optional[Dict] = None _config: Optional[Dict] = None
DATA_DIR: Optional[str] = None DATA_DIR: Optional[str] = None

View File

@ -1,5 +1,4 @@
import logging import logging
import json
import requests import requests
from bs4 import BeautifulSoup from bs4 import BeautifulSoup
from datetime import datetime from datetime import datetime
@ -9,7 +8,6 @@ from tenacity import (
retry, retry,
stop_after_attempt, stop_after_attempt,
wait_exponential, wait_exponential,
retry_if_exception_type,
retry_if_result, retry_if_result,
) )

View File

@ -1,6 +1,6 @@
import logging import logging
from typing import Annotated, List, Dict, Any, Optional from typing import List, Dict, Any, Optional
from datetime import datetime, timedelta from datetime import datetime
import threading import threading
from .local import get_YFin_data, get_finnhub_news, get_finnhub_company_insider_sentiment, get_finnhub_company_insider_transactions, get_simfin_balance_sheet, get_simfin_cashflow, get_simfin_income_statements, get_reddit_global_news, get_reddit_company_news from .local import get_YFin_data, get_finnhub_news, get_finnhub_company_insider_sentiment, get_finnhub_company_insider_transactions, get_simfin_balance_sheet, get_simfin_cashflow, get_simfin_income_statements, get_reddit_global_news, get_reddit_company_news

View File

@ -1,8 +1,5 @@
import requests
import time
import json import json
from datetime import datetime, timedelta from datetime import datetime
from contextlib import contextmanager
from typing import Annotated from typing import Annotated
import os import os
import re import re

View File

@ -1,7 +1,7 @@
import logging import logging
import os import os
import time import time
from datetime import datetime, timedelta from datetime import datetime
from typing import List, Dict, Any from typing import List, Dict, Any
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@ -1,6 +1,4 @@
import logging import logging
import os
import json
import pandas as pd import pandas as pd
from datetime import date, timedelta, datetime from datetime import date, timedelta, datetime
from typing import Annotated from typing import Annotated

View File

@ -3,7 +3,6 @@ from typing import Annotated
from datetime import datetime from datetime import datetime
from dateutil.relativedelta import relativedelta from dateutil.relativedelta import relativedelta
import yfinance as yf import yfinance as yf
import os
from .stockstats_utils import StockstatsUtils from .stockstats_utils import StockstatsUtils
from tradingagents.validation import validate_ticker, validate_date_range, validate_date from tradingagents.validation import validate_ticker, validate_date_range, validate_date

View File

@ -5,7 +5,7 @@ from pandas import DataFrame
import pandas as pd import pandas as pd
from functools import wraps from functools import wraps
from .utils import save_output, SavePathType, decorate_all_methods from .utils import SavePathType, decorate_all_methods
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@ -2,7 +2,6 @@
from typing import Dict, Any from typing import Dict, Any
from tradingagents.agents.utils.agent_states import ( from tradingagents.agents.utils.agent_states import (
AgentState,
InvestDebateState, InvestDebateState,
RiskDebateState, RiskDebateState,
) )

View File

@ -1,6 +1,6 @@
# TradingAgents/graph/setup.py # TradingAgents/graph/setup.py
from typing import Dict, Any from typing import Dict
from langchain_openai import ChatOpenAI from langchain_openai import ChatOpenAI
from langgraph.graph import END, StateGraph, START from langgraph.graph import END, StateGraph, START
from langgraph.prebuilt import ToolNode from langgraph.prebuilt import ToolNode

View File

@ -1,11 +1,10 @@
import logging import logging
import os import os
import signal
import threading import threading
from pathlib import Path from pathlib import Path
import json import json
from datetime import date, datetime from datetime import date, datetime
from typing import Dict, Any, Tuple, List, Optional from typing import Dict, Any, Tuple, Optional
from langchain_openai import ChatOpenAI from langchain_openai import ChatOpenAI
from langchain_anthropic import ChatAnthropic from langchain_anthropic import ChatAnthropic
@ -13,14 +12,8 @@ from langchain_google_genai import ChatGoogleGenerativeAI
from langgraph.prebuilt import ToolNode from langgraph.prebuilt import ToolNode
from tradingagents.agents import *
from tradingagents.dataflows.config import get_config from tradingagents.dataflows.config import get_config
from tradingagents.agents.utils.memory import FinancialSituationMemory from tradingagents.agents.utils.memory import FinancialSituationMemory
from tradingagents.agents.utils.agent_states import (
AgentState,
InvestDebateState,
RiskDebateState,
)
from tradingagents.dataflows.config import set_config from tradingagents.dataflows.config import set_config
from tradingagents.agents.utils.agent_utils import ( from tradingagents.agents.utils.agent_utils import (
@ -48,7 +41,7 @@ from tradingagents.agents.discovery import (
calculate_trending_scores, calculate_trending_scores,
) )
from tradingagents.dataflows.interface import get_bulk_news from tradingagents.dataflows.interface import get_bulk_news
from tradingagents.validation import validate_ticker, validate_date, parse_date from tradingagents.validation import validate_ticker, validate_date
from .conditional_logic import ConditionalLogic from .conditional_logic import ConditionalLogic
from .setup import GraphSetup from .setup import GraphSetup

View File

@ -1,4 +1,4 @@
from datetime import date, datetime, timedelta from datetime import date, datetime
from decimal import Decimal from decimal import Decimal
from enum import Enum from enum import Enum
from typing import Optional from typing import Optional