Saltar a contenido

🔌 Asset Providers (Developer)

This section provides the technical deep-dive for each asset pricing provider in LibreFolio. For the end-user perspective, see the User Manual — Providers.

📦 Providers at a Glance

Provider Code Features get_asset_url params_schema Identifier Types Test Level
Yahoo Finance yfinance History, Search, Metadata TICKER, ISIN Beta
JustETF justetf History, Search, Metadata ISIN Beta
CSS Scraper cssscraper Current Value URL Beta
Scheduled Investment scheduled_investment History (Calc), Events AUTO_GENERATED Beta
Mock Provider mockprov History, Search TICKER, ISIN Alpha

🔑 Feature Key

  • 📈 History: Can fetch historical OHLC data.
  • 🔎 Search: Supports searching for assets by name/ticker. Detected via test_search_query is not None.
  • 📋 Metadata: Can fetch asset details (sector, description, identifiers) via fetch_asset_metadata().
  • 💰 Current Value: Can fetch the latest real-time price.
  • 📊 Events: Can produce asset events (dividends, interest, settlements) via supports_events = True.
  • 🔗 get_asset_url: Generates a link to the provider's page for this asset (e.g., Yahoo Finance quote page).
  • 🧩 params_schema: Exposes a form schema for the frontend to render dynamic configuration fields.
  • 🧪 Probe: All providers support POST /assets/provider/probe for dry-run testing (current_price, history, metadata operations).

📝 Notes

  • CSS Scraper get_asset_url returns the identifier itself (which is the URL to scrape).
  • Scheduled Investment uses AUTO_GENERATED identifier type — no external identifier needed.
  • Mock Provider (mockprov) is only registered when LIBREFOLIO_TEST_MODE is enabled.

📈 Yahoo Finance (yfinance)

The primary market data provider — fetches stock, ETF, crypto, and index prices using the yfinance library.

  • Features: History, Search, Metadata, Current Value
  • Identifier types: TICKER, ISIN
  • Key details: ticker.info for current price (no history() or fast_info), search caching (10 min TTL), currency caching (24h), sector/geographic metadata
  • 📖 Technical Details →
  • 📖 User Guide →

🔍 JustETF (justetf)

Specialized ETF provider — fetches data from justetf.com including sector and geographic distributions.

  • Features: History, Search, Metadata, Current Value (Gettex)
  • Identifier types: ISIN
  • Key details: Cached ETF list for instant search, Gettex WebSocket for real-time quotes, geographic/sector distributions, pre-warm at startup
  • 📖 Technical Details →
  • 📖 User Guide →

🌐 CSS Scraper (cssscraper)

A versatile provider that can extract a current price from any public webpage using a CSS selector. Useful for tracking assets from niche sources without an API.

  • Features: Current Value only (no historical data)
  • Identifier type: URL
  • Key config: current_css_selector, currency, decimal_format
  • 📖 Technical Details →
  • 📖 User Guide →

📅 Scheduled Investment (scheduled_investment)

A synthetic, deterministic provider that calculates asset value based on a predefined interest schedule. No external calls, no DB access — pure math.

  • Features: Calculated History, Auto-generated Events (💵 INTEREST, 🏁 MATURITY_SETTLEMENT)
  • Identifier type: AUTO_GENERATED
  • Key config: initial_value, schedule[], day_count, interest_type, late_interest
  • 📖 Technical Details →
  • 📖 User Guide →