π 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