normattiva-sdk¶
SDK Python non ufficiale per Normattiva, il portale della legge vigente dello Stato italiano.
from datetime import date
from normattiva import Normattiva, codici
with Normattiva() as normattiva:
art2043 = normattiva.dettaglio(codici.CODICE_CIVILE.articolo(2043))
print(art2043.testo)
divorzio = normattiva.dettaglio(
"urn:nir:stato:legge:1970-12-01;898~art5", vigenza=date(2005, 1, 1)
)
print(divorzio.finestra) # 1987-03-12 → 2023-02-27
Progetto indipendente e non ufficiale, gratuito e in licenza MIT. Non è affiliato con l'Istituto Poligrafico e Zecca dello Stato, con Normattiva né con la Presidenza del Consiglio dei Ministri, e non è approvato da loro.
I dati arrivano da dati.normattiva.it in licenza CC BY 4.0, che obbliga a citarne la fonte. Il testo non è autentico: l'unico ufficiale è quello pubblicato sulla Gazzetta Ufficiale a mezzo stampa, che prevale in caso di discordanza. Che cosa comporta.
Che cos'è Normattiva¶
La banca dati che raccoglie il testo delle leggi dello Stato italiano, curata dall'Istituto Poligrafico e Zecca dello Stato. Di ogni atto conserva il testo vigente oggi e quello in vigore in ciascuna data del passato: ogni modifica apre una versione nuova senza cancellare la precedente, e la legge 241 del 1990 ne ha 61. Alla domanda «cosa dice questo articolo» va quindi sempre affiancato un «quando».
Lo stesso corpus è pubblicato come open data su
dati.normattiva.it, con un'API HTTP gratuita.
normattiva-sdk la interroga da Python, in versione sincrona e asincrona, e
traduce le risposte in oggetti tipizzati.
Se il diritto italiano non è il tuo mestiere, come funziona la normativa italiana spiega chi fa le leggi, che rango hanno, come cambiano nel tempo e come si scrive l'identificatore di ciascun tipo di atto.
Da dove cominciare¶
-
Una lezione da fare al terminale. Si parte dal
pip installe si arriva a leggere un articolo, cercarlo per parole e percorrerne la storia.Comincia da qui se non hai mai usato la libreria.
-
Una guida per obiettivo: installare, identificare un atto, cercarlo, leggerne il testo a una data, esportarlo intero, lavorare in asincrono, usare la riga di comando.
Vieni qui quando sai già che cosa vuoi ottenere.
-
Classi, metodi, parametri, eccezioni, endpoint e comandi, con la firma esatta di ciascuno.
Vieni qui quando ti serve un dettaglio preciso.
-
Com'è fatto un atto, com'è fatto il servizio, che cosa fa la libreria quando il servizio risponde male, e perché è fatta così.
Vieni qui quando vuoi il quadro d'insieme.
Cosa si può chiedere¶
| Cosa | Come |
|---|---|
| Il testo di un atto o di un articolo, a una data | dettaglio |
| Tutte le versioni di un articolo | cronologia |
| Ricerca a testo pieno e per coordinate | ricerca, ricerca_avanzata |
| Tutte le pagine di una ricerca | ricerca_completa |
| Gli atti modificati in un periodo | atti_aggiornati |
| Export di atti interi, multivigente | start_export |
| Archivi già confezionati | collections, download_collection |
| I dizionari del servizio | denominazioni, classi_provvedimento |
Le stesse capacità sono disponibili dal terminale, con il comando normattiva:
normattiva testo codice-civile --articolo 2043
normattiva cerca procedimento amministrativo --anno 1990 --faccette
normattiva esporta --denominazione LEGGE --anno 1990 --numero 241 --archivio 241.zip
Prima di metterla in produzione¶
Il servizio ha comportamenti che danno un risultato plausibile e sbagliato senza sollevare nessun errore: un articolo troncato sembra un articolo corto. Le guide di come fare segnalano ciascun caso nel punto in cui può capitare.
Il testo che ottieni non è autentico e in caso di discordanza prevale la Gazzetta Ufficiale; se lo ripubblichi, l'obbligo di attribuzione passa a te. Che cosa comporta, in pratica, sta in licenza e attribuzione.