Skip to main content

Heimdall

A host-agnostic data-provider SDK. Finance data first (Yahoo Finance OHLCV, FRED economic series), built so that any data source - yours or the community's - can plug in behind one small contract.

A provider takes a FetchRequest and returns a FetchResult: a Polars frame, a SchemaSpec that describes and validates it, and some metadata. That's the whole surface. Nothing in the core is finance-specific; OHLCV bars and economic observations are just two predefined schemas.

Install

pip install heimdall-mimird[fred,yfinance,sp500]   # or: heimdall-mimird[all]

The core depends only on polars (plus a small logging shim). Each provider pulls its own client library through an extra, so you install only what you use.

Quick start

import heimdall

# string shorthand -> FetchRequest(resource="DGS10")
result = heimdall.fetch("fred", "DGS10")
result.schema.validate(result.frame)  # raises SchemaError if it doesn't conform
print(result.frame.head())

bars = heimdall.fetch("yfinance", "AAPL", interval="1d")
print(bars.frame.tail())
print(bars.metadata)  # {"ticker": "AAPL", "interval": "1d", "rows": ...}

sp500 = heimdall.fetch("sp500", "constituents")
print(sp500.frame.select("symbol", "security", "gics_sector").head())

heimdall.list_providers() shows what's registered. Providers are registered automatically when their extra is installed; register your own with heimdall.register(MyProvider).

Writing a provider

Subclass heimdall.Provider, set id + capabilities, implement fetch. See docs/writing-a-provider.md for a full worked example, and run heimdall.testing.assert_provider_conformance(...) to check it against the contract.

Status

Early. The provider contract and the two bundled providers are usable today. The ingestion/storage layer, entry-point plugin discovery, and retry/rate-limit middleware are on the roadmap.

Metadata

Release files for heimdall-mimird 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for heimdall-mimird 0.4.0
File Size Uploaded
heimdall_mimird-0.4.0.tar.gz 146.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for heimdall-mimird 0.4.0
File Interpreter ABI Platform
heimdall_mimird-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 166.2 kB

Release files / heimdall_mimird-0.4.0.tar.gz

Download URL heimdall_mimird-0.4.0.tar.gz
Size 146.5 kB
Tags Source
SHA-256 checksum
How to use checksums
59e8d5ab7b21a8491c869617da5896986927b71ceaebde937dd438c159f1d125
BLAKE2b-256 checksum
How to use checksums
5d081c6ff72fe1f2f0503f95cfa154578123510edfa7cd78c4f1b28825c32104
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Omarchy","version":"4.0.2","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / heimdall_mimird-0.4.0-py3-none-any.whl

Download URL heimdall_mimird-0.4.0-py3-none-any.whl
Size 19.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
23f4f8a97dd9a25cb7628757c8393d8cd8ac16a6970813ccc9660a98268a1b3e
BLAKE2b-256 checksum
How to use checksums
3451a04ec040bc4d878f0a165d1f7f57aecca1312519b6979762198c2f91cfde
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Omarchy","version":"4.0.2","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.5.1

2 release files

0.5.0

2 release files

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page