Skip to content

v0.6.1 — Wire Cache, CompanyFacts & Full Multi-Period Ratios

Choose a tag to compare

@zoharbabin zoharbabin released this 17 Apr 18:43
· 25 commits to main since this release

Summary

Fixes the two "shelf-ware" issues from v0.6.0 and closes the remaining multi-period gap.

Cache Now Active in Pipeline

  • CacheLayer wired into orchestrator's _cached_snapshot() method
  • Past-period filings: set_immutable() (cached forever)
  • Current-period filings: set_current() (24h TTL)
  • ea.analyze("AAPL") called twice now serves the second call from cache

CompanyFacts Cross-Validation Active

  • CompanyFactsClient.validate_metrics() called automatically after each annual snapshot fetch
  • Discrepancies logged as warnings (Revenue, Net Income, Total Assets, Liabilities, Equity)
  • Never modifies parsed values — validation only

Full Multi-Period Balance Sheet & Cash Flow

  • retrieve_multi_year_data() now pulls balance sheet and cash flow statements across all periods
  • New time series: FCF, CapEx, ROE %, ROA %, Debt-to-Equity over multiple years/quarters
  • YoY growth and CAGR computed for all ratio time series
  • New helpers: _extract_bs_cf_values(), _compute_derived_bs_ratios()

Integration Tests

  • Real amended filing test: Fetches actual 10-K/A and verifies data
  • Small-cap filer test: SIRI — verifies handling of sparse data and missing line items

README Updated

  • Documented typed API (ea.analyze()), scoring models, caching, CompanyFacts, concurrent peers, output formats, optional extras

Test Count

  • 250 unit tests passing (+8 new)

🤖 Generated with Claude Code