TradingAgents/tradingagents
ahmet guzererler 6fa4c2340a
Fix `ThirdPartyTimeoutError` swallowing in `yfinance` dataflows (#127)
In dataflow API wrappers, generic `except Exception` handlers were swallowing
timeout exceptions (like `requests.exceptions.Timeout` and `ThirdPartyTimeoutError`),
preventing upstream retry logic and proper error handling from functioning correctly.

This patch:
- Adds explicit catching of `requests.exceptions.Timeout` to raise as `ThirdPartyTimeoutError` in `yfinance` wrapper modules (`y_finance.py`, `yfinance_news.py`, `yfinance_scanner.py`).
- Adds explicit catching and re-raising of `ThirdPartyTimeoutError` before generic exception handlers across the dataflows.
- Retains existing exception inheritance logic to avoid backward compatibility breaks.
- Updates `TestEnsureIndexesInInit` to use the explicit `ensure_indexes()` call per lazy loading changes.

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: aguzererler <6199053+aguzererler@users.noreply.github.com>
2026-03-27 00:20:10 +01:00
..
agents feat: Fast-Reject [CRITICAL ABORT] short-circuit mechanism (#128) 2026-03-27 00:19:43 +01:00
dataflows Fix `ThirdPartyTimeoutError` swallowing in `yfinance` dataflows (#127) 2026-03-27 00:20:10 +01:00
graph feat: Fast-Reject [CRITICAL ABORT] short-circuit mechanism (#128) 2026-03-27 00:19:43 +01:00
llm_clients merge: sync with upstream TauricResearch/TradingAgents v0.2.2 2026-03-23 12:17:25 +00:00
memory feat: PM brain upgrade — macro/micro agents & memory split (#123) 2026-03-26 12:55:24 +01:00
pipeline feat: include portfolio holdings in auto mode pipeline analysis (#104) 2026-03-24 18:35:53 +01:00
portfolio feat: Add macro scanner feedback loop and lessons memory (#124) 2026-03-26 23:44:44 +01:00
__init__.py fix: set process-level UTF-8 default for cross-platform consistency 2026-03-22 23:42:37 +00:00
api_usage.py Address code review: add debug logging for unknown method resolution 2026-03-21 17:27:38 +00:00
daily_digest.py feat: daily digest consolidation and Google NotebookLM sync (#23) 2026-03-19 12:21:03 +01:00
default_config.py feat: configurable max_auto_tickers + run persistence with phase-level node re-run (#109) 2026-03-25 15:27:28 +01:00
notebook_sync.py merge: resolve conflicts with origin/main (PR #85 merged) 2026-03-22 06:52:39 +00:00
observability.py Remove unused import `field` from `observability.py` (#120) 2026-03-26 11:17:58 +01:00
report_paths.py feat: load flow_id in FE to resume runs and fix max_tickers cap (#113) 2026-03-26 07:10:42 +01:00