Referencia de la API del SDK

Esta página resume la API pública que debe usar cualquier consumidor del SDK.

SDK público

La API estable se importa desde bcch_sdk y sus subpaquetes públicos. Los módulos builders y mappers son detalles internos y no tienen garantía de compatibilidad pública.

Imports recomendados

from bcch_sdk import BCChSyncSDK, BCChAsyncSDK
from bcch_sdk import BCChConfig, Frequency
from bcch_sdk import InvalidCredentialsException, TransportException

También son públicos:

  • bcch_sdk.clients: BCChSyncClient, BCChAsyncClient
  • bcch_sdk.sdk: BCChSyncSDK, BCChAsyncSDK
  • bcch_sdk.types: BCChConfig, Frequency, InternalCredentials
  • bcch_sdk.models: WebServiceResponse, Series, ObservationSeries, SeriesInformation

Los aliases heredados SerieInformation e InvalidsCredentialsException fueron retirados en v2. Use SeriesInformation e InvalidCredentialsException.

BCChConfig.max_concurrency limita simultáneamente los workers del SDK sincrónico y las tareas del SDK asíncrono. Su valor por defecto es 8 y debe ser mayor que cero.

Versionado

  • bcch_sdk.__version__ expone la versión instalada del paquete.
  • Los cambios incompatibles en imports públicos se reservan para versiones mayores.
  • Cambios compatibles y correcciones usan versiones menores o patch según semver.

Dependencias de DataFrame

pandas y polars son extras opcionales desde v2. Instale bcch-sdk[pandas], bcch-sdk[polars] o bcch-sdk[dataframe]. Los clientes de bajo nivel y modelos no requieren ningún backend de DataFrame.

SDKs

  • BCChSyncSDK: capa de alto nivel para consultar una o varias series de forma sincrónica y retornar DataFrames.
  • BCChAsyncSDK: capa de alto nivel para consultar una o varias series de forma asíncrona y retornar DataFrames.

Clientes

  • BCChSyncClient (ver src/bcch_sdk/clients/sync_client.py)
  • get_series(time_series, first_date=None, last_date=None) -> WebServiceResponse
  • search_series(frequency) -> WebServiceResponse

  • BCChAsyncClient (ver src/bcch_sdk/clients/async_client.py)

  • async get_series(time_series, first_date=None, last_date=None) -> WebServiceResponse
  • async search_series(frequency) -> WebServiceResponse

Modelos de datos (returns)

  • WebServiceResponse (Pydantic):
  • code: int — código de respuesta del backend.
  • description: str — descripción textual.
  • series: Series | None — estructura con observaciones (si corresponde).
  • series_information: list[SeriesInformation] | None — catálogo/metadata (si corresponde).

  • Series:

  • id, spanish_description, english_description, observations (lista de ObservationSeries).

  • ObservationSeries:

  • index_date (date), value (float), status_code (str)

Parámetros HTTP y mapeos

Errores que puedes capturar

  • TransportException — problemas de red o inicialización de sesión.
  • WebServiceResponseException — respuestas HTTP con status != 200.
  • ResponseParseException — payload JSON inválido.
  • MissingDataFrameDependencyException — el backend Pandas/Polars solicitado no está instalado.
  • InvalidCredentialsException, InvalidSeriesException, InvalidDateException, InvalidFrequencyException — errores de negocio.