CLI per il SITUAS (Sistema Informativo Territoriale delle Unità Amministrative e Statistiche, ISTAT), pensata per l'orchestrazione da parte di agenti AI
Project description
opensituas
CLI per il SITUAS — Sistema Informativo Territoriale delle Unità Amministrative e
Statistiche (ISTAT) — progettata per essere orchestrata da un agente AI: output
strutturato (table/json/csv), errori auto-esplicativi, catalogo cachato.
opensituas è un'idea di Alice Corona.
Installazione
uv tool install opensituas # CLI a livello di sistema
# oppure, in sviluppo:
uv pip install -e .
Cosa espone SITUAS
Due tipi di interrogazione, entrambi coperti:
- Catalogo report — 74 "microservizi" (report) su unità amministrative e statistiche (ripartizioni, regioni, province/uts, comuni, sistemi locali del lavoro, ...). Ogni report ha un periodo di validità e restituisce una tabella alla data scelta.
- Query territoriali interattive — storia delle variazioni di un'unità nel tempo
(
storia) e ricerca dei codici/denominazioni Istat con periodi di validità (cerca-codice).
Comandi
# --- catalogo ---
opensituas catalog # tutti i report (pfun, titolo, validità, ...)
opensituas catalog "Comuni" --ambito "Unità amministrative"
opensituas --output json catalog "Ripartizioni" | jq '.[].pfun'
opensituas catalog --refresh # rilegge dal gateway
opensituas info 50 # descrizione + colonne del report 50
opensituas get 61 # report DATA: dato più recente (fine validità)
opensituas get 61 --output csv --out comuni.csv
opensituas count 98 --from 17/03/1861 --to 31/05/2026
opensituas get 61 --date 01/01/2020 # snapshot storico; errore chiaro se fuori validità
# --- query territoriali ---
opensituas storia comune Roma # storia delle variazioni del comune
opensituas storia comune 058091 --dettaglio # + provvedimento e unità coinvolte
opensituas storia regione Lazio
opensituas storia provincia Roma
opensituas cerca-codice comune Roma # codici/denominazioni + validità
Output per agenti
Il flag globale --output (-o) vale table (default), json o csv. In json/csv
l'output su stdout è pulito (i messaggi diagnostici vanno su stderr), pronto per jq:
opensituas -o json storia comune Roma | jq '.storia[] | {data: ."data evento", evento: .variazione}'
opensituas -o csv get 50 > comuni.csv
Come funziona (in breve)
- Catalogo: ottenuto via gateway POST (
get_elenco_microservizi), cachato in~/.cache/opensituas/catalog.json(TTL 7 giorni), con snapshot incluso come fallback. - Dati report: endpoint pubblici
situas-servizi.istat.it/publish(reportspooljson,reportspooljsoncount,anagrafica_report_metadato_web). Per i reportDATA, senza--datela CLI usa la fine validità (dato più recente); i link del catalogo porterebbero invece la data di inizio (snapshot più vecchio).--date/--from/--tosostituiscono il parametro data. - Query territoriali: servizi
var_get_ua_*(storia) ericercacodice_*via gateway.
Dettagli in docs/architecture.md. Per orchestrazione da agente vedi skills/situas-explorer/SKILL.md.
Variabili d'ambiente
| Variabile | Default | Descrizione |
|---|---|---|
OPENSITUAS_TIMEOUT |
60 |
Timeout richieste (secondi) |
Licenza
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file opensituas-0.1.0.tar.gz.
File metadata
- Download URL: opensituas-0.1.0.tar.gz
- Upload date:
- Size: 15.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
289d1e6d85a9c3317e171e8b7005ff5f4c087a3d354959d2346986e5454c9ae5
|
|
| MD5 |
367cb7d0e3c4e3a05420661a53b04867
|
|
| BLAKE2b-256 |
b69fbd9f6f26ea395bb10c8897d58379fb75a4e414c027bcafc8e36a5e7e5145
|
File details
Details for the file opensituas-0.1.0-py3-none-any.whl.
File metadata
- Download URL: opensituas-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00d3ff80ce8e8dcff236563db87b22b034a1ba15c4141c42245ac279e1adf0a6
|
|
| MD5 |
bc13aa68585a04bb78d1bc53f402ff70
|
|
| BLAKE2b-256 |
4a01b80cf7a15d3d4fa385795565be3130d43a929d9899e2fed4e35bab64efd6
|