Skip to main content

Libreria Python per ottenere informazioni sui comuni italiani con dati ISTAT e CAP

Project description

Comuni Italiani

Libreria Python per cercare informazioni sui comuni italiani usando i dati ISTAT, con arricchimento automatico dei CAP tramite il dataset di Garda Informatica.

Caratteristiche

  • Ricerca di un comune per nome, case-insensitive e robusta agli accenti
  • Ricerca per codice catastale
  • Elenco dei comuni per provincia
  • Ricerca inversa per CAP
  • Download automatico e aggiornamento del dataset ISTAT
  • Download automatico dell'ultimo dataset CAP disponibile da Garda Informatica

Installazione

pip install comuniitaliani

Utilizzo

from comuniitaliani import Comuni

comuni = Comuni()

Cercare un comune per nome

info = comuni.cerca_comune("Agliè")
print(info)

Output di esempio:

{
  "nome": "Agliè",
  "provincia": "Torino",
  "sigla_provincia": "TO",
  "regione": "Piemonte",
  "codice_catastale": "A074",
  "cap": ["10080"]
}

Cercare un comune per codice catastale

info = comuni.cerca_per_codice_catastale("A074")
print(info)

Elencare i comuni di una provincia

torino = comuni.comuni_per_provincia("TO")
print(torino[:3])

Cercare i comuni associati a un CAP

risultati = comuni.cerca_per_cap("10080")
print(risultati)

Output di esempio:

[
  {
    "nome": "Agliè",
    "provincia": "Torino",
    "sigla_provincia": "TO",
    "regione": "Piemonte",
    "codice_catastale": "A074",
    "cap": ["10080"]
  }
]

Note sui CAP

Il campo cap viene restituito sempre come lista:

  • un comune può avere più CAP
  • uno stesso CAP può essere associato a più comuni

Per questo cerca_per_cap() restituisce una lista di comuni.

L'associazione dei CAP privilegia chiavi affidabili nell'ordine:

  • codice ISTAT alfanumerico
  • codice ISTAT numerico
  • codice catastale
  • nome comune + sigla provincia

Non viene usato il solo nome comune, per evitare match ambigui.

Aggiornamento automatico dei dati

Per default la libreria:

  • verifica se il CSV ISTAT locale è aggiornato
  • include nel pacchetto uno snapshot locale del dataset CAP, utile anche offline
  • risolve l'ultimo ZIP disponibile dalla pagina di Garda Informatica
  • scarica il dataset CAP solo se la versione remota è cambiata

Se vuoi lavorare solo con file già presenti in locale:

comuni = Comuni(allow_download=False)

Se vuoi disabilitare completamente il layer CAP:

comuni = Comuni(load_cap=False)

Se vuoi indicare esplicitamente un file CAP locale:

comuni = Comuni(cap_csv_file="/percorso/garda_cap.csv", allow_download=False)

Fonti dati

  • ISTAT per anagrafica comuni
  • Garda Informatica per l'associazione CAP

Compatibilita API

Dalla versione 0.22.1 le funzioni che restituiscono dati di comune includono anche il campo cap. Il campo e sempre una lista, anche quando esiste un solo CAP.

Sviluppo

Installazione dipendenze di sviluppo:

pip install -e . -r requirements-dev.txt

Esecuzione test:

pytest

Licenza

Il progetto è distribuito con licenza MIT. Vedi LICENSE.

Link utili

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

comuniitaliani-0.22.1.tar.gz (220.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

comuniitaliani-0.22.1-py3-none-any.whl (218.6 kB view details)

Uploaded Python 3

File details

Details for the file comuniitaliani-0.22.1.tar.gz.

File metadata

  • Download URL: comuniitaliani-0.22.1.tar.gz
  • Upload date:
  • Size: 220.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for comuniitaliani-0.22.1.tar.gz
Algorithm Hash digest
SHA256 d049f4c55e07dfaf9c3a1914d4a9d9eaf6b028ef2e2cdf1670b95cf0fbc82b87
MD5 e772cc86cd97a9be76f6c66c01c63335
BLAKE2b-256 4f133efaf5b85821e1f2e3860103e5a0af1d93cd3dbf4d7866a6731855e9474b

See more details on using hashes here.

File details

Details for the file comuniitaliani-0.22.1-py3-none-any.whl.

File metadata

  • Download URL: comuniitaliani-0.22.1-py3-none-any.whl
  • Upload date:
  • Size: 218.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for comuniitaliani-0.22.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4dd92629ece2cd5a17c571b6a97beffe26bdf564328d50f9123f27e3d3135a7c
MD5 b7a7707c958da9ec5c1e80128f13744c
BLAKE2b-256 b4f68870a4432e4f414c2a0c2b4a6e25232846284bf4530a6f172265338fd982

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page