From 674b7e45c8c79f3617dee9cffdd3f1438e4852cf Mon Sep 17 00:00:00 2001 From: I Luk Kim Date: Mon, 20 Apr 2026 16:17:01 -0700 Subject: [PATCH] =?UTF-8?q?feat:=20EnhancedTicker.info=20property=20?= =?UTF-8?q?=E2=80=94=20sector/industry/country=20=EC=A7=80=EC=9B=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit curl_cffi 커스텀 세션으로 yfinance .info를 호출하면 quoteSummary 일부 엔드포인트가 응답 누락되어 sector/industry/country 필드가 빠짐. 명시적 @property info를 추가하여 vanilla yf.Ticker(symbol).info를 호출 (공유 adaptive rate limiter는 그대로 사용), 모든 필드 반환. Co-Authored-By: Claude Sonnet 4.6 --- yfinance_plus.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/yfinance_plus.py b/yfinance_plus.py index 613c20c..4edcbbf 100644 --- a/yfinance_plus.py +++ b/yfinance_plus.py @@ -591,6 +591,20 @@ class EnhancedTicker: return getattr(self.yf_ticker, name) return self.enhanced_yf._retry_with_backoff(_get_property) + @property + def info(self) -> dict: + """Return full company info dict including sector, industry, country, market_cap. + + yfinance_plus curl_cffi sessions can cause partial quoteSummary responses + that omit fundamental fields. This property uses a plain yfinance Ticker + (no custom session) so all Yahoo Finance endpoints are reached, while still + going through the shared adaptive rate limiter. + """ + def _get_info(): + return yf.Ticker(self.symbol).info + + return self.enhanced_yf._retry_with_backoff(_get_info) + # Additional utility methods def get_cache_info(self) -> Dict[str, Any]: """Get cache information for this ticker"""