Gli atti notissimi¶
Ogni voce è un AttoNoto: l'atto nel suo insieme, più
l'allegato attraverso cui rispondono i suoi articoli.
AttoNoto
dataclass
¶
Un atto noto, richiamabile per nome invece che per URN.
articolo
¶
Compone l'URN di un articolo, passando per l'allegato che lo contiene.
Parametri:
| Nome | Tipo | Descrizione | Predefinito |
|---|---|---|---|
numero
|
str | int
|
il numero dell'articolo, con l'eventuale ordinale attaccato
( |
obbligatorio |
Esempi:
>>> from normattiva.codici import CODICE_CIVILE
>>> str(CODICE_CIVILE.articolo(2043))
'urn:nir:stato:regio.decreto:1942-03-16;262:2~art2043'
Codice sorgente in src/normattiva/codici.py
L'elenco¶
| Costante | Atto |
|---|---|
COSTITUZIONE |
Costituzione della Repubblica |
CODICE_CIVILE |
R.D. 16 marzo 1942, n. 262 |
CODICE_PENALE |
R.D. 19 ottobre 1930, n. 1398 |
CODICE_PROCEDURA_CIVILE |
R.D. 28 ottobre 1940, n. 1443 |
CODICE_PROCEDURA_PENALE |
D.P.R. 22 settembre 1988, n. 447 |
CODICE_AMMINISTRAZIONE_DIGITALE |
D.Lgs. 7 marzo 2005, n. 82 |
CODICE_PRIVACY |
D.Lgs. 30 giugno 2003, n. 196 |
CODICE_DELLA_STRADA |
D.Lgs. 30 aprile 1992, n. 285 |
CODICE_DEL_CONSUMO |
D.Lgs. 6 settembre 2005, n. 206 |
TUIR |
D.P.R. 22 dicembre 1986, n. 917 |
TESTO_UNICO_EDILIZIA |
D.P.R. 6 giugno 2001, n. 380 |
STATUTO_DEI_LAVORATORI |
L. 20 maggio 1970, n. 300 |
Gli articoli di ciascuno rispondono attraverso l'allegato indicato da
allegato_articoli, che articolo() mette nell'URN al posto tuo.
Atti di uso comune, con l'allegato attraverso cui i loro articoli sono indirizzabili.
Gli articoli dei codici furono approvati come allegato a un decreto e non sono indirizzabili sotto il decreto stesso; quale sia l'allegato cambia da codice a codice. Ogni corrispondenza in questo modulo è stata verificata contro il servizio il 2026-08-24.
COSTITUZIONE
module-attribute
¶
COSTITUZIONE = AttoNoto(
"Costituzione",
Urn(
denominazione="costituzione",
anno=1947,
data=date(1947, 12, 27),
),
)
CODICE_CIVILE
module-attribute
¶
CODICE_CIVILE = AttoNoto(
"Codice civile",
Urn.regio_decreto(1942, 262, data=date(1942, 3, 16)),
allegato_articoli="2",
)
CODICE_PENALE
module-attribute
¶
CODICE_PENALE = AttoNoto(
"Codice penale",
Urn.regio_decreto(1930, 1398, data=date(1930, 10, 19)),
allegato_articoli="1",
)
CODICE_PROCEDURA_CIVILE
module-attribute
¶
CODICE_PROCEDURA_CIVILE = AttoNoto(
"Codice di procedura civile",
Urn.regio_decreto(1940, 1443, data=date(1940, 10, 28)),
allegato_articoli="1",
)
CODICE_PROCEDURA_PENALE
module-attribute
¶
CODICE_PROCEDURA_PENALE = AttoNoto(
"Codice di procedura penale",
Urn.dpr(1988, 447, data=date(1988, 9, 22)),
)
CODICE_AMMINISTRAZIONE_DIGITALE
module-attribute
¶
CODICE_AMMINISTRAZIONE_DIGITALE = AttoNoto(
"Codice dell'amministrazione digitale",
Urn.decreto_legislativo(
2005, 82, data=date(2005, 3, 7)
),
)
CODICE_PRIVACY
module-attribute
¶
CODICE_PRIVACY = AttoNoto(
"Codice in materia di protezione dei dati personali",
Urn.decreto_legislativo(
2003, 196, data=date(2003, 6, 30)
),
)
CODICE_DELLA_STRADA
module-attribute
¶
CODICE_DELLA_STRADA = AttoNoto(
"Codice della strada",
Urn.decreto_legislativo(
1992, 285, data=date(1992, 4, 30)
),
)
CODICE_DEL_CONSUMO
module-attribute
¶
CODICE_DEL_CONSUMO = AttoNoto(
"Codice del consumo",
Urn.decreto_legislativo(
2005, 206, data=date(2005, 9, 6)
),
)
TUIR
module-attribute
¶
TUIR = AttoNoto(
"Testo unico delle imposte sui redditi",
Urn.dpr(1986, 917, data=date(1986, 12, 22)),
)
TESTO_UNICO_EDILIZIA
module-attribute
¶
TESTO_UNICO_EDILIZIA = AttoNoto(
"Testo unico dell'edilizia",
Urn.dpr(2001, 380, data=date(2001, 6, 6)),
)
STATUTO_DEI_LAVORATORI
module-attribute
¶
STATUTO_DEI_LAVORATORI = AttoNoto(
"Statuto dei lavoratori",
Urn.legge(1970, 300, data=date(1970, 5, 20)),
)
_TUTTI
module-attribute
¶
_TUTTI = (
COSTITUZIONE,
CODICE_CIVILE,
CODICE_PENALE,
CODICE_PROCEDURA_CIVILE,
CODICE_PROCEDURA_PENALE,
CODICE_AMMINISTRAZIONE_DIGITALE,
CODICE_PRIVACY,
CODICE_DELLA_STRADA,
CODICE_DEL_CONSUMO,
TUIR,
TESTO_UNICO_EDILIZIA,
STATUTO_DEI_LAVORATORI,
)
__all__
module-attribute
¶
__all__ = [
"CODICE_AMMINISTRAZIONE_DIGITALE",
"CODICE_CIVILE",
"CODICE_DELLA_STRADA",
"CODICE_DEL_CONSUMO",
"CODICE_PENALE",
"CODICE_PRIVACY",
"CODICE_PROCEDURA_CIVILE",
"CODICE_PROCEDURA_PENALE",
"COSTITUZIONE",
"STATUTO_DEI_LAVORATORI",
"TESTO_UNICO_EDILIZIA",
"TUIR",
"AttoNoto",
"tutti",
]
Urn
dataclass
¶
Urn(
denominazione: str,
anno: int,
data: date | None = None,
numero: str | None = None,
autorita: str = "stato",
allegato: str | None = None,
articolo: str | None = None,
comma: str | None = None,
versione: date | Literal["originale"] | None = None,
)
Un identificatore NIR, scomposto nelle sue parti.
Il suffisso di versione fa parte dell'identificatore perché i rimandi
dentro il testo restituito lo includono. Vale lo stesso per il comma, che
però il servizio rifiuta in ingresso: senza_comma restituisce
l'identificatore che si può davvero usare in una richiesta.
numero, allegato e articolo accettano anche interi e li conservano
come stringhe: numero=300 e numero="300" costruiscono lo stesso URN.
L'articolo viene inoltre normalizzato ("5-bis" non è ammesso, "5bis"
sì).
senza_comma
property
¶
senza_comma: Urn
Lo stesso URN senza il comma, che il servizio rifiuta in ingresso.
parse
classmethod
¶
Costruisce un Urn dalla sua forma testuale.
Parametri:
| Nome | Tipo | Descrizione | Predefinito |
|---|---|---|---|
testo
|
str | Urn
|
la forma testuale, oppure un |
obbligatorio |
Restituisce:
| Tipo | Descrizione |
|---|---|
Urn
|
L'identificatore scomposto nelle sue parti. |
Esempi:
>>> from normattiva import Urn
>>> Urn.parse("urn:nir:stato:legge:1990-08-07;241~art5").articolo
'5'
Solleva:
| Tipo | Descrizione |
|---|---|
InvalidUrnError
|
il testo non rispetta la grammatica NIR, o porta una data che non esiste. |
Codice sorgente in src/normattiva/urn.py
legge
classmethod
¶
legge(
anno: int,
numero: int | str,
*,
articolo: int | str | None = None,
data: date | None = None,
) -> Urn
Costruisce l'URN di una legge.
Parametri:
| Nome | Tipo | Descrizione | Predefinito |
|---|---|---|---|
anno
|
int
|
anno di emanazione. |
obbligatorio |
numero
|
int | str
|
numero della legge, come intero o come stringa. |
obbligatorio |
articolo
|
int | str | None
|
l'articolo da indirizzare, se ne serve uno solo. |
None
|
data
|
date | None
|
la data esatta di emanazione. Rende l'URN più preciso e disambigua fra due atti con lo stesso numero nello stesso anno. |
None
|
Esempi:
>>> from normattiva import Urn
>>> str(Urn.legge(1990, 241, articolo=5))
'urn:nir:stato:legge:1990;241~art5'
Codice sorgente in src/normattiva/urn.py
decreto_legge
classmethod
¶
decreto_legge(
anno: int,
numero: int | str,
*,
articolo: int | str | None = None,
data: date | None = None,
) -> Urn
Costruisce l'URN di un decreto-legge.
Codice sorgente in src/normattiva/urn.py
decreto_legislativo
classmethod
¶
decreto_legislativo(
anno: int,
numero: int | str,
*,
articolo: int | str | None = None,
data: date | None = None,
) -> Urn
Costruisce l'URN di un decreto legislativo.
Codice sorgente in src/normattiva/urn.py
dpr
classmethod
¶
dpr(
anno: int,
numero: int | str,
*,
articolo: int | str | None = None,
data: date | None = None,
) -> Urn
Costruisce l'URN di un decreto del Presidente della Repubblica.
Codice sorgente in src/normattiva/urn.py
regio_decreto
classmethod
¶
regio_decreto(
anno: int,
numero: int | str,
*,
articolo: int | str | None = None,
data: date | None = None,
) -> Urn
Costruisce l'URN di un regio decreto.
Codice sorgente in src/normattiva/urn.py
con_articolo
¶
con_vigenza
¶
AttoNoto
dataclass
¶
Un atto noto, richiamabile per nome invece che per URN.
articolo
¶
Compone l'URN di un articolo, passando per l'allegato che lo contiene.
Parametri:
| Nome | Tipo | Descrizione | Predefinito |
|---|---|---|---|
numero
|
str | int
|
il numero dell'articolo, con l'eventuale ordinale attaccato
( |
obbligatorio |
Esempi:
>>> from normattiva.codici import CODICE_CIVILE
>>> str(CODICE_CIVILE.articolo(2043))
'urn:nir:stato:regio.decreto:1942-03-16;262:2~art2043'