Skip to main content

Unified interface for querying financial time-series data

Project description

Metapyle

PyPI Python License: MIT

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

metapyle-0.1.1.tar.gz (149.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

metapyle-0.1.1-py3-none-any.whl (21.6 kB view details)

Uploaded Python 3

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

Hashes for metapyle-0.1.1.tar.gz
Algorithm Hash digest
SHA256 1e197aae779c00febec49be1585107b9707cef4c6299d101fab2fcce3d7d1d0c
MD5 d78e11ff3076ac7d0b4ecfda65594cd0
BLAKE2b-256 fbe27e6dd230cc9ce7ee44a8c7aa4a9003c06576149dc2a64c2319f62f91db54

See more details on using hashes here.

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

Hashes for metapyle-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e28d35d382325e97d7350d9f706dd26da169c14ecb783145bc1703757e15d51d
MD5 3c6473f958439199fb6db72e2c50efec
BLAKE2b-256 14f1e1ca29c8073fbddbd65d4bfa6aea243819078701628574a2a252cf5bf9b2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page