Acceso HTTP estático
Los artefactos publicados de chile-hub (Parquet, JSON, catálogo) se sirven como archivos estáticos en un base URL estable, sin necesidad de instalar la librería Python ni clonar el repositorio:
https://tooltician.com/chile-hub/data/normalized/
Nota de estabilidad: este directorio refleja siempre la última build publicada (
latest), no una versión pinada. Para reproducibilidad exacta sobre una versión específica, usa el bundle ZIP versionado de GitHub Releases en su lugar (ver Fijación de versión).
Descubrir los datasets: data.json (DCAT)
data.json es un
catálogo cosechable estilo DCAT-US (el perfil que usa data.gov y la mayoría de
los portales de datos abiertos gubernamentales basados en CKAN) generado
automáticamente desde datapackage.json. Lista cada dataset con su
downloadURL absoluta:
curl -s https://tooltician.com/chile-hub/data/normalized/data.json | jq '.dataset[0]'
Python
import io
import polars as pl
import requests
url = "https://tooltician.com/chile-hub/data/normalized/comunas.parquet"
df = pl.read_parquet(io.BytesIO(requests.get(url, timeout=60).content))
print(df.head())
Por qué no
pl.read_parquet(url)directo: GitHub Pages no envía el headerContent-Lengthy el reader HTTP de polars lo exige (Content-Length Header missing from response). Descarga conrequests(como arriba) o usa DuckDB conhttpfs, que sí lo soporta.
O usando la librería, con el descriptor Frictionless:
from chile_hub import ChileHub
hub = ChileHub.from_datapackage("https://tooltician.com/chile-hub/data/normalized/datapackage.json")
from_datapackage(url)valida el descriptor remoto pero todavía no devuelve unChileHubfuncional sobre datos remotos (verdocs/adr/ADR-010-acceso-http-estatico-y-dcat.md, Preguntas abiertas). Para consumir datos hoy, usaChileHub()sin argumentos (descarga y cachea el bundle automáticamente) o lee el Parquet directo por HTTP como en el ejemplo de arriba.
R (arrow)
library(arrow)
df <- read_parquet("https://tooltician.com/chile-hub/data/normalized/comunas.parquet")
head(df)
Ver Uso desde R para más recetas con arrow y duckdb.
JavaScript / Observable
const response = await fetch(
"https://tooltician.com/chile-hub/data/normalized/comunas.json"
);
const comunas = await response.json();
console.log(comunas[0]);
DuckDB (SQL, cualquier lenguaje)
INSTALL httpfs; LOAD httpfs;
SELECT codigo_comuna, nombre_comuna
FROM 'https://tooltician.com/chile-hub/data/normalized/comunas.parquet'
LIMIT 5;
Hugging Face Hub (cero instalación, también para agentes)
El bundle publicable se replica en Hugging Face Hub con un subset por capa (selector "Subset" del visor y SQL Console incluidos). Es el camino más corto para explorar los datos sin instalar nada:
from datasets import load_dataset
comunas = load_dataset("cortega26/chile-hub", "comunas", split="train")
DuckDB 1.5+ lee el repositorio directamente con el protocolo hf://
(extensión httpfs, sin descargar el bundle):
INSTALL httpfs; LOAD httpfs;
SELECT codigo_comuna, nombre_comuna
FROM 'hf://datasets/cortega26/chile-hub/data/comunas.parquet'
LIMIT 5;
La revisión
@~parquet(hf://datasets/cortega26/chile-hub@~parquet/…) contiene la copia auto-convertida por Hugging Face; los archivos bajodata/son los originales del bundle. El mirror publica únicamente el carrilstable_publishable; para el carrilcandidateusa el sitio estático o el paquete Python.