Skip to content

Package map

Two public packages. One shared engine.

Choose Python or Node.js at the application edge. The request model, Bloomberg C++ SDK integration, async workers, middleware hooks, and Arrow-native outputs stay aligned underneath.

Public surfaces

xbbg

Python / PyPI package for notebooks, research workflows, scheduled pipelines, and Python services that work with licensed Bloomberg data.

PyPI · Install guide · API surface

@xbbg/core

Node.js / npm package for services that need the same typed request model and async engine outside Python.

npm · Install guide · API surface

Rust / Arrow core

Shared implementation for sessions, worker pools, typed requests, Bloomberg C++ SDK integration, request middleware, and Arrow outputs.

PackageEcosystemRegistryInstallBest fit
xbbgPython / PyPIPyPIpip install xbbgPython notebooks, research jobs, data pipelines, and services
@xbbg/coreNode.js / npmnpmnpm install @xbbg/coreNode.js services that need matching Bloomberg-data behavior

What stays shared

  1. 01Typed requests

    Dates, fields, overrides, auth, retries, and output shape use the same model across runtimes.

  2. 02Async runtime

    Reusable sessions and worker pools live in the Rust engine instead of separate Python and Node integrations.

  3. 03Middleware

    Request middleware gives production teams one place for tracing, metrics, audit tags, policy checks, and compliance hooks.

  4. 04Outputs

    Arrow-native results feed pandas, Polars, PyArrow, DuckDB, Narwhals, and JavaScript objects.

Implementation details

The platform-specific npm packages used by @xbbg/core, Rust crates, binding crates, and private monorepo packages are implementation details. Public docs stay centered on the installable packages users choose directly.

Next steps

xbbg is independent open-source software and is not affiliated with, endorsed by, sponsored by, or approved by Bloomberg Finance L.P.