Skip to main content

Bandera de Chile chile-hub

Deja de pelear con planillas, enlaces rotos y esquemas incompatibles.

Datos públicos de Chile curados, normalizados, validados y listos para Python, SQL, Excel y pipelines.

La última milla entre “el dato existe” y “el dato ya sirve”.

GitHub stars CI/CD PyPI version PyPI downloads Coverage Data License: MIT DOI

Python

Datasets

Explorar datos en el navegador · Instalar · Ver capas · Auditar calidad

Landing de chile-hub: capas de datos de Chile listas para consumir

El dato público existe. El problema es dejarlo listo para usar.

Si trabajas con datos de Chile, probablemente ya conoces la fricción: archivos Excel con formatos cambiantes, códigos territoriales que pierden ceros, fuentes dispersas, APIs inconsistentes y cruces que fallan por diferencias mínimas de nombres.

chile-hub convierte esa última milla en infraestructura reutilizable.

Necesitas chile-hub te entrega
Cruzar comunas, regiones o distritos sin limpiar claves a mano Códigos CUT normalizados y contratos de esquema
Analizar datos oficiales desde Python o SQL Parquet + Polars + DuckDB + SQLite
Llevar datos a Excel o automatizaciones JSON y workbook multipestaña listos para consumo
Saber de dónde salió un dato y cuándo se obtuvo Procedencia, frescura, licencia y estado por capa
Detectar cambios silenciosos en las fuentes Validaciones, drift detection y pipeline fail-loud

En 30 segundos puedes pasar de “necesito datos de Chile” a un DataFrame listo para cruzar.

Instalar y usar en 30 segundos

pip install chile-hub
from chile_hub import ChileHub

hub = ChileHub()
comunas = hub.load_polars("comunas")  # 346 comunas, códigos CUT como texto
censo = hub.load_polars("censo_comunal")  # población censada por comuna

# Cruce territorial garantizado: la clave es el CUT, nunca un int
df = (
    comunas.join(censo, on="codigo_comuna")
    .select("codigo_comuna", "nombre_comuna", "nombre_region", "poblacion_censada")
    .sort("poblacion_censada", descending=True)
    .head(5)
)
print(df)

Resultado real (Censo 2024):

shape: (5, 4)
┌───────────────┬───────────────┬─────────────────────────────────┬───────────────────┐
│ codigo_comuna ┆ nombre_comuna ┆ nombre_region                   ┆ poblacion_censada │
│ ---           ┆ ---           ┆ ---                             ┆ ---               │
│ str           ┆ str           ┆ str                             ┆ i64               │
╞═══════════════╪═══════════════╪═════════════════════════════════╪═══════════════════╡
│ 13201         ┆ Puente Alto   ┆ Región Metropolitana de Santia… ┆ 568086            │
│ 13119         ┆ Maipú         ┆ Región Metropolitana de Santia… ┆ 503635            │
│ 13101         ┆ Santiago      ┆ Región Metropolitana de Santia… ┆ 438856            │
│ 02101         ┆ Antofagasta   ┆ Región de Antofagasta           ┆ 401096            │
│ 13110         ┆ La Florida    ┆ Región Metropolitana de Santia… ┆ 374836            │
└───────────────┴───────────────┴─────────────────────────────────┴───────────────────┘

En el sitio puedes consultar los mismos Parquet con SQL en el navegador (motor DuckDB-WASM, sin instalar nada):

Demo del explorador SQL de chile-hub

La primera ejecución descarga el bundle validado desde GitHub Releases, verifica su integridad SHA256 y lo deja en cache local; a partir de ahí todo corre contra el cache. La comprobación semanal de novedades no envía datos de uso y se desactiva con CHILE_HUB_NO_UPDATE_CHECK=1 (CHILE_HUB_LANG=es|en elige el idioma del aviso).

chile-hub cache update     # Forzar descarga del bundle más reciente
chile-hub cache status     # Ubicación y estado del cache local
chile-hub cache clear      # Liberar espacio

Variante pipeline: pip install chile-hub[pipeline] agrega DuckDB, Pandas, XlsxWriter y curl_cffi para ejecutar el pipeline completo de extracción y build. La instalación mínima solo incluye Polars, PyArrow, requests y platformdirs — suficiente para consumir datos.

Versionado: Para entornos productivos, fija la versión exacta en requirements.txt (revisa el badge de PyPI al inicio de este README para la versión más reciente):

chile-hub==1.47.16

El bundle de datos se publica con cada release. La API del módulo ChileHub sigue versionado semántico: cambios de interfaz pública solo en major releases.


Por qué confiar

Cada decisión de ingeniería de este proyecto está diseñada para que no tengas que confiar ciegamente: los datos vienen con la evidencia que los respalda.

Trabajar con datos públicos chilenos suele implicar los mismos obstáculos:

Sin chile-hub Con chile-hub
Enlaces rotos y APIs inconsistentes Pipeline automatizado con fallbacks y verificación de integridad
Planillas Excel deformes con celdas combinadas Parquet, DuckDB y JSON listos para producción
Códigos CUT que pierden ceros al leerse como int CUT garantizados como VARCHAR de largo fijo ("01101")
Nombres de comunas imposibles de cruzar (Ñuñoa vs Nunoa) Columna nombre_comuna_clean normalizada para cruces exactos
Cero trazabilidad sobre origen y vigencia del dato Metadatos con fuente, fecha de extracción, licencia y modo

Seis pilares, auditables y verificables en cada build

