Skip to content

Commit 3da8ab5

Browse files
committed
feat: aggiungi pianificazione per API programmabile con documentazione dettagliata e decisioni architetturali
1 parent 3085927 commit 3da8ab5

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

LOG.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1084,3 +1084,33 @@ Comando testato: `python3 convert_akomantoso.py --search "legge di bilancio 2024
10841084
- Rimossi tutti i file `output*.md` dalla root del progetto.
10851085
- Aggiunto il pattern `output*.md` al `.gitignore`.
10861086
- Committate e pushate le modifiche.
1087+
1088+
## 2025-12-04
1089+
1090+
### Planning: API Programmabile
1091+
1092+
Creata pianificazione completa per rendere normattiva2md usabile da notebook e script Python:
1093+
1094+
**Documentazione creata:**
1095+
- `planning/api-programmabile/` - cartella completa pianificazione
1096+
- 7 documenti tecnici dettagliati (architettura, specs, models, exceptions, plan, examples, index)
1097+
- Piano implementazione 6 fasi (14-21h totali)
1098+
1099+
**Decisioni architetturali:**
1100+
- Stile misto: funzioni standalone + classe `Converter`
1101+
- Output: oggetto `ConversionResult` con markdown + metadata
1102+
- Errori: strategia ibrida (eccezioni gravi + None per soft errors)
1103+
- Type hints completi (Python 3.7+ compatible)
1104+
- Logging invece di print() per API
1105+
- Struttura preparata per future versioni async
1106+
1107+
**File pianificati:**
1108+
- `src/normattiva2md/exceptions.py` - sistema eccezioni custom
1109+
- `src/normattiva2md/models.py` - dataclasses ConversionResult, SearchResult
1110+
- `src/normattiva2md/api.py` - API programmabile
1111+
- `examples/notebook_quickstart.ipynb` - Jupyter notebook dimostrativo
1112+
- `docs/notebook_examples.md` - esempi pratici completi
1113+
1114+
**Compatibilità:** 100% backward compatible - CLI funziona esattamente come prima
1115+
1116+
**Prossimo step:** Review pianificazione → implementazione Fase 1 (Foundation)

0 commit comments

Comments
 (0)