TOML
| TOML | |
|---|---|
![]() | |
| Estensione | .toml
|
| Tipo MIME | application/toml
|
| Sviluppatore | Tom Preston-Werner |
| Licenza | Licenza MIT |
| 1ª pubblicazione | 23 gennaio 2013 |
| Ultima versione | 1.1.0 (18 dicembre 2025) |
| Tipo | File di configurazione |
| Estensione di | File di testo |
| Formato aperto? | Sì |
| Sito web | toml.io |
TOML (acronimo di Tom's Obvious, Minimal Language) è un formato di file testuale progettato appositamente per la definizione di file di configurazione. Ideato da Tom Preston-Werner nel 2013, si pone l'obiettivo di essere facile da leggere e da scrivere per gli esseri umani, mantenendo al contempo una sintassi priva di ambiguità che ne faciliti il parsing da parte dei calcolatori.[1]
Sintassi e tipi di dato
TOML è ispirato alla struttura dei File INI, ma possiede una specifica formale rigorosa e supporta in modo nativo tipi di dato complessi.[1] La sintassi si basa sull'assegnazione di coppie chiave-valore raggruppate in sezioni denominate "tabelle" (tables).
I tipi di dato supportati includono:
- stringhe (anche multilinea);
- numeri interi e in virgola mobile;
- valori booleani (
trueofalse); - date e orari (formato ISO 8601);
- array e tabelle (anche in linea).
Esempio
Esempio di configurazione per un'applicazione ipotetica:
# Parametri generali dell'applicazione
app_name = "SistemaMonitoraggio"
versione = 2.1
[server]
ip = "192.168.1.50"
porte = [ 8080, 8081 ]
attivo = true
[utente.profilo]
nome = "Marco"
scadenza = 2026-12-31T23:59:59Z
Utilizzo
Il formato dispone di un ampio supporto in svariati linguaggi di programmazione:
- Cargo, il sistema di gestione dei pacchetti di Rust, utilizza esclusivamente file TOML (
Cargo.toml) per la gestione del progetto.[2] - Dalla versione 3.11, la libreria standard di Python include il modulo
tomllibper il parsing dei file TOML.[3]
Confronto con altri formati
Le differenze rispetto ad altri formati di serializzazione sono documentate nelle specifiche stesse e in analisi tecniche di settore:[4]
- Rispetto a JSON: TOML supporta i commenti e una sintassi più vicina al linguaggio naturale per la configurazione manuale.[5]
- Rispetto a YAML: TOML evita le ambiguità legate all'indentazione significativa (off-side rule) e riduce la complessità delle regole di conversione automatica dei tipi.[6]
- Rispetto ai File INI: TOML introduce una gerarchia definita e standardizzata per le tabelle annidate e i tipi di dato, superando l'assenza di uno standard univoco dei file INI.[7]
Note
- 1 2 (EN) TOML v1.0.0, su toml.io.
- ↑ (EN) The Manifest Format, su The Cargo Book.
- ↑ (EN) tomllib — Parse TOML files, su docs.python.org.
- ↑ (EN) Configuration File Formats Explained, su Medium, 9 ottobre 2025.
- ↑ (EN) JSON vs YAML vs TOML: Comparison Guide, su DEV Community, 19 marzo 2026.
- ↑ (EN) Comparison with TOML, su HitchDev.
- ↑ (EN) An INI critique of TOML, su github.com, 7 ottobre 2021.
Voci correlate
Collegamenti esterni
- (EN) Sito ufficiale, su toml.io.
- (EN) TOML, su GitHub.
- Repository sorgenti di TOML, su github.com.
