🔌 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/probefor dry-run testing (current_price,history,metadataoperations).
📝 Notes
- CSS Scraper
get_asset_urlreturns the identifier itself (which is the URL to scrape). - Scheduled Investment uses
AUTO_GENERATEDidentifier type — no external identifier needed. - Mock Provider (
mockprov) is only registered whenLIBREFOLIO_TEST_MODEis 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.infofor current price (nohistory()orfast_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 →
🔗 Related Documentation
- 📅 Asset Events — Event types, dedup strategy, MATURITY_SETTLEMENT
- 📐 Day Count Conventions — ACT/365, ACT/360, 30/360, ACT/ACT
- 📊 Asset Types — CROWDFUND_LOAN, BOND, etc.
- 💰 Asset Architecture — Sync pipeline and event persistence
- 📈 Asset Plugin Guide — How to create a new provider