Skip to content

v0.2.0 — Módulo ENOE (mercado laboral mexicano)

Choose a tag to compare

@DabtcAvila DabtcAvila released this 12 May 07:58
· 48 commits to main since this release

datos-mexico v0.2.0

Released: 2026-05-11

Nuevo módulo ENOE — acceso a 101.5 millones de microdatos y 76 mil
indicadores agregados
del mercado laboral mexicano (INEGI ENOE,
2005T1–2025T1, dominio 15 años o más).

Instalación

pip install datos-mexico
# extra opcional para microdatos_to_pandas() y los notebooks
pip install datos-mexico[examples]

Nuevas capacidades — client.enoe

19 métodos nuevos en cuatro familias.

Catálogos y metadata (5)

  • health() — estado del dataset (último periodo, conteos, cobertura).
  • metadata() — información completa de cobertura, tablas, etapas y caveats.
  • indicadores() — los 13 indicadores agregados disponibles.
  • entidades() — las 32 entidades federativas con clave INEGI.
  • etapas() — las 3 etapas metodológicas (clasica, etoe_telefonica, enoe_n).

Indicadores agregados (5)

  • serie_nacional() — serie temporal nacional 2005T1–2025T1.
  • snapshot_nacional() — los 13 indicadores nacionales en un periodo.
  • serie_entidad() — serie temporal por entidad federativa.
  • snapshot_entidad() — todas las entidades para un indicador en un periodo.
  • ranking() — ranking de entidades por indicador y periodo.

Distribuciones (4)

  • distribucion_sectorial_snapshot() — composición por sector económico (12 sectores SCIAN).
  • distribucion_sectorial_serie() — evolución temporal de un sector.
  • distribucion_posicion_snapshot() — composición por posición en la ocupación (subordinados, empleadores, cuenta propia, no remunerados).
  • distribucion_posicion_serie() — evolución temporal de una posición.

Microdatos (5)

  • microdatos_schema() — descripción de columnas por tabla.
  • microdatos_count() — conteo exacto con filtros sin descargar filas.
  • microdatos_page() — una página explícita con paginación.
  • microdatos_iter() — iterador síncrono que pagina internamente.
  • microdatos_to_pandas() — helper DataFrame (requiere pandas).

Tablas disponibles: viv (vivienda), hog (hogar), sdem
(sociodemográfico), coe1 y coe2 (cuestionario de ocupación y empleo).

Modelos Pydantic (28 nuevos)

Tipos fuertes con caveats metodológicos integrados:

  • EnoeHealth, EnoeMetadata, EnoeTablaInfo
  • CaveatMetodologico (slug, titulo, descripcion, periodo_aplicable, referencia)
  • IndicadorRef, IndicadoresResponse
  • EntidadRef, EntidadesResponse
  • EtapaRef, EtapasResponse
  • CoberturaTemporal, PuntoSerie
  • SerieNacionalResponse, SerieEntidadResponse
  • IndicadorSnapshotItem, SnapshotNacionalResponse, EntidadSnapshotRow, SnapshotEntidadResponse
  • RankingEntidadRow, RankingResponse
  • DistribucionSectorialRow, DistribucionSectorialSnapshot, DistribucionSectorialSerie
  • DistribucionPosicionRow, DistribucionPosicionSnapshot, DistribucionPosicionSerie
  • MicrodatoColumna, MicrodatosSchema, MicrodatosCount
  • MicrodatosPagination, MicrodatosListResponse

Validación académica — reproducir el boletín INEGI 265/25

from datos_mexico import DatosMexico

with DatosMexico() as client:
    r = client.enoe.ranking(
        periodo="2025T1",
        indicador="tasa_desocupacion",
        limit=5,
    )
    for e in r.ranking:
        print(f"{e.rank}. {e.entidad_nombre}: {e.valor:.2f}%")

Salida — TOP 5 entidades por tasa de desocupación, 1T 2025:

Rank Clave INEGI Entidad Tasa
1 27 Tabasco 4.97%
2 05 Coahuila de Zaragoza 3.56%
3 10 Durango 3.46%
4 09 Ciudad de México 3.45%
5 28 Tamaulipas 3.37%

Cifras idénticas al boletín INEGI 265/25.

Caveats metodológicos integrados

El módulo inyecta automáticamente caveats tipados (CaveatMetodologico)
en cada response que toque una zona delicada:

  • TIL1 definición operativa — series de informalidad laboral.
  • redefinicion_tcco_2020T1 — la TCCO cambió su construcción en
    2020T1; comparaciones cross-etapa requieren cautela.
  • cambio_marco_2020T3 — transición al marco muestral del CPV 2020;
    subestimación de 6-7 % en el periodo 2020T3–2021T4.
  • dominio_15_plus — el observatorio reconstruyó la etapa clásica
    sobre el dominio uniforme 15+ (INEGI publicaba 14+ pre-2014T4).
  • gap_documental_2020T2 — trimestre sin microdatos por la
    suspensión COVID; sustituido por ETOE telefónica.

Cada response relevante expone caveats: list[CaveatMetodologico].

Documentación

Tests

33 tests passing (31 mock con respx + 2 integration tests que
reproducen el ranking INEGI 265/25 contra el API en vivo, gated por
DATOS_MEXICO_INTEGRATION_TESTS=1).

Smoke test end-to-end después de instalar:

pip install datos-mexico
python -c "
from datos_mexico import DatosMexico
with DatosMexico() as client:
    r = client.enoe.ranking(
        periodo='2025T1',
        indicador='tasa_desocupacion',
        limit=5,
    )
    claves = [e.entidad_clave for e in r.ranking]
    assert claves == ['27', '05', '10', '09', '28'], claves
    print('INEGI 265/25 reproducible vía pip install datos-mexico')
"

Compatibilidad

  • Python: 3.10, 3.11, 3.12, 3.13.
  • Sin breaking changes desde v0.1.0; los namespaces existentes
    (cdmx, consar, enigh, comparativo, …) no cambian de API.
  • pandas como extra opcional — solo lo necesita el helper
    microdatos_to_pandas. Disponible en el extra examples
    (pip install datos-mexico[examples]).
  • Convención entidad_clave — el módulo ENOE adopta el contrato
    entidad_clave canónico del observatorio (Sub-fase 3.10c del backend):
    el SDK siempre envía entidad_clave, nunca el alias deprecated
    entidad.

Backend

  • API REST pública: https://api.datos-itam.org (Cloudflare CDN).
  • 17 endpoints ENOE en producción.
  • Latencia warm: ~150–200 ms cache HIT, <2 s cold cross-region.

Cobertura del SDK

Namespace Endpoints Estado
cdmx, consar, enigh, comparativo, … (v0.1.0) 78
enoe (v0.2.0) 17
Total cubierto 95 / 114 100 % de las lecturas públicas

Equipo

  • David Fernando Ávila Díaz (ITAM, founder).
  • Asesoría académica: Dr. Marco Augusto Vásquez Beltrán.
  • Equipo de Datos México.

Próximos pasos

  • Frontend /enoe en datosmexico.org (Fase 4).
  • DOI Zenodo para citación académica.
  • Submission al Premio Amafore-ITAM 2026.

PyPI: https://pypi.org/project/datos-mexico/0.2.0/
Docs: https://docs.datosmexico.org/
Issues: https://github.com/Datos-Mexico/datos-mexico-py/issues