01
QuestionDomanda what we want to measurecosa si vuole misurare
02
Dataset search with opensdmxricerca con opensdmx
03
Download SDMX API, raw CSVAPI SDMX, CSV grezzo
04
TransformsTrasformazioni documented step-by-stepdocumentate passo-passo
05
ChartsGrafici roughViz · chart.xkcd
06
Accountability reproducible by anyoneriproducibile da chiunque

Latest generated reportsUltimi report generati

Reproducibility: each report contains the raw data downloaded via SDMX API, the exact CLI commands to re-download them, and a chronological log of operations in notes.md. No data is manually modified. The YAML files in queries/ allow re-generating each dataset at any time. Riproducibilità: ogni report contiene i dati grezzi scaricati via API SDMX, i comandi CLI esatti per riscaricarli, e un log cronologico delle operazioni in notes.md. Nessun dato è modificato a mano. I file YAML in queries/ permettono di rigenerare ogni dataset in qualsiasi momento.

How it worksCome funziona

The AI receives a natural language question and drives opensdmx CLI step-by-step. Calculations are performed by the library — not the AI — ensuring that every transformation is correct. Example: European population by country via Eurostat. L'AI riceve una domanda in linguaggio naturale e pilota opensdmx CLI passo-passo. I calcoli sono eseguiti dalla libreria — non dall'AI — garantendo che ogni trasformazione sia corretta. Esempio: popolazione europea per paese via Eurostat.

00
Natural language input · AI as orchestrator Input in linguaggio naturale · AI come orchestratore

The AI receives the research question, deduces relevant statistical proxies and explanatory variables, chooses the provider and formalises the question, scope and hypotheses in notes.md before opening the terminal. The subsequent steps are driven by the AI command by command; opensdmx CLI executes. L'AI riceve la domanda di ricerca, deduce proxy statistiche e variabili esplicative rilevanti, sceglie il provider e formalizza domanda, scope e ipotesi in notes.md prima di aprire il terminale. I passi successivi vengono pilotati dall'AI comando per comando; opensdmx CLI esegue.

Input:Input: "birth rates in European countries, related explanatory variables""natalità nei paesi europei, variabili esplicative correlate"
AI deduces:AI deduce: proxy → TFR · explanatory →esplicative → female employment · nurseries · family spending/GDPoccupazione F · asili nido · spesa famiglia/PIL
Provider chosen:Provider scelto: Eurostat · maximum EU27 coveragemassima copertura EU27
01
Request analysis Analisi della richiesta

The request is broken down into keywords, expected dimensions and provider. La richiesta viene scomposta in parole chiave, dimensioni attese e provider.

Keywords:Parole chiave: population · Europe
Expected dimensions:Dimensioni attese: geo · time
Provider: Eurostat · default
02
Dataset search Ricerca dataset

Full-text search on the provider's index. On Eurostat this returns hundreds of datasets; the relevant candidates are selected for subsequent verification. Ricerca full-text sull'indice del provider. Su Eurostat restituisce centinaia di dataset; vengono selezionati i candidati rilevanti per la verifica successiva.

$ opensdmx search "population" --n 50
↳ 514 datasets found · selecting relevant candidates514 dataset trovati · seleziono i candidati rilevanti
03
Candidate evaluation · 3 parallel info calls Valutazione candidati · 3 chiamate info in parallelo

For each candidate the structure endpoint is queried to verify temporal coverage, geographic granularity and available dimensions. Unsuitable datasets are excluded with explicit justification. Per ogni candidato viene interrogato lo structure endpoint per verificare copertura temporale, granularità geografica e dimensioni disponibili. I dataset non adatti vengono esclusi con motivazione esplicita.

$ opensdmx info DEMO_PJAN → freq · unit · age · sex · geo · 1960–2025 ✓
$ opensdmx info TPS00001 → freq · indic_de · geo · only 12 yearssolo 12 anni ↗
$ opensdmx info TGS00096 → geo NUTS2, not nationalnon nazionale ✗
DEMO_PJAN ✓ selectedselezionato Population on 1 January by age and sex
TPS00001 ↗ partialparziale only 2014–2025solo 2014–2025
TGS00096 ✗ excludedescluso regional level NUTS2 — not nationallivello regionale NUTS2 — non nazionale
04
Real code verification · constraint endpoint Verifica codici reali · constraint endpoint

Before downloading data, the real constraints of the dataset are queried: how many values exist for each dimension and which codes are actually available. This prevents building queries with non-existent codes. Prima di scaricare i dati, vengono interrogati i constraint reali del dataset: quanti valori esistono per ogni dimensione e quali codici sono effettivamente disponibili. Questo impedisce di costruire query con codici inesistenti.

$ opensdmx constraints DEMO_PJAN
↳ availableconstraint · verifying real codesverifica codici reali
DimensionDimensione n valuesn valori SampleCampione
freq1A — annualA — annuale
unit1NR — absolute numberNR — numero assoluto
age103TOTAL, Y_LT1, Y1, Y2 …
sex3T · M · F
geo59EU27_2020, EU28, IT, DE …
TIME_PERIOD661960 → 2025
05
Download with precise filters Download con filtri precisi

