Saltar a contenido

Cliente

Punto de entrada del SDK. Toda interacción con la API pasa por una instancia de DatosMexico.

datos_mexico.client.DatosMexico

DatosMexico(
    base_url: str = DEFAULT_BASE_URL,
    timeout: float = DEFAULT_TIMEOUT_SECONDS,
    cache_ttl: int = DEFAULT_CACHE_TTL_SECONDS,
    max_retries: int = DEFAULT_MAX_RETRIES,
    user_agent: str | None = None,
    logger: Logger | None = None,
)

Cliente oficial para la API del Observatorio Datos México.

Examples:

Uso básico:

>>> from datos_mexico import DatosMexico
>>> client = DatosMexico()
>>> health = client.health()
>>> print(health.status)
ok

Con context manager (recomendado, cierra recursos automáticamente):

>>> with DatosMexico() as client:
...     stats = client.cdmx.dashboard_stats()
...     print(f"{stats.total_servidores:,} servidores")
246,831 servidores

Configuración personalizada:

>>> client = DatosMexico(
...     timeout=60.0,
...     cache_ttl=600,
...     max_retries=5,
... )

Attributes:

Name Type Description
cdmx

Namespace del dataset Servidores Públicos CDMX.

consar

Namespace del dataset CONSAR/SAR (pensiones).

enigh

Namespace del dataset ENIGH 2024 NS (hogares INEGI).

comparativo

Endpoints cross-dataset CDMX x CONSAR x ENIGH.

personas

Tabla normalizada de personas del padrón CDMX.

nombramientos

Tabla normalizada de nombramientos del padrón CDMX.

demo

Dataset didáctico del curso ITAM Bases de Datos.

export

Descarga del padrón CDMX en formato CSV.

health

health() -> HealthResponse

Consulta GET /health para verificar que la API responde.

El endpoint health no se cachea: cada llamada ejecuta una request fresca al servidor.

Returns:

Type Description
HealthResponse

HealthResponse con el campo status (esperado: "ok").

Raises:

Type Description
NetworkError

Si no se puede contactar la API.

TimeoutError

Si la API no responde dentro del timeout.

ApiError

Si la API responde con un status code de error.

clear_cache

clear_cache() -> None

Vacía la caché interna del cliente HTTP.

close

close() -> None

Cierra los recursos subyacentes (conexiones HTTP). Idempotente.

Versión instalada

datos_mexico

datos-mexico: Cliente Python para la API del Observatorio Datos México.

__version__ module-attribute

__version__ = '0.1.0'