From 85992fc05b090a6ee0f721dd94e5e74d20f3c752 Mon Sep 17 00:00:00 2001 From: Joseph O'Brien <98370624+89jobrien@users.noreply.github.com> Date: Wed, 3 Dec 2025 04:44:37 -0500 Subject: [PATCH] chore: remove unused imports across codebase MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- cli/analysis.py | 1 - cli/backtest_cmd.py | 2 +- cli/discovery.py | 1 - cli/main.py | 1 - cli/models.py | 2 -- cli/state.py | 2 +- cli/utils.py | 2 +- tradingagents/agents/analysts/fundamentals_analyst.py | 5 +---- tradingagents/agents/analysts/market_analyst.py | 3 --- tradingagents/agents/analysts/news_analyst.py | 3 --- tradingagents/agents/analysts/social_media_analyst.py | 3 --- tradingagents/agents/discovery/persistence.py | 1 - tradingagents/agents/discovery/scorer.py | 2 +- tradingagents/agents/managers/research_manager.py | 4 ---- tradingagents/agents/managers/risk_manager.py | 4 ---- tradingagents/agents/researchers/bear_researcher.py | 5 ----- tradingagents/agents/researchers/bull_researcher.py | 5 ----- tradingagents/agents/risk_mgmt/aggressive_debator.py | 4 ---- .../agents/risk_mgmt/conservative_debator.py | 5 ----- tradingagents/agents/risk_mgmt/neutral_debator.py | 4 ---- tradingagents/agents/trader/trader.py | 2 -- tradingagents/agents/utils/agent_states.py | 10 +++------- tradingagents/backtesting/agent_integration.py | 3 --- tradingagents/backtesting/engine.py | 1 - tradingagents/dataflows/config.py | 2 +- tradingagents/dataflows/googlenews_utils.py | 2 -- tradingagents/dataflows/interface.py | 4 ++-- tradingagents/dataflows/reddit_utils.py | 5 +---- tradingagents/dataflows/tavily.py | 2 +- tradingagents/dataflows/utils.py | 2 -- tradingagents/dataflows/y_finance.py | 1 - tradingagents/dataflows/yfin_utils.py | 2 +- tradingagents/graph/propagation.py | 1 - tradingagents/graph/setup.py | 2 +- tradingagents/graph/trading_graph.py | 11 ++--------- tradingagents/models/backtest.py | 2 +- 36 files changed, 18 insertions(+), 93 deletions(-) diff --git a/cli/analysis.py b/cli/analysis.py index bd59e1fb..0d013677 100644 --- a/cli/analysis.py +++ b/cli/analysis.py @@ -4,7 +4,6 @@ from functools import wraps from typing import List import typer -from rich.console import Console from rich.panel import Panel from rich.live import Live from rich.align import Align diff --git a/cli/backtest_cmd.py b/cli/backtest_cmd.py index 0aa5a124..409d9728 100644 --- a/cli/backtest_cmd.py +++ b/cli/backtest_cmd.py @@ -8,7 +8,7 @@ from rich.panel import Panel from rich.table import Table 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.portfolio import PortfolioConfig diff --git a/cli/discovery.py b/cli/discovery.py index 6bc0356a..f7d1fb35 100644 --- a/cli/discovery.py +++ b/cli/discovery.py @@ -12,7 +12,6 @@ from tradingagents.graph.trading_graph import TradingAgentsGraph from tradingagents.dataflows.config import get_config from tradingagents.agents.discovery.models import ( DiscoveryRequest, - DiscoveryResult, DiscoveryStatus, TrendingStock, Sector, diff --git a/cli/main.py b/cli/main.py index 04a5f4e9..7c725562 100644 --- a/cli/main.py +++ b/cli/main.py @@ -1,4 +1,3 @@ -from typing import Optional import typer from dotenv import load_dotenv diff --git a/cli/models.py b/cli/models.py index fc5b28c1..8bc65569 100644 --- a/cli/models.py +++ b/cli/models.py @@ -1,6 +1,4 @@ from enum import Enum -from typing import List, Optional, Dict -from pydantic import BaseModel class AnalystType(str, Enum): diff --git a/cli/state.py b/cli/state.py index b032712c..39cbb1c0 100644 --- a/cli/state.py +++ b/cli/state.py @@ -1,6 +1,6 @@ import datetime from collections import deque -from typing import Optional, Dict, Any, Deque +from typing import Dict, Any, Deque from cli.models import AgentStatus diff --git a/cli/utils.py b/cli/utils.py index b837ca8d..391d60fe 100644 --- a/cli/utils.py +++ b/cli/utils.py @@ -1,5 +1,5 @@ import questionary -from typing import List, Optional, Tuple, Dict, Callable, Any +from typing import List, Optional, Callable, Any from contextlib import contextmanager from functools import wraps import threading diff --git a/tradingagents/agents/analysts/fundamentals_analyst.py b/tradingagents/agents/analysts/fundamentals_analyst.py index e20139cb..815b44b7 100644 --- a/tradingagents/agents/analysts/fundamentals_analyst.py +++ b/tradingagents/agents/analysts/fundamentals_analyst.py @@ -1,8 +1,5 @@ from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder -import time -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 +from tradingagents.agents.utils.agent_utils import get_fundamentals, get_balance_sheet, get_cashflow, get_income_statement def create_fundamentals_analyst(llm): diff --git a/tradingagents/agents/analysts/market_analyst.py b/tradingagents/agents/analysts/market_analyst.py index c955dd76..25f31be6 100644 --- a/tradingagents/agents/analysts/market_analyst.py +++ b/tradingagents/agents/analysts/market_analyst.py @@ -1,8 +1,5 @@ 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.dataflows.config import get_config def create_market_analyst(llm): diff --git a/tradingagents/agents/analysts/news_analyst.py b/tradingagents/agents/analysts/news_analyst.py index 03b4fae4..9208c696 100644 --- a/tradingagents/agents/analysts/news_analyst.py +++ b/tradingagents/agents/analysts/news_analyst.py @@ -1,8 +1,5 @@ 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.dataflows.config import get_config def create_news_analyst(llm): diff --git a/tradingagents/agents/analysts/social_media_analyst.py b/tradingagents/agents/analysts/social_media_analyst.py index b25712d7..9d0b2dc9 100644 --- a/tradingagents/agents/analysts/social_media_analyst.py +++ b/tradingagents/agents/analysts/social_media_analyst.py @@ -1,8 +1,5 @@ from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder -import time -import json from tradingagents.agents.utils.agent_utils import get_news -from tradingagents.dataflows.config import get_config def create_social_media_analyst(llm): diff --git a/tradingagents/agents/discovery/persistence.py b/tradingagents/agents/discovery/persistence.py index 68f2bd03..f7bc0cc2 100644 --- a/tradingagents/agents/discovery/persistence.py +++ b/tradingagents/agents/discovery/persistence.py @@ -1,5 +1,4 @@ import json -from datetime import datetime from pathlib import Path from typing import Optional diff --git a/tradingagents/agents/discovery/scorer.py b/tradingagents/agents/discovery/scorer.py index 564bc717..65dea89f 100644 --- a/tradingagents/agents/discovery/scorer.py +++ b/tradingagents/agents/discovery/scorer.py @@ -1,7 +1,7 @@ import math from collections import defaultdict from datetime import datetime -from typing import List, Dict, Optional +from typing import List, Dict from tradingagents.agents.discovery.models import ( TrendingStock, diff --git a/tradingagents/agents/managers/research_manager.py b/tradingagents/agents/managers/research_manager.py index c537fa2f..25a6ef05 100644 --- a/tradingagents/agents/managers/research_manager.py +++ b/tradingagents/agents/managers/research_manager.py @@ -1,7 +1,3 @@ -import time -import json - - def create_research_manager(llm, memory): def research_manager_node(state) -> dict: history = state["investment_debate_state"].get("history", "") diff --git a/tradingagents/agents/managers/risk_manager.py b/tradingagents/agents/managers/risk_manager.py index fba763d6..3c4b0227 100644 --- a/tradingagents/agents/managers/risk_manager.py +++ b/tradingagents/agents/managers/risk_manager.py @@ -1,7 +1,3 @@ -import time -import json - - def create_risk_manager(llm, memory): def risk_manager_node(state) -> dict: diff --git a/tradingagents/agents/researchers/bear_researcher.py b/tradingagents/agents/researchers/bear_researcher.py index 6634490a..b7e21b05 100644 --- a/tradingagents/agents/researchers/bear_researcher.py +++ b/tradingagents/agents/researchers/bear_researcher.py @@ -1,8 +1,3 @@ -from langchain_core.messages import AIMessage -import time -import json - - def create_bear_researcher(llm, memory): def bear_node(state) -> dict: investment_debate_state = state["investment_debate_state"] diff --git a/tradingagents/agents/researchers/bull_researcher.py b/tradingagents/agents/researchers/bull_researcher.py index b03ef755..32124fe6 100644 --- a/tradingagents/agents/researchers/bull_researcher.py +++ b/tradingagents/agents/researchers/bull_researcher.py @@ -1,8 +1,3 @@ -from langchain_core.messages import AIMessage -import time -import json - - def create_bull_researcher(llm, memory): def bull_node(state) -> dict: investment_debate_state = state["investment_debate_state"] diff --git a/tradingagents/agents/risk_mgmt/aggressive_debator.py b/tradingagents/agents/risk_mgmt/aggressive_debator.py index 7e2b4937..7abe3895 100644 --- a/tradingagents/agents/risk_mgmt/aggressive_debator.py +++ b/tradingagents/agents/risk_mgmt/aggressive_debator.py @@ -1,7 +1,3 @@ -import time -import json - - def create_risky_debator(llm): def risky_node(state) -> dict: risk_debate_state = state["risk_debate_state"] diff --git a/tradingagents/agents/risk_mgmt/conservative_debator.py b/tradingagents/agents/risk_mgmt/conservative_debator.py index c56e16ad..a384e2c3 100644 --- a/tradingagents/agents/risk_mgmt/conservative_debator.py +++ b/tradingagents/agents/risk_mgmt/conservative_debator.py @@ -1,8 +1,3 @@ -from langchain_core.messages import AIMessage -import time -import json - - def create_safe_debator(llm): def safe_node(state) -> dict: risk_debate_state = state["risk_debate_state"] diff --git a/tradingagents/agents/risk_mgmt/neutral_debator.py b/tradingagents/agents/risk_mgmt/neutral_debator.py index a6d2ef5c..ad4f3438 100644 --- a/tradingagents/agents/risk_mgmt/neutral_debator.py +++ b/tradingagents/agents/risk_mgmt/neutral_debator.py @@ -1,7 +1,3 @@ -import time -import json - - def create_neutral_debator(llm): def neutral_node(state) -> dict: risk_debate_state = state["risk_debate_state"] diff --git a/tradingagents/agents/trader/trader.py b/tradingagents/agents/trader/trader.py index 1b05c35d..2f50fdd8 100644 --- a/tradingagents/agents/trader/trader.py +++ b/tradingagents/agents/trader/trader.py @@ -1,6 +1,4 @@ import functools -import time -import json def create_trader(llm, memory): diff --git a/tradingagents/agents/utils/agent_states.py b/tradingagents/agents/utils/agent_states.py index 4a1ce0ce..3c34c421 100644 --- a/tradingagents/agents/utils/agent_states.py +++ b/tradingagents/agents/utils/agent_states.py @@ -1,10 +1,6 @@ -from typing import Annotated, Sequence -from datetime import date, timedelta, datetime -from typing_extensions import TypedDict, Optional -from langchain_openai import ChatOpenAI -from tradingagents.agents import * -from langgraph.prebuilt import ToolNode -from langgraph.graph import END, StateGraph, START, MessagesState +from typing import Annotated +from typing_extensions import TypedDict +from langgraph.graph import MessagesState class InvestDebateState(TypedDict): diff --git a/tradingagents/backtesting/agent_integration.py b/tradingagents/backtesting/agent_integration.py index 05cab9ae..7b9ec688 100644 --- a/tradingagents/backtesting/agent_integration.py +++ b/tradingagents/backtesting/agent_integration.py @@ -1,5 +1,4 @@ import logging -import re from datetime import date, datetime from decimal import Decimal from typing import Optional, Dict, Any @@ -12,10 +11,8 @@ from tradingagents.models.decisions import ( AnalystReport, AnalystType, ) -from tradingagents.models.portfolio import PortfolioSnapshot from .engine import BacktestEngine -from .data_loader import DataLoader logger = logging.getLogger(__name__) diff --git a/tradingagents/backtesting/engine.py b/tradingagents/backtesting/engine.py index 0a64242f..67fba75f 100644 --- a/tradingagents/backtesting/engine.py +++ b/tradingagents/backtesting/engine.py @@ -2,7 +2,6 @@ import logging from datetime import date, datetime, timedelta from decimal import Decimal from typing import Optional, Callable -from uuid import uuid4 from tradingagents.models.backtest import ( BacktestConfig, diff --git a/tradingagents/dataflows/config.py b/tradingagents/dataflows/config.py index d25ca09c..643b24f9 100644 --- a/tradingagents/dataflows/config.py +++ b/tradingagents/dataflows/config.py @@ -1,5 +1,5 @@ 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 DATA_DIR: Optional[str] = None diff --git a/tradingagents/dataflows/googlenews_utils.py b/tradingagents/dataflows/googlenews_utils.py index 1179fb3d..8d1644d6 100644 --- a/tradingagents/dataflows/googlenews_utils.py +++ b/tradingagents/dataflows/googlenews_utils.py @@ -1,5 +1,4 @@ import logging -import json import requests from bs4 import BeautifulSoup from datetime import datetime @@ -9,7 +8,6 @@ from tenacity import ( retry, stop_after_attempt, wait_exponential, - retry_if_exception_type, retry_if_result, ) diff --git a/tradingagents/dataflows/interface.py b/tradingagents/dataflows/interface.py index ea169c73..dce849af 100644 --- a/tradingagents/dataflows/interface.py +++ b/tradingagents/dataflows/interface.py @@ -1,6 +1,6 @@ import logging -from typing import Annotated, List, Dict, Any, Optional -from datetime import datetime, timedelta +from typing import List, Dict, Any, Optional +from datetime import datetime 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 diff --git a/tradingagents/dataflows/reddit_utils.py b/tradingagents/dataflows/reddit_utils.py index 2532f0d1..5d401239 100644 --- a/tradingagents/dataflows/reddit_utils.py +++ b/tradingagents/dataflows/reddit_utils.py @@ -1,8 +1,5 @@ -import requests -import time import json -from datetime import datetime, timedelta -from contextlib import contextmanager +from datetime import datetime from typing import Annotated import os import re diff --git a/tradingagents/dataflows/tavily.py b/tradingagents/dataflows/tavily.py index dfb00110..c5c2f635 100644 --- a/tradingagents/dataflows/tavily.py +++ b/tradingagents/dataflows/tavily.py @@ -1,7 +1,7 @@ import logging import os import time -from datetime import datetime, timedelta +from datetime import datetime from typing import List, Dict, Any logger = logging.getLogger(__name__) diff --git a/tradingagents/dataflows/utils.py b/tradingagents/dataflows/utils.py index 3132ecae..8e74cbca 100644 --- a/tradingagents/dataflows/utils.py +++ b/tradingagents/dataflows/utils.py @@ -1,6 +1,4 @@ import logging -import os -import json import pandas as pd from datetime import date, timedelta, datetime from typing import Annotated diff --git a/tradingagents/dataflows/y_finance.py b/tradingagents/dataflows/y_finance.py index bb670fb5..45478f1f 100644 --- a/tradingagents/dataflows/y_finance.py +++ b/tradingagents/dataflows/y_finance.py @@ -3,7 +3,6 @@ from typing import Annotated from datetime import datetime from dateutil.relativedelta import relativedelta import yfinance as yf -import os from .stockstats_utils import StockstatsUtils from tradingagents.validation import validate_ticker, validate_date_range, validate_date diff --git a/tradingagents/dataflows/yfin_utils.py b/tradingagents/dataflows/yfin_utils.py index fa860f36..1baaeee3 100644 --- a/tradingagents/dataflows/yfin_utils.py +++ b/tradingagents/dataflows/yfin_utils.py @@ -5,7 +5,7 @@ from pandas import DataFrame import pandas as pd from functools import wraps -from .utils import save_output, SavePathType, decorate_all_methods +from .utils import SavePathType, decorate_all_methods logger = logging.getLogger(__name__) diff --git a/tradingagents/graph/propagation.py b/tradingagents/graph/propagation.py index 58ebd0a8..db53ee32 100644 --- a/tradingagents/graph/propagation.py +++ b/tradingagents/graph/propagation.py @@ -2,7 +2,6 @@ from typing import Dict, Any from tradingagents.agents.utils.agent_states import ( - AgentState, InvestDebateState, RiskDebateState, ) diff --git a/tradingagents/graph/setup.py b/tradingagents/graph/setup.py index b270ffc0..345b50e8 100644 --- a/tradingagents/graph/setup.py +++ b/tradingagents/graph/setup.py @@ -1,6 +1,6 @@ # TradingAgents/graph/setup.py -from typing import Dict, Any +from typing import Dict from langchain_openai import ChatOpenAI from langgraph.graph import END, StateGraph, START from langgraph.prebuilt import ToolNode diff --git a/tradingagents/graph/trading_graph.py b/tradingagents/graph/trading_graph.py index 4637f716..b88851e7 100644 --- a/tradingagents/graph/trading_graph.py +++ b/tradingagents/graph/trading_graph.py @@ -1,11 +1,10 @@ import logging import os -import signal import threading from pathlib import Path import json 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_anthropic import ChatAnthropic @@ -13,14 +12,8 @@ from langchain_google_genai import ChatGoogleGenerativeAI from langgraph.prebuilt import ToolNode -from tradingagents.agents import * from tradingagents.dataflows.config import get_config 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.agents.utils.agent_utils import ( @@ -48,7 +41,7 @@ from tradingagents.agents.discovery import ( calculate_trending_scores, ) 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 .setup import GraphSetup diff --git a/tradingagents/models/backtest.py b/tradingagents/models/backtest.py index d8a967e0..27ca4ddf 100644 --- a/tradingagents/models/backtest.py +++ b/tradingagents/models/backtest.py @@ -1,4 +1,4 @@ -from datetime import date, datetime, timedelta +from datetime import date, datetime from decimal import Decimal from enum import Enum from typing import Optional