Pilar Descripción Artefacto auditable
Procedencia documentada Cada dataset declara su fuente oficial exacta con URL directa al organismo público emisor (BCN, INE, MINEDUC, BCCh, MINSAL, datos.gob.cl). provenance_report.md — fuente, modo y timestamp por capa
Auditoría legal explícita Licencia, atribución requerida y permiso de redistribución verificados dataset por dataset — reporte regenerado en cada build en redistribution_report.md. redistribution_report.md + AGENTS.md §6
Pipeline fail-loud Si una validación falla, el pipeline aborta — no publica datos corruptos, no emite advertencias silenciosas. ADR-001 — fail-loud como decisión de arquitectura
Contratos de esquema 25 contratos JSON Schema (contracts/datasets/) definen columnas esperadas, tipos, claves primarias y cobertura. Se validan en cada build automáticamente. ADR-005 + contracts/datasets/*.json
Salud transparente Dashboard público con severidad, frescura, cobertura, drift y degradación por dataset — regenerado en cada build en hub_health.md. hub_health.md — estado completo actualizado en cada build
Calidad medida Puntuación compuesta A-F por dataset (validación, contrato, madurez de fuente, frescura, cobertura y política de reúso); scorecard completo en dataset_quality.md. dataset_quality.md — scorecard completo

Cada pilar se audita automáticamente en cada ejecución del pipeline. Los reportes se regeneran en cada build — no son documentos estáticos mantenidos a mano. Para auditar el estado exacto de cualquier capa:

chile-hub provenance   # fuente, modo y timestamp por dataset
chile-hub health       # severidad, frescura, drift y cobertura

El mismo estado se publica en el sitio, con historial de builds y detalle por capa:

Estado operativo del hub

Respaldo adicional

  • 1348 tests (pytest --collect-only) que validan extracción, contratos e integridad de datos.
  • 23 ADRs (docs/adr/) que documentan cada decisión de arquitectura con su contexto, consecuencias y tradeoffs — no solo el "qué", sino el "por qué".
  • Drift monitoreado: todos los datasets bajo vigilancia de deriva de esquema; cualquier cambio en la fuente se detecta y registra (drift_report.md).
  • Trazabilidad completa: cada build registra timestamp, versión de extractor y snapshot de entrada en provenance_report.md.

Para una explicación más detallada de la arquitectura y las decisiones de diseño, lee el caso de estudio: cómo está construido chile-hub.


Qué incluye

Cómo leer los conteos: 22 capas construibles (make build local, incl. 1 en carril candidate) · 21 publicables (bundle ZIP) · 25 registradas en el catálogo (3 filas sin datos aún: geometría, delincuencia, autoridades locales). La convención completa vive junto al badge superior y en data/source_registry.json.

Catálogo de capas publicado en el sitio

Mapa territorial interactivo: las 346 comunas con 7 métricas seleccionables (población, pobreza, permisos, equipamiento, MP2.5) y ficha por comuna.

Mapa territorial interactivo de chile-hub

# Capa Fuente Licencia Actualización
1 Regiones BCN ArcGIS CC BY —
2 Provincias BCN ArcGIS CC BY —
3 Comunas BCN ArcGIS CC BY —
4 Comunas Enriquecidas BCN + INE CC BY —
5 Indicadores Económicos BCCh / mindicador.cl Libre c/cita Diaria
6 Censo Comunal 2024 INE CC BY 4.0 Decenal
7 Censo Hogares y Viviendas INE CC BY 4.0 Decenal
8 Establecimientos de Salud MINSAL / datos.gob.cl CC0 Mensual
9 Distritos Electorales BCN / Ley 20.840 CC0 —
10 Establecimientos Educacionales MINEDUC CC BY 3.0 CL Anual
11 Finanzas Municipales SINIM / SUBDERE Revisión términos Anual
12 Resultados Educacionales MINEDUC CC BY 3.0 CL Anual
13 Indicadores Urbanos SIEDU INE / SIEDU Datos abiertos INE Anual
14 Perfil Territorial Comunal chile-hub derivado Fuentes abiertas Derivada
15 Empresas (RES) Min. Economía / datos.gob.cl CC-BY 3.0 CL Mensual
16 Pobreza Comunal (SAE) MDS / Observatorio Social Datos abiertos MDS Bienal/trienal
17 Consumo Eléctrico Comunal CNE / Energía Abierta CC BY Anual
18 Partidos Políticos Cámara de Diputados CC BY Bajo_demanda
19 Autoridades Electas Cámara de Diputados + Senado CC BY Bajo_demanda
20 Estadísticas Vitales INE CC BY 4.0 Anual
21 Permisos de Edificación MINVU / CEDOC Uso c/cita Mensual
22 Calidad del Aire MMA / SINCA Revisión términos Diaria
23 geometria_comunal — — —
24 Delincuencia Comunal CEAD / SPD Revisión términos —
25 Autoridades Locales BCN SIIT + Wikipedia CC BY / CC BY-SA —

Métricas por build: el modo de la última extracción, el conteo de registros, la cobertura y la frescura viven en hub_health.md, dataset_status.json y dataset_quality.md, regenerados en cada build; los badges resumen frescura y estado: Data Coverage Para auditar el estado exacto de cada capa: chile-hub provenance y chile-hub health.

El schema de columnas, tipos y PK de cada capa vive en contracts/datasets/ y en docs/datasets/; el volcado completo está en el apéndice.

Formatos de salida

Cada ejecución del pipeline genera en data/normalized/:

Tipo Archivo Uso
Base de datos chile_data.duckdb Analítica local de alto rendimiento
Base de datos chile_data.db SQLite para aplicaciones embebidas
Intercambio *.parquet por capa Polars / Pandas / DuckDB
Intercambio *.json por capa Pipelines y automatización
Intercambio chile_data_latest.xlsx Excel multipestaña (códigos CUT como texto)
Metadatos artifact_manifest.json, hub_health.*, dataset_status.json, dataset_changelog.json, dataset_catalog.*, provenance_report.*, redistribution_report.* Catálogo físico, salud, changelog y auditoría
Bundle chile-hub-publishable-bundle.zip Paquete público con verificación SHA256

Recetas de uso

¿Prefieres notebooks? Las cuatro recetas están en examples/notebooks/ con botón de Colab, o ejecutables en el explorador SQL del sitio.

1. Últimos indicadores económicos disponibles

from chile_hub import ChileHub

df = ChileHub().load_polars("indicadores")
ultimos = (
    df.sort("fecha", descending=True)
    .group_by("codigo_indicador")
    .first()
    .select("codigo_indicador", "fecha", "valor")
    .sort("codigo_indicador")
)
print(ultimos)

2. Salud y educación por comuna

from chile_hub import ChileHub

hub = ChileHub()
salud = hub.load_polars("establecimientos_salud")
educacion = hub.load_polars("establecimientos_educacionales")

salud_por_comuna = salud.group_by("codigo_comuna").len("establecimientos_salud")
educacion_por_comuna = educacion.group_by("codigo_comuna").len("establecimientos_educacionales")

resumen = (
    hub.load_polars("comunas")
    .join(salud_por_comuna, on="codigo_comuna", how="left")
    .join(educacion_por_comuna, on="codigo_comuna", how="left")
    .fill_null(0)
    .select(
        "codigo_comuna", "nombre_comuna", "establecimientos_salud", "establecimientos_educacionales"
    )
)
print(resumen.head())

3. SQL directo con DuckDB

-- Top 10 comunas por población censada
SELECT nombre_comuna, poblacion_censada, hombres, mujeres
FROM 'data/normalized/censo_comunal.parquet'
ORDER BY poblacion_censada DESC
LIMIT 10;

-- Cruce territorial: comunas × distritos electorales
SELECT c.nombre_comuna, c.nombre_region,
       e.distrito_electoral, e.circunscripcion_senatorial
FROM 'data/normalized/comunas.parquet' c
JOIN 'data/normalized/distritos_electorales.parquet' e
  ON c.codigo_comuna = e.codigo_comuna
WHERE c.nombre_region = 'Valparaíso';

API y CLI

API Python compacta

API Uso
ChileHub() Inicializa el helper; descarga y verifica el bundle si no hay cache local.
ChileHub(data_dir="data/normalized") Usa artefactos locales generados por el pipeline.
hub.list_datasets() Lista los nombres canónicos disponibles para load_polars().
hub.load_polars("comunas") Carga una capa como polars.DataFrame desde Parquet.
hub.summary() / hub.summary_table() Resume modo de fuente, filas, validación, frescura y warnings.
hub.health() / hub.status() Reporta salud operativa para personas y CI/CD.
hub.redistribution() Expone estado legal de reúso y atribución por dataset.
hub.provenance() Muestra fuente, URL, modo de extracción y timestamps.
chile-hub cache update/status/clear Administra el cache local del bundle publicado.

¿Construyes agentes? El proyecto incluye un servidor MCP con catálogo, consultas y resolución de comunas para que tu agente consuma los datos sin integraciones propias: docs/mcp.md.

CLI: los comandos más usados

Comando Para qué
chile-hub list Lista todos los datasets registrados.
chile-hub show <capa> Schema y metadatos detallados de una capa.
chile-hub example <capa> --kind duckdb Receta de consumo lista para copiar y pegar.
chile-hub cross <a> <b> Cruza dos datasets por clave territorial común.
chile-hub export <capa> --output archivo Exporta un dataset a CSV, JSON o Parquet.
chile-hub health Reporte consolidado de salud del hub.
chile-hub status JSON ultraliviano para CI/CD.
chile-hub provenance URLs de origen y métodos de extracción.
chile-hub redistribution Reporte legal de reúso por capa.
chile-hub dataset-quality Puntuación de calidad A-F por dataset.
chile-hub --help Listado completo y siempre actualizado.
Referencia completa de CLI

Inspección y consulta

Comando Descripción
chile-hub list Lista todos los datasets registrados
chile-hub version Muestra la versión instalada del paquete
chile-hub cache status Muestra ubicación y estado del cache local
chile-hub cache update Descarga y verifica el bundle publicado
chile-hub cache clear Elimina el cache local
chile-hub show <capa> Schema y metadatos detallados de una capa
chile-hub path <capa> --output parquet Ruta física al archivo de una capa
chile-hub example <capa> --kind duckdb Receta de consumo lista para copiar y pegar
chile-hub overview Resumen general del build y estado actual
chile-hub inventory Archivos en data/normalized/ con tamaños y hashes
chile-hub snapshot Snapshot humano y compacto del hub
chile-hub summary Resumen breve de datasets
chile-hub search <keyword> Busca datasets por keyword, fuente o madurez
chile-hub cross <a> <b> Cruza dos datasets por clave territorial común
chile-hub export <capa> --output archivo Exporta un dataset a CSV, JSON o Parquet

Calidad, salud y auditoría

Comando Descripción
chile-hub health Reporte consolidado de salud del hub
chile-hub freshness-audit Auditoría de frescura contra el reloj actual
chile-hub runtime-status Salud registrada + vigencia en vivo
chile-hub top-issue Capa con mayor degradación operativa
chile-hub drift Desvíos, fallbacks activos y regresiones
chile-hub status JSON ultraliviano para CI/CD
chile-hub dataset-status Estado detallado machine-readable por dataset
chile-hub dataset-changelog Cambios entre el build actual y el metadata anterior
chile-hub source-readiness Madurez de fuente por dataset
chile-hub dataset-quality Puntuación de calidad A-F por dataset
chile-hub check-sources Verifica conectividad en vivo con las fuentes oficiales
chile-hub validate <capa> Valida un dataset (o un CSV/Parquet propio) contra su schema

Distribución e integridad

Comando Descripción
chile-hub bundle Metadata consolidada en un solo JSON
chile-hub redistribution Reporte legal de reúso por capa
chile-hub provenance URLs de origen y métodos de extracción
chile-hub verify-package Instrucción de verificación de integridad del ZIP
chile-hub artifacts Artefactos publicables del hub
chile-hub shared-artifacts Artefactos compartidos del hub (reportes, manifest)
chile-hub reports Lista los reportes compartidos disponibles
chile-hub report <nombre> Resuelve la metadata de un reporte compartido
chile-hub packages Paquetes publicables del hub
chile-hub package Metadata del package principal del hub

En entorno de desarrollo, usa python -m chile_hub o python -m src.chile_hub como alternativa al comando chile-hub si el paquete no está instalado en modo editable.


Cómo funciona

El pipeline es lineal, determinista y estricto: si una validación falla, el build se cancela antes de publicar datos corruptos.

flowchart TB
    classDef extract fill:#e0f2fe,stroke:#0284c7,stroke-width:2px,color:#0f172a;
    classDef stage fill:#ecfeff,stroke:#0891b2,stroke-width:2px,color:#0f172a;
    classDef build fill:#fef9c3,stroke:#ca8a04,stroke-width:2px,color:#0f172a;
    classDef verify fill:#f0fdf4,stroke:#16a34a,stroke-width:2px,color:#0f172a;
    classDef test fill:#fae8ff,stroke:#c084fc,stroke-width:2px,color:#0f172a;
    classDef publish fill:#ffe4e6,stroke:#f43f5e,stroke-width:2px,color:#0f172a;

    subgraph EXTRACT["1. EXTRACT - fuentes oficiales"]
        direction TB
        X1["Territorio<br/>BCN / SERVEL"]:::extract
        X2["Demografía 2024<br/>INE"]:::extract
        X3["Servicios públicos<br/>MINSAL / MINEDUC"]:::extract
        X4["Economía<br/>BCCh / SINIM / RES"]:::extract
        X5["Indicadores urbanos<br/>SIEDU"]:::extract
    end

    S["data/staging/<br/>CSV + metadata.json"]:::stage
    B["2. BUILD<br/>build_dev_db.py"]:::build
    N["data/normalized/<br/>artefactos publicables"]:::stage
    V["3. VERIFY<br/>verify_pipeline.py"]:::verify
    T["4. TEST<br/>pytest"]:::test
    L["5. SMOKE + PUBLISH<br/>landing + bundle"]:::publish

    X1 --> S
    X2 --> S
    X3 --> S
    X4 --> S
    X5 --> S
    S --> B --> N --> V --> T --> L
Extractores incluidos en el paso 1
Dominio Extractores
Territorio subdere_extractor.py, electoral_extractor.py, geometria_comunal_extractor.py
Demografía censo_extractor.py, censo_hogares_viviendas_extractor.py, pobreza_extractor.py, estadisticas_vitales_extractor.py
Servicios públicos salud_extractor.py, mineduc_establecimientos_extractor.py, mineduc_resultados_extractor.py
Economía bcentral_extractor.py, sinim_finanzas_extractor.py, sinim_finanzas_live_extractor.py, res_extractor.py, consumo_electrico_extractor.py, permisos_edificacion_extractor.py
Indicadores urbanos siedu_extractor.py
Medio ambiente calidad_aire_extractor.py
Política partidos_politicos_extractor.py, autoridades_electas_extractor.py, autoridades_locales_extractor.py
Seguridad (carril candidate) cead_delincuencia_live_extractor.py
Derivado en build_dev_db.py (sin extractor) perfil_territorial_comunal

El mapeo autoritativo entre dataset y extractor vive en data/dataset_catalog_config.json; esta tabla es solo orientativa. Detalle completo en AGENTS.md §2.

Modelo de datos: códigos CUT

El valor central de chile-hub es que todas las capas se vinculan jerárquicamente mediante los Códigos Únicos Territoriales (CUT) de SUBDERE/INE:

flowchart TB
    R["Territorio base<br/><b>REGIONES</b><br/>codigo_region"]
    P["<b>PROVINCIAS</b><br/>codigo_provincia + codigo_region"]
    C["<b>COMUNAS</b><br/>codigo_comuna + codigo_provincia + codigo_region"]
    L["Capas comunales<br/>codigo_comuna<br/>censo · hogares · salud<br/>educación · distritos · enriquecimiento"]

    R --> P --> C --> L
Grupo Clave principal Capas
Territorio base codigo_region, codigo_provincia, codigo_comuna regiones, provincias, comunas
Capas comunales codigo_comuna censo, hogares y viviendas, salud, educación, distritos electorales, pobreza, permisos de edificación, calidad del aire, estadísticas vitales, perfil territorial y más
Series temporales fecha o anio + clave propia indicadores, calidad_aire, permisos_edificacion
Registros clave propia empresas (RUT), partidos_politicos, autoridades_electas

El diagrama entidad-relación completo está en el apéndice.


Próximos pasos

El roadmap actual prioriza crecer en usabilidad y confianza antes que agregar más capas.

Horizonte Foco Entregable Estado
Now Ejemplos, notebooks, errores claros, referencia API Usuarios cargan y cruzan datos sin leer el pipeline completo En progreso
Next Contratos de schema, source readiness, criterios públicos Contribuidores proponen datasets con reglas claras y verificables Planeado
Later Nuevas capas solo si pasan criterios de inclusión El catálogo crece sin perder mantenibilidad ni claridad legal Futuro

Especificación completa: docs/product-spec.md Criterios de inclusión: docs/dataset-inclusion-criteria.md Estado del último build: data/normalized/pipeline_status.md


Desarrollo y contribución

¿Quieres aportar o pedir un dataset?

No necesitas saber programar ni traer los datos limpios: basta con la fuente y para qué sirve (o la necesidad, si solo quieres pedirlo). La guía de 2 minutos y los dos formularios están en Aportar o solicitar un dataset (criterios completos).

Desarrollar el pipeline

Esta sección es para contribuidores que ejecutan el pipeline de extracción, build y verificación en su máquina. Si solo necesitas consumir los datos, usa pip install chile-hub (ver Instalación).

Requiere uv y Git. Python lo gestiona uv (make bootstrap).

# Entorno
git clone https://github.com/cortega26/chile-hub.git
cd chile-hub
make bootstrap          # Crea .venv, instala dependencias + Playwright
make doctor             # Verifica versión de Python y dependencias críticas

# Pipeline completo
make refresh            # extract → build → verify → test → landing

# Pasos individuales
make extract            # Ejecuta los extractores → data/staging/
make build              # Compila artefactos → data/normalized/
make verify             # Verifica integridad (SHA256, conteos, schema)
make test               # pytest (lee data/normalized/, no corre el pipeline)
make coverage           # pytest + cobertura de src/ (term-missing + coverage.xml)
make verify-landing     # Pruebas de humo de landing page con Playwright

autoridades_electas requiere scrapling para no degradar a 155 registros (0 senadores); el comando local está en Carriles de extracción.

El ZIP publicable no se versiona: make build lo genera localmente y el sitio lo descarga desde el asset del último GitHub Release. Para clones más livianos: git clone --filter=blob:none https://github.com/cortega26/chile-hub.

Para entender la arquitectura, las reglas no negociables y el flujo de trabajo, revisa AGENTS.md; el punto de partida rápido es SOURCE_OF_TRUTH.md.

¿Encontraste un error o tienes un caso de uso? Abre un issue — ayuda a priorizar el roadmap.


Fuentes, licencias y reúso

Semáforo de redistribución

Semáforo Estado Licencia típica Acción
Verde open-attribution CC BY, CC0 o equivalente Se incluye en el bundle público
Amarillo public-api-review-terms API pública sin licencia explícita Se distribuye tras verificar el origen primario
Rojo restricted Derechos de autor, Ley 19.628 Nunca se integra al bundle público

Licencia del proyecto

El código Python se distribuye bajo MIT. Los datasets conservan las licencias, permisos y requisitos de atribución de sus fuentes oficiales. Consulta DATA_LICENSES.md, chile-hub redistribution y chile-hub provenance antes de redistribuir artefactos derivados.

Cómo citar

Si usas chile-hub en un paper, tesis, curso o informe, cita el software y atribuye la fuente de cada capa. GitHub muestra el botón "Cite this repository" a partir de CITATION.cff; las recetas BibTeX/APA y la ruta para un DOI Zenodo están en docs/citation.md.

Autor y mantenedor: Carlos Ortega — ORCID 0009-0000-3470-6181.


Apéndice: esquemas y modelo de datos

Schema completo de cada capa

1. regiones — Capa derivada de regiones para filtros, joins y referencias administrativas de alto nivel. (PK: codigo_region)

Columna Tipo Ejemplo
codigo_region VARCHAR(2) "01"
nombre_region VARCHAR "Tarapacá"

2. provincias — Capa derivada de provincias para cruces intermedios entre region y comuna. (PK: codigo_provincia)

Columna Tipo Ejemplo
codigo_region VARCHAR(2) "01"
nombre_region VARCHAR "Tarapacá"
codigo_provincia VARCHAR(3) "011"
nombre_provincia VARCHAR "Iquique"

3. comunas — Base territorial normalizada para cruces por region, provincia y comuna. (PK: codigo_comuna)

Columna Tipo Ejemplo
codigo_comuna VARCHAR(5) "01101"
nombre_comuna VARCHAR "Iquique"
nombre_comuna_clean VARCHAR "iquique"
codigo_provincia VARCHAR(3) "011"
codigo_region VARCHAR(2) "01"
nombre_region VARCHAR "Tarapacá"
latitud_cabecera DOUBLE -20.2138
longitud_cabecera DOUBLE -70.1508
poblacion_estimada INTEGER 223400

4. comunas_enriquecidas — Comunas con coordenadas de cabecera y poblacion estimada INE, listas para analisis territorial sin joins adicionales. (PK: codigo_comuna)

Columna Tipo Ejemplo
codigo_comuna VARCHAR(5) "01101"
nombre_comuna VARCHAR "Iquique"
nombre_comuna_clean VARCHAR "iquique"
codigo_provincia VARCHAR(3) "011"
codigo_region VARCHAR(2) "01"
latitud_cabecera DOUBLE -20.2138
longitud_cabecera DOUBLE -70.1508
poblacion_estimada INTEGER 223400

5. indicadores — Serie de indicadores economicos diarios de referencia para analisis y software. (PK: fecha, codigo_indicador)

Columna Tipo Ejemplo
fecha DATE "2026-05-30"
codigo_indicador VARCHAR "uf"
valor DOUBLE 39420.5

6. censo_comunal — Perfil demografico comunal del Censo 2024 con sexo y grandes grupos de edad. (PK: codigo_comuna)

Columna Tipo Ejemplo
codigo_region VARCHAR(2) "01"
codigo_provincia VARCHAR(3) "011"
codigo_comuna VARCHAR(5) "01101"
nombre_comuna VARCHAR "Iquique"
poblacion_censada INTEGER 223400
hombres / mujeres INTEGER "111200 / 112200"
razon_hombre_mujer DOUBLE 99.11
poblacion_0_14 … poblacion_65_mas INTEGER "5 tramos etarios"

7. censo_hogares_viviendas — Viviendas y hogares censados por comuna, ocupacion y tamano medio del hogar. (PK: codigo_comuna)

Columna Tipo Ejemplo
codigo_comuna VARCHAR(5) "01101"
viviendas_censadas INTEGER 85000
viviendas_particulares_ocupadas INTEGER 75000
viviendas_colectivas INTEGER 200
hogares_censados INTEGER 73000
promedio_personas_hogar DOUBLE 3.06

8. establecimientos_salud — Directorio vigente de establecimientos de salud con tipo, dependencia, urgencia y ubicacion. (PK: codigo_establecimiento)

Columna Tipo Ejemplo
codigo_establecimiento VARCHAR "101101"
nombre_establecimiento VARCHAR "Hospital Dr. Ernesto Torres Galdames"
tipo_establecimiento VARCHAR "Hospital"
nivel_atencion VARCHAR "Alta Complejidad"
codigo_comuna VARCHAR(5) "01101"
tiene_servicio_urgencia VARCHAR "SI" / "NO"
latitud / longitud DOUBLE "Coordenadas geográficas"
estado_funcionamiento VARCHAR "Vigente"

9. distritos_electorales — Asociación de comunas a distritos electorales (diputados) y circunscripciones senatoriales. (PK: codigo_comuna)

Columna Tipo Ejemplo
codigo_comuna VARCHAR(5) "01101"
nombre_comuna VARCHAR "Las Condes"
distrito_electoral VARCHAR "10"
circunscripcion_senatorial VARCHAR "3"

10. establecimientos_educacionales — Directorio oficial del Ministerio de Educación (MINEDUC) con Rol Base de Datos (RBD), ubicación y dependencia administrativa. (PK: rbd)

Columna Tipo Ejemplo
rbd VARCHAR "1234-5"
dv_rbd VARCHAR "4"
nombre_establecimiento VARCHAR "Liceo Abate Molina"
codigo_comuna VARCHAR(5) "01101"
dependencia_administrativa VARCHAR "Municipal"
latitud / longitud DOUBLE "Coordenadas geográficas"
estado_funcionamiento VARCHAR "Vigente"

11. finanzas_municipales — Indicadores financieros municipales anuales desde SINIM/SUBDERE. CAPA PARCIAL/CANDIDATO: 3 de 346 comunas (0.9%). Usar con precaución; no representa cobertura nacional. (PK: anio, codigo_comuna)

Columna Tipo Ejemplo
anio INTEGER 2024
codigo_comuna VARCHAR(5) "01101"
ingresos_totales / gastos_totales DOUBLE 245000000000.0
ingresos_propios_permanentes DOUBLE 162000000000.0
fondo_comun_municipal DOUBLE 39000000000.0

12. resultados_educacionales — Resultados educacionales agregados por comuna y año, sin registros personales. (PK: anio, codigo_comuna)

Columna Tipo Ejemplo
anio INTEGER 2024
codigo_comuna VARCHAR(5) "01101"
matricula_total INTEGER 122000
asistencia_promedio DOUBLE 86.2
tasa_aprobacion / tasa_retiro DOUBLE "91.4 / 4.5"

13. indicadores_urbanos_siedu — Indicadores urbanos SIEDU en formato largo con cobertura comunal parcial esperada. (PK: anio, codigo_comuna, codigo_indicador)

Columna Tipo Ejemplo
anio INTEGER 2024
codigo_comuna VARCHAR(5) "01101"
codigo_indicador VARCHAR "siedu_acceso_areas_verdes"
categoria VARCHAR "Espacio publico"
valor / unidad DOUBLE "71.4 / "porcentaje"

14. perfil_territorial_comunal — Perfil comunal curado que consolida DPA, censo, salud, educación, finanzas, SIEDU y distritos. (PK: codigo_comuna)

Columna Tipo Ejemplo
codigo_comuna VARCHAR(5) "01101"
poblacion_censada INTEGER 223400
establecimientos_salud_total INTEGER 140
establecimientos_educacionales_total INTEGER 410
distrito_electoral VARCHAR "10"
crecimiento_natural_ultimo_anio INTEGER 12
anio_estadisticas_vitales INTEGER 2023
viviendas_autorizadas_ultimo_anio INTEGER 2451
superficie_autorizada_m2_ultimo_anio INTEGER 187320
anio_permisos_edificacion INTEGER 2023
mp25_promedio_ultimo_anio DOUBLE 18.4
anio_calidad_aire INTEGER 2026

15. empresas — Registro de Empresas y Sociedades (RES) con RUT, razon social, tipo societario, capital, fecha de constitucion y comuna de domicilio. (PK: rut)

Columna Tipo Ejemplo
rut VARCHAR "76286049-K"
razon_social VARCHAR "COMERCIALIZADORA EJEMPLO SPA"
codigo_sociedad VARCHAR "SPA"
capital INTEGER 5000000
fecha_actuacion DATE "2020-06-15"
anio INTEGER 2020
comuna_tributaria VARCHAR "SANTIAGO"
region_tributaria VARCHAR "13"

16. pobreza_comunal — Estimaciones de pobreza comunal por ingresos y multidimensional derivadas de la encuesta CASEN mediante metodología SAE (Estimación de Áreas Pequeñas). Incluye tasa, límite inferior y superior del intervalo de confianza por comuna, año y dimensión. (PK: codigo_comuna, anio, dimension)

Columna Tipo Ejemplo
codigo_region VARCHAR(2) "01"
codigo_comuna VARCHAR(5) "01101"
nombre_comuna VARCHAR "Santiago"
anio INTEGER 2022
dimension VARCHAR "ingresos" / "multidimensional"
tasa DOUBLE 15.3
limite_inferior DOUBLE 12.1
limite_superior DOUBLE 18.9
metodologia VARCHAR "SAE"
fuente VARCHAR "Observatorio Social — MDS"

17. consumo_electrico_comunal — Consumo eléctrico anual por comuna y tipo de cliente (Residencial, Comercial, Industrial, Agrícola, Alumbrado Público, Otros), publicado por la Comisión Nacional de Energía (CNE) en el portal Energía Abierta. DEPRECATED: la fuente Junar de energiaabierta.cl fue decomisionada (investigado 2026-07-07); el dataset solo publica datos de muestra (FALLBACK_ROWS), no está en el bundle público. Ver data/source_registry.json. (PK: codigo_comuna, anio, tipo_cliente)

Columna Tipo Ejemplo
codigo_region VARCHAR(2) "01"
codigo_comuna VARCHAR(5) "01101"
nombre_comuna VARCHAR "Santiago"
anio INTEGER 2023
tipo_cliente VARCHAR "Residencial"
consumo_kwh DOUBLE 1523400.5
numero_clientes INTEGER 45800
fuente VARCHAR "CNE — Energía Abierta"

18. partidos_politicos — Roster de partidos políticos de Chile (Cámara de Diputadas y Diputados), con estado_legal y fecha_constitucion completados por join de nombre contra el registro público de SERVEL. (PK: id_partido)

Columna Tipo Ejemplo
id_partido VARCHAR "DC"
nombre VARCHAR "Partido Demócrata Cristiano"
sigla VARCHAR "DC"
estado_legal VARCHAR "constituido" (nulo si no matchea con SERVEL)"`
fecha_constitucion DATE "1988-05-02"
ambito VARCHAR "null (sin fuente que lo provea)"`
fuente VARCHAR "Cámara de Diputadas y Diputados"

19. autoridades_electas — Autoridades electas en ejercicio de Chile (diputados y senadores): partido, distrito electoral/circunscripción senatorial, región y período de mandato. (PK: id_autoridad)

Columna Tipo Ejemplo
id_autoridad VARCHAR "diputado_1009"
nombre VARCHAR "Jorge Alessandri Vergara"
cargo VARCHAR "diputado" / "senador"
institucion VARCHAR "Cámara de Diputadas y Diputados" / "Senado"
partido VARCHAR "Unión Demócrata Independiente"
distrito_electoral VARCHAR "10" (solo diputados)"`
circunscripcion_senatorial VARCHAR "3" (solo senadores)"`
codigo_region VARCHAR(2) "02" (solo senadores)"`
periodo_inicio / periodo_fin DATE "2026-03-11 / 2030-03-10"
estado_mandato VARCHAR "vigente"

20. estadisticas_vitales — Nacimientos y defunciones por comuna de residencia y sexo, desde los Anuarios de Estadísticas Vitales del INE (definitivos, 2010 en adelante). (PK: anio, codigo_comuna, evento, sexo)

Columna Tipo Ejemplo
anio INTEGER 2023
codigo_region VARCHAR(2) "13"
codigo_comuna VARCHAR(5) "13101"
nombre_comuna VARCHAR "Santiago"
evento VARCHAR "nacimiento"
sexo VARCHAR "hombre"
cantidad INTEGER 4521
estado_dato VARCHAR "definitivo"
fuente VARCHAR "Instituto Nacional de Estadísticas (INE) — Estadísticas Vitales"
url_fuente VARCHAR "https://www.ine.gob.cl/docs/default-source/.../2023/....xlsx"
fecha_fuente VARCHAR "2026-09-14"

21. permisos_edificacion — Viviendas en unidades y superficie (m2) por comuna y año —casas y departamentos— desde las estadísticas de permisos de edificación del CEDOC (MINVU), serie desde 2002. (PK: anio, codigo_comuna)

Columna Tipo Ejemplo
anio INTEGER 2023
codigo_region VARCHAR(2) "13"
codigo_comuna VARCHAR(5) "13101"
nombre_comuna VARCHAR "Santiago"
unidades_total INTEGER 2451
superficie_m2_total INTEGER 187320
unidades_casas INTEGER 312
superficie_m2_casas INTEGER 24810
unidades_departamentos INTEGER 2139
superficie_m2_departamentos INTEGER 162510
estado_dato VARCHAR "definitivo"
fuente VARCHAR "MINVU — Centro de Estudios de Ciudad y Territorio (CEDOC)"
url_fuente VARCHAR "https://catalogo.minvu.cl/cgi-bin/koha/opac-retrieve-file.pl?id=..."
fecha_fuente VARCHAR "2026-09-15"

22. calidad_aire — Promedios diarios de contaminantes atmosféricos (MP2.5, MP10, SO2, NO2, CO, O3) por estación de monitoreo, desde el SINCA (MMA). Cobertura parcial: ~65 comunas con estación. (PK: fecha, id_estacion, codigo_contaminante)

Columna Tipo Ejemplo
fecha VARCHAR "2026-09-14"
id_estacion VARCHAR "271"
nombre_estacion VARCHAR "Quilicura"
codigo_region VARCHAR(2) "13"
codigo_comuna VARCHAR(5) "13144"
nombre_comuna VARCHAR "Quilicura"
latitud DOUBLE -33.36
longitud DOUBLE -70.73
codigo_contaminante VARCHAR "mp25"
nombre_contaminante VARCHAR "MP 2,5"
unidad VARCHAR "ug/m3"
valor_promedio_diario DOUBLE 18.4
valor_max_horario DOUBLE 42.0
horas_validas INTEGER 24
estado_dato VARCHAR "definitivo"
fuente VARCHAR "SINCA — Ministerio del Medio Ambiente"
url_fuente VARCHAR "https://sinca.mma.gob.cl/index.php/json/listadomapa2k19/"
fecha_fuente VARCHAR "2026-09-15"

23. geometria_comunal — Límites poligonales de las 346 comunas de Chile (GeoParquet, geometría 'generalizada' — simplificada para cartografía a escala nacional, no apta para trabajo de precisión geodésica ni catastral). Fuente: BCN ArcGIS (tematico/Comunas_Generalizadas). Artefacto separado de comunas, unido por codigo_comuna. (en carril candidate — datos no incluidos en el bundle público) (PK: codigo_comuna)

Columna Tipo Ejemplo
codigo_region VARCHAR(2) "01"
codigo_comuna VARCHAR(5) "01101"
nombre_comuna VARCHAR "Iquique"
nombre_comuna_clean VARCHAR "iquique"
nombre_region VARCHAR "Región de Tarapacá"
geometry BINARY "WKB — Polygon o MultiPolygon en EPSG:4326 (WGS84), geoparquet 1.0"

24. delincuencia_comunal — DEPRECATED 2026-09-15: Casos policiales de Delitos de Mayor Connotación Social (DMCS) y otras categorías por comuna y mes. Sin fuente estructurada oficial (solo scraping frágil) y no redistribuible; extractor neutralizado y fuera del scrape mensual. Ver docs/datasets/delincuencia_comunal.md. (en carril candidate — datos no incluidos en el bundle público) (PK: anio, mes, codigo_comuna, familia_delito)

Columna Tipo Ejemplo
codigo_comuna VARCHAR(5) "01101"
nombre_comuna VARCHAR "Santiago"
anio INTEGER 2024
mes INTEGER 1
familia_delito VARCHAR "robos_violentos"
casos INTEGER 245

25. autoridades_locales — Autoridades locales/subnacionales de Chile: gobernadores regionales (Wikipedia, CC-BY-SA) y alcaldes (BCN SIIT, dato público gubernamental). Wikipedia se mantiene como fuente de gobernadores y enriquecimiento opcional de periodo_inicio para alcaldes. Dataset segregado de autoridades_electas por licencia mixta. (en carril candidate — datos no incluidos en el bundle público) (PK: id_autoridad)

Columna Tipo Ejemplo
id_autoridad VARCHAR "gobernador_01"
nombre VARCHAR "null si no hay evidencia clara del titular"`
cargo VARCHAR "gobernador_regional" / "alcalde"
codigo_region VARCHAR(2) "01"
codigo_comuna VARCHAR(5) "01101" (solo alcaldes)"`
partido VARCHAR "nulo si no identificado"
estado_mandato VARCHAR "vigente" / "sin_identificar"
Diagrama entidad-relación (capas principales)
erDiagram
    REGIONES {
        VARCHAR codigo_region PK "Ej: '01' (Tarapacá)"
        VARCHAR nombre_region
    }
    PROVINCIAS {
        VARCHAR codigo_provincia PK "Ej: '011' (Iquique)"
        VARCHAR codigo_region FK
        VARCHAR nombre_provincia
    }
    COMUNAS {
        VARCHAR codigo_comuna PK "Ej: '01101' (Iquique)"
        VARCHAR codigo_provincia FK
        VARCHAR codigo_region FK
        VARCHAR nombre_comuna
        VARCHAR nombre_comuna_clean "Ej: 'iquique' (sin tildes)"
    }
    COMUNAS_ENRIQUECIDAS {
        VARCHAR codigo_comuna PK
        VARCHAR nombre_comuna
        DOUBLE latitud_cabecera
        DOUBLE longitud_cabecera
        INTEGER poblacion_estimada
    }
    CENSO_COMUNAL {
        VARCHAR codigo_comuna PK
        INTEGER poblacion_censada
        INTEGER hombres
        INTEGER mujeres
        INTEGER poblacion_0_14
    }
    CENSO_HOGARES_VIVIENDAS {
        VARCHAR codigo_comuna PK
        INTEGER viviendas_censadas
        INTEGER hogares_censados
        DOUBLE promedio_personas_hogar
    }
    ESTABLECIMIENTOS_SALUD {
        VARCHAR codigo_establecimiento PK
        VARCHAR codigo_comuna FK
        VARCHAR nombre_establecimiento
        VARCHAR tipo_establecimiento
    }
    DISTRITOS_ELECTORALES {
        VARCHAR codigo_comuna PK
        VARCHAR distrito_electoral
        VARCHAR circunscripcion_senatorial
    }
    ESTABLECIMIENTOS_EDUCACIONALES {
        VARCHAR rbd PK "Rol Base de Datos"
        VARCHAR codigo_comuna FK
        VARCHAR nombre_establecimiento
    }
    INDICADORES {
        DATE fecha PK
        VARCHAR codigo_indicador PK "Ej: 'uf', 'dolar'"
        DOUBLE valor
    }

    REGIONES ||--o{ PROVINCIAS : "contiene"
    PROVINCIAS ||--o{ COMUNAS : "contiene"
    COMUNAS ||--|| COMUNAS_ENRIQUECIDAS : "enriquece"
    COMUNAS ||--o| CENSO_COMUNAL : "demografía"
    COMUNAS ||--o| CENSO_HOGARES_VIVIENDAS : "hogares"
    COMUNAS ||--o{ ESTABLECIMIENTOS_SALUD : "salud"
    COMUNAS ||--o{ ESTABLECIMIENTOS_EDUCACIONALES : "educación"
    COMUNAS ||--o| DISTRITOS_ELECTORALES : "electoral"

Bandera de Chile Hecho con datos públicos chilenos, para quienes construyen sobre Chile.

Parte del ecosistema Tooltician — datos públicos, interoperables y listos para IA.

Metadata

Release files for chile-hub 1.47.16

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for chile-hub 1.47.16
File Size Uploaded
chile_hub-1.47.16.tar.gz 134.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for chile-hub 1.47.16
File Interpreter ABI Platform
chile_hub-1.47.16-py3-none-any.whl Python 3 none any Details

Total release size: 227.6 kB

Release files / chile_hub-1.47.16.tar.gz

Download URL chile_hub-1.47.16.tar.gz
Size 134.7 kB
Tags Source
SHA-256 checksum
How to use checksums
63c1b07439e059aa17365cbd7be3ed46d22a50cc1c97a3eb8d36fd1e22fc9114
BLAKE2b-256 checksum
How to use checksums
3f65fe439a745186656c506c0710192c883266584e359b35e6b3c85062134812
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / chile_hub-1.47.16-py3-none-any.whl

Download URL chile_hub-1.47.16-py3-none-any.whl
Size 92.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bdebc3bb102c2153eac75b6a805281dfbd0b5fde00bec94fd9720d5dce8d6324
BLAKE2b-256 checksum
How to use checksums
430c626c71c43a8f8a29539c11734db2377b03d77d091a7c1bd494120ab43951
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release history Release notifications | RSS feed

1.48.2

2 release files

1.48.1

2 release files

1.48.0

2 release files

This release

1.47.16 This release

2 release files

1.47.9

2 release files

1.47.8

2 release files

1.47.7

2 release files

1.47.6

2 release files

1.47.5

2 release files

1.47.1

2 release files

1.47.0

2 release files

1.46.1

2 release files

1.46.0

2 release files

1.45.0

2 release files

1.44.2

2 release files

1.44.1

2 release files

1.44.0

2 release files

1.43.1

2 release files

1.43.0

2 release files

1.42.0

2 release files

1.41.0

2 release files

1.40.0

2 release files

1.39.1

2 release files

1.39.0

2 release files

1.38.0

2 release files

1.37.8

2 release files

1.37.7

2 release files

1.37.6

2 release files

1.37.5

2 release files

1.37.4

2 release files

1.37.3

2 release files

1.37.2

2 release files

1.37.1

2 release files

1.37.0

2 release files

1.36.5

2 release files

1.36.4

2 release files

1.36.3

2 release files

1.36.2

2 release files

1.36.1

2 release files

1.36.0

2 release files

1.35.0

2 release files

1.34.2

2 release files

1.34.1

2 release files

1.34.0

2 release files

1.33.0

2 release files

1.32.0

2 release files

1.31.0

2 release files

1.30.0

2 release files

1.29.0

2 release files

1.28.8

2 release files

1.28.7

2 release files

1.28.6

2 release files

1.28.5

2 release files

1.28.4

2 release files

1.28.3

2 release files

1.28.2

2 release files

1.28.1

2 release files

1.28.0

2 release files

1.27.0

2 release files

1.26.0

2 release files

1.25.1

2 release files

1.25.0

2 release files

1.24.1

2 release files

1.24.0

2 release files

1.23.1

2 release files

1.23.0

2 release files

1.22.0

2 release files

1.21.1

2 release files

1.21.0

2 release files

1.20.0

2 release files

1.18.0

2 release files

1.17.1

2 release files

1.17.0

2 release files

1.16.0

2 release files

1.15.1

2 release files

1.15.0

2 release files

1.14.1

2 release files

1.14.0

2 release files

1.13.1

2 release files

1.13.0

2 release files

1.12.0

2 release files

1.11.1

2 release files

1.11.0

2 release files

1.10.0

2 release files

1.9.0

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page