TOML
ein Dateiformat für Konfigurationsdateien mit Augenmerk auf einfacher Lesbarkeit, die durch eine vereinfachte Semantik gewährleistet sein soll
From Wikipedia, the free encyclopedia
TOML ist ein Dateiformat für Konfigurationsdateien mit Fokus auf einfacher Lesbarkeit, die durch eine vereinfachte Semantik gewährleistet sein soll.
| TOML | |
|---|---|
| Dateiendung: | .toml |
| MIME-Type: | application/toml |
| Entwickelt von: | Tom Preston-Werner |
| Erstveröffentlichung: | 23.02.2013 |
| Aktuelle Version | 1.1.0[1] (18. Dezember 2025) |
| Art: | Datenaustausch |
| https://toml.io | |
TOML hat das Ziel, sich einfach parsen und eindeutig in ein assoziatives Datenfeld umwandeln zu lassen. Die Spezifikation ist Open Source, das Projekt wird insbesondere durch die Community gepflegt. Das Akronym TOML steht für "Tom's Obvious, Minimal Language"[2], welches auf Tom Preston-Werner, einen der GitHub-Mitgründer, Bezug nimmt. TOML wird von einer Reihe an Softwareprojekten wie Cargo oder GitLab eingesetzt[3][4] und ist bereits in vielen Programmiersprachen implementiert.[5]
Syntax
Die Syntax von TOML gleicht der von .INI-Dateien und besteht primär aus schluessel = "wert"-Paaren, [Abschnittsnamen] und # Kommentaren.
Nach der Spezifikation werden folgende Datentypen unterstützt: String, Integer, Float, Boolean, Datetime, Array und Table.
Beispiel
# Das ist ein TOML-Dokument.
title = "TOML Beispiel"
[person]
name = "Tom Preston-Werner"
geburtstag = 1979-05-27T07:32:00-08:00
[datenbank]
adresse = "192.168.1.1"
ports = [ 8001, 8001, 8002 ]
verbindungen_max = 5000
aktiviert = true # booleans
[servers]
# Einrücken (sowohl Tabs als auch Leerzeichen) ist erlaubt, aber nicht erforderlich
[servers.alpha]
ip = "10.0.0.1"
dc = "eqdc10"
[servers.beta]
ip = "10.0.0.2"
dc = "eqdc10"
[clients]
data = [ ["gamma", "delta"], [1, 2] ]
# Zeilenumbrüche sind in Arrays möglich
hosts = [
"alpha",
"omega"
]
Kritik
Ähnliche Dateiformate
Zu ähnlichen Formaten für Konfigurationsdateien siehe Konfigurationsdatei#Dateiformate.