The query is built with the codes verified in the previous step. --last-n 1 selects the most recent observation for each series, avoiding downloading the entire time series when not needed. La query viene costruita con i codici verificati al passo precedente. --last-n 1 seleziona l'osservazione più recente per ogni serie, evitando di scaricare l'intera serie storica quando non serve.

$ opensdmx get DEMO_PJAN --age TOTAL --sex T --last-n 1
↳ most recent observation per series · all countries · 59 raw rowsosservazione più recente per serie · tutti i paesi · 59 righe raw
06
Processing · filter, decode, sort Elaborazione · filtra, decodifica, ordina

Raw data contains aggregated codes (EU27, EA20, EEA…) that must be removed before visualisation. ISO codes are replaced with country names. Each operation is documented and declared in the report. I dati grezzi contengono codici aggregati (EU27, EA20, EEA…) che vanno rimossi prima della visualizzazione. I codici ISO vengono sostituiti con i nomi paese. Ogni operazione è documentata e dichiarata nel report.

🗑️ Filter EU/EA/EEA/EFTA aggregates — 10 codes removedFiltro aggregati EU/EA/EEA/EFTA — rimossi 10 codici
🏷️ Decode ISO codes → country names — 49 statesDecodifica codici ISO → nomi paese — 49 stati
↕️ Sort DESC by OBS_VALUEOrdinamento DESC per OBS_VALUE
Result: Risultato: 49 statesstati · prevalent year: anno prevalente: 1 January 20251 gennaio 2025 · ready for visualisationpronti per la visualizzazione
07
Output · HTML report + accountability artefacts Output · report HTML + artefatti di accountability

The AI assembles the self-contained HTML page with inline charts, finding cards and methodological sections. In parallel it saves all the artefacts that make the analysis verifiable and reproducible by anyone at any time. L'AI assembla la pagina HTML autosufficiente con grafici inline, finding cards e sezioni metodologiche. In parallelo salva tutti gli artefatti che rendono l'analisi verificabile e riproducibile da chiunque in qualsiasi momento.

📄 index.html — self-contained page, inline charts, no server requiredpagina autosufficiente, grafici inline, nessun server necessario
📋 queries/*.yaml — reproducible query for each downloaded datasetquery riproducibile per ogni dataset scaricato
🗂️ metadata/*.csv — codelist for each filtered or visualised dimensioncodelist per ogni dimensione filtrata o visualizzata
📝 notes.md — chronological log: exact commands, choices, anomalies, transformationslog cronologico: comandi esatti, scelte, anomalie, trasformazioni
To regenerate data in future: Per rigenerare i dati in futuro: opensdmx run queries/A_nome.yaml --out output/A_nome.csv

Available providersProvider disponibili

The listed providers are curated examples. opensdmx works with any SDMX 2.1 REST endpoint — use --provider <URL> to connect to unlisted providers. I provider elencati sono esempi curati. opensdmx funziona con qualsiasi endpoint SDMX 2.1 REST — usa --provider <URL> per connetterti a provider non elencati.

Alias NameNome DescriptionDescrizione Agency Constraints last-n
eurostat Eurostat Statistical office of the EU. Covers demographics, economy, employment, trade, agriculture and environment for 27 member states and associated countries. Primary source for European comparative statistics. ESTAT ✓ ✓
comext Eurostat Comext Eurostat's reference database for detailed statistics on international trade in goods (ITG). Covers EU and non-EU trade by CN8 product codes since 1988. Also includes PRODCOM manufacturing data. Dataset IDs are prefixed DS-. Full dataset download is disabled by the API — dimension filters are required. ESTAT ✗ ✓
istat ISTAT Italian National Institute of Statistics. Covers population, economy, employment, prices and social indicators for Italy. Main source for Italian official statistics. IT1 ✓ ✓
ecb European Central Bank ECB Statistical Data Warehouse. Covers monetary policy, banking supervision, exchange rates, balance of payments and financial statistics for the euro area. ECB ✗ ✓
oecd OECD Organisation for Economic Co-operation and Development. Covers education, health, tax, trade, environment and social indicators across 38 member countries. Strong on cross-country comparisons. OECD ✗ ✓
insee INSEE French National Institute of Statistics and Economic Studies. Covers French population, economy, employment, prices and social indicators via the BDM macro-economic time series database. FR1 ✗ ✓
bundesbank Deutsche Bundesbank German central bank time series database. Covers monetary statistics, banking, financial markets, exchange rates and German macroeconomic indicators. BBK ✗ ✓
worldbank World Bank World Development Indicators and other World Bank datasets. Covers 200+ countries with 1400+ indicators on development, poverty, health, education and environment. WB ✗ ✗
abs Australian Bureau of Statistics Official Australian statistics. Covers population, economy, employment, trade, prices and environment for Australia and its territories. ABS ✓ ✓
bis Bank for International Settlements The bank for central banks. Global financial statistics: international credit, debt securities, exchange rates, banking flows, derivatives and property prices. Data contributed by 63 central banks worldwide. BIS ✓ ✓
imf International Monetary Fund IMF statistical databases. Includes the World Economic Outlook (WEO) with GDP growth, inflation and fiscal forecasts for 190+ countries; Balance of Payments; Financial Soundness Indicators; and more. Use dataflow WEO with agency IMF.RES for WEO data. Country codes: ISO alpha-3 (USA, DEU, JPN). IMF.RES ✓ ✓