Tracciabilità normativa¶
Ogni funzione pubblica di norma-ntc è decorata con @ntc_ref, che registra il riferimento normativo direttamente sulla funzione.
Come funziona¶
from pyntc.core import get_ntc_ref
from pyntc.actions.wind import wind_base_velocity
ref = get_ntc_ref(wind_base_velocity)
print(ref)
# NtcReference(article='3.3.1', table='Tab.3.3.I', formula='3.3.1', norm='NTC18')
Il decoratore espone tre campi:
| Campo | Descrizione | Esempio |
|---|---|---|
article |
Articolo NTC18 | "3.3.1" |
table |
Tabella di riferimento | "Tab.3.3.I" |
formula |
Numero formula | "3.3.1" |
norm |
Norma di riferimento | "NTC18" |
Registro dei dubbi¶
Le ambiguità riscontrate nella conversione OCR del testo NTC18 sono documentate in DUBBI_NTC18.md nel repository. Per ogni dubbio è riportata:
- La formula o tabella coinvolta
- Il valore prodotto dall'OCR
- L'interpretazione adottata
- Lo stato (APERTO / CHIUSO)
Questo file è il registro trasparente delle incertezze del progetto.
API decoratore¶
pyntc.core.reference
¶
Decoratore @ntc_ref per tracciabilita' normativa.
Ogni funzione o classe che implementa un requisito NTC18 deve essere decorata con @ntc_ref indicando articolo, tabella e/o formula di riferimento.
NtcReference
dataclass
¶
Riferimento a un articolo della norma.
Source code in src/pyntc/core/reference.py
get_ntc_ref(func)
¶
ntc_ref(article, table=None, formula=None, latex=None, norm='NTC18')
¶
Decoratore per tracciabilita' normativa.
Aggiunge un attributo _ntc_ref alla funzione decorata contenente
il riferimento normativo strutturato.
Parameters¶
article : str Numero dell'articolo (es. "3.3.1"). table : str, optional Riferimento tabella (es. "Tab.3.3.I"). formula : str, optional Numero formula (es. "3.3.1"). norm : str Norma di riferimento, default "NTC18".
Example¶
@ntc_ref(article="3.3.1", table="Tab.3.3.I") ... def wind_base_velocity(zone: int) -> float: ... ...