Services and Enums
xbbg.services
Bloomberg service definitions and request parameters.
Enum definitions (Service, Operation, ExtractorHint, Format, OutputMode) are generated from defs/bloomberg.toml into _services_gen.py. This module re-exports them and provides the hand-written :class:RequestParams dataclass.
Example::
from xbbg import Service, Operation, RequestParams
params = RequestParams( service=Service.REFDATA, operation=Operation.REFERENCE_DATA, securities=["AAPL US Equity"], fields=["PX_LAST"], )
RequestParams Objects
@dataclass
class RequestParams()Validated request parameters for the Bloomberg API.
This dataclass holds all possible parameters for Bloomberg requests. Not all parameters are used for all request types - the Python layer validates that required parameters are present for each operation.
The Rust layer handles default extractor resolution via RequestParams::with_defaults(), so Python only passes an explicit extractor when the caller overrides it.
Attributes:
service- Bloomberg service URI (e.g.,"//blp/refdata").operation- Request operation name (e.g.,"ReferenceDataRequest").request_operation- Actual Bloomberg operation name when usingOperation.RAW_REQUESTas the low-level escape hatch.securities- List of security identifiers (for multi-security requests).security- Single security identifier (for intraday requests).fields- List of field names to retrieve.overrides- List of (field, value) tuples for field overrides.elements- List of (name, value) tuples for generic request elements (BQL, bsrch).start_date- Start date for historical requests (YYYYMMDD format).end_date- End date for historical requests (YYYYMMDD format).start_datetime- Start datetime for intraday requests (ISO format).end_datetime- End datetime for intraday requests (ISO format).request_tz- How naive intraday datetimes are interpreted before the API call (UTC,local,exchange,NY/LN/�, reference ticker, or IANA).output_tz- Relabel Arrowtimeto this zone (same instants; handled in Rust).event_type- Event type for intraday bars (TRADE, BID, ASK, etc.).event_types- Event types for intraday ticks (TRADE, BID, ASK, etc.).interval- Bar interval in minutes for intraday bars.options- Additional Bloomberg options as (key, value) tuples.field_types- Manual type overrides for fields (for issue168).output- Output format (arrow or json).extractor- Override the auto-detected extractor hint. WhenNonethe Rust layer picks the correct extractor for the operation.format- Output format (LONG, LONG_TYPED, LONG_WITH_METADATA).include_security_errors- When True for ReferenceData requests, include__SECURITY_ERROR__rows for securities that failed.validate_fields- Optional per-request override for field validation.Trueforces strict validation,Falsedisables it, andNone(default) follows engine configuration.
__post_init__
def __post_init__() -> NoneConvert enums to strings and set defaults.
validate
def validate() -> NoneValidate parameters for the given operation.
Raises:
BlpValidationError- If required parameters are missing or invalid.
to_dict
def to_dict() -> dict[str, object]Convert to dictionary for passing to Rust.
Only non-None values are included. When extractor is None the key is omitted so the Rust layer can apply its own default via RequestParams::with_defaults().
Returns:
Dictionary suitable for Rust consumption.
