TOML
![]() | This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
|
Filename extension |
.toml |
---|---|
Internet media type |
not registered |
Developed by | Tom Preston-Werner Community |
Initial release | 23 February 2013 |
Latest release | v0.5.0 July 10, 2018 |
Type of format | Data interchange |
Free format? | Yes |
Website | github |
TOML is a configuration file format that is intended to be easy to read and write due to more obvious semantics which aim to be "minimal", and is designed to map unambiguously to a dictionary. Its specification is open-source, and receives community contributions. The name "TOML" is an acronym for "Tom's Obvious, Minimal Language"[1] referring to its creator, Tom Preston-Werner.
TOML is used in a number of software projects,[2][3][non-primary source needed] and is implemented in a large number of programming languages.[4]
TOML's syntax somewhat resemble that of .INI files, which follow an informal configuration file convention.
Syntax
TOML's syntax primarily consists of key = "value"
pairs, [section names]
, and # comments
.
Its specification includes a list of supported data types: String, Integer, Float, Boolean, Datetime, Array, and Table.
Example
# This is a TOML document.
title = "TOML Example"
[owner]
name = "Tom Preston-Werner"
dob = 1979-05-27T07:32:00-08:00 # First class dates
[database]
server = "192.168.1.1"
ports = [ 8001, 8001, 8002 ]
connection_max = 5000
enabled = true
[servers]
# Indentation (tabs and/or spaces) is allowed but not required
[servers.alpha]
ip = "10.0.0.1"
dc = "eqdc10"
[servers.beta]
ip = "10.0.0.2"
dc = "eqdc10"
[clients]
data = [ ["gamma", "delta"], [1, 2] ]
# Line breaks are OK when inside arrays
hosts = [
"alpha",
"omega"
]