Unified interface for querying financial time-series data
Project description
Metapyle
Early-stage research framework — Not for production use.
A unified interface for querying financial time-series data from multiple sources.
Requires Python 3.12+
Overview
Financial data lives in many places—Bloomberg terminals, internal APIs, CSV exports—each with its own ticker syntax, authentication, and quirks. Metapyle provides a YAML-based catalog that maps human-readable names to source-specific details, giving you a single client.get() interface regardless of where the data comes from.
Currently supports Bloomberg (via xbbg), Macrobond (via macrobond-data-api), and local files (CSV/Parquet).
Installation
uv add metapyle[bloomberg]
Or with pip:
pip install metapyle[bloomberg]
For Macrobond support:
pip install metapyle[macrobond]
Note: Bloomberg requires a Bloomberg Terminal. Macrobond requires desktop app or API credentials.
Quick Start
1. Create a catalog file (catalog.yaml):
- my_name: sp500_close
source: bloomberg
symbol: SPX Index
field: PX_LAST
- my_name: gdp_us
source: localfile
symbol: GDP_US # column name in the file
path: /data/macro.csv # file path
2. Query data:
from metapyle import Client
with Client(catalog="catalog.yaml") as client:
# end defaults to today
df = client.get(["sp500_close"], start="2024-01-01")
Documentation
See the User Guide for complete documentation, including:
- Catalog configuration
- Frequency alignment
- Caching
- Available data sources
- Error handling
License
MIT License - see LICENSE for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file metapyle-0.1.1.tar.gz.
File metadata
- Download URL: metapyle-0.1.1.tar.gz
- Upload date:
- Size: 149.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e197aae779c00febec49be1585107b9707cef4c6299d101fab2fcce3d7d1d0c
|
|
| MD5 |
d78e11ff3076ac7d0b4ecfda65594cd0
|
|
| BLAKE2b-256 |
fbe27e6dd230cc9ce7ee44a8c7aa4a9003c06576149dc2a64c2319f62f91db54
|
File details
Details for the file metapyle-0.1.1-py3-none-any.whl.
File metadata
- Download URL: metapyle-0.1.1-py3-none-any.whl
- Upload date:
- Size: 21.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e28d35d382325e97d7350d9f706dd26da169c14ecb783145bc1703757e15d51d
|
|
| MD5 |
3c6473f958439199fb6db72e2c50efec
|
|
| BLAKE2b-256 |
14f1e1ca29c8073fbddbd65d4bfa6aea243819078701628574a2a252cf5bf9b2
|