lib-yfinancelisted
Install: claude install-skill howard-lynn-ye/fin-skills
# yfinance
The default free source, the best-maintained one, and the one whose defaults have changed most.
Roughly **40% of its changelog is "fix Yahoo changed X"** — treat schema drift as normal operation.
| | |
|---|---|
| pip / import | `pip install yfinance` · `import yfinance as yf` |
| Version | **1.7.0 (2026-08-26)** · 150 releases · cadence 1.4.0 (05-23) → 1.7.0 (08-26) |
| Licence | **Apache-2.0** (verified via PyPI `info.license`, classifier, and `LICENSE.txt`) |
| Status | ✅ 25,158★ `ranaroussi/yfinance`, pushed 2026-08-27. Classifier still says **Beta** |
## The trap that costs you money
🚨 **`auto_adjust=True` is now the hard default in `yf.download()`, and there is no `Adj Close` column.** OHLC come back already adjusted; `df['Adj Close']` raises `KeyError` on ≥1.0. Code written before 2025 does not error — **it returns different numbers.**
| yfinance | `yf.download()` default | Released |
|---|---|---|
| ≤ 0.2.50 | `auto_adjust=False` | 2024-11-19 |
| **0.2.51** | **`auto_adjust=True`** ← the flip | **2024-12-19** |
| 0.2.53 – 0.2.66 | `auto_adjust=None` sentinel (warns, behaves as True) | 2025-02-15 → 2025-09-17 |
| **1.0 → 1.7.0** | **`auto_adjust=True`** (hard, warning removed) | 2025-12-22 → now |
`Ticker.history(auto_adjust=True)` has defaulted True **since 0.1.26** — only `download()` differed.
Always pass `auto_adjust` explicitly so the number does not depend on the installed version.
## Signature traps in `download()`
- **`end` is EXCLUSIVE.** V