Session management
Startup, service opening, auth, recovery, and failure reporting happen in the runtime instead of each application.
Shared engine architecture
xbbg is organized around public package surfaces that share one high-performance Rust/Arrow core, not around repository folders or language-specific rewrites.
xbbg for Python / PyPI@xbbg/core for Node.js / npmInternal Rust crates, binding crates, native platform npm packages, and private packages are implementation details. Users choose one of the public packages; the runtime underneath stays the same.
Call sites use familiar helpers such as bdp, bdh, bds, async variants, subscriptions, or fixed-income helpers.
Dates, securities, fields, overrides, auth, retry policy, middleware metadata, and output shape are normalized before execution.
The engine owns reusable sessions, worker pools, event handling, retries, diagnostics, and request middleware execution.
Terminal, B-PIPE/SAPI, ZFP, TLS, SOCKS5, failover hosts, SDK logging, and entitlement paths stay explicit.
Results flow into pandas, Polars, PyArrow, DuckDB, Narwhals, JavaScript objects, or Arrow tables without maintaining parallel wrappers.
Startup, service opening, auth, recovery, and failure reporting happen in the runtime instead of each application.
Async helpers, subscriptions, and reusable worker pools share a non-blocking Rust execution model.
One request chain can attach request IDs, audit metadata, tracing spans, metrics, authorization checks, or policy enforcement.
Arrow is the canonical handoff; backend conversion happens once at the edge of the public API.
Connection settings are system-level facts. xbbg keeps local Terminal, B-PIPE, SAPI auth, TLS, ZFP, SOCKS5, retry, and failover settings in configuration rather than hiding them in individual request helpers.
That makes production assumptions visible to reviewers, operators, and application owners.