TOML
Filename extension |
.toml |
---|---|
Internet media type |
not registered |
Developed by | Tom Preston-Werner |
Initial release | 23 February 2013 |
Latest release |
v0.5.0 (July 10, 2018 ) |
Type of format | Data interchange |
Open format? | Yes |
Website |
github |
TOML is a configuration file format that is intended to be easy to read due to more obvious semantics which aims to be "minimal". TOML is designed to map unambiguously to a dictionary.
"TOML", the name, 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] and is implemented in a large number of programming languages,[3][4] despite having been flagged by its author as an unstable specification pending attainment of version 1.0.[1]
TOML is inspired by .INI file syntax, but with a more formal specification.[5]
Syntax
TOML's syntax largely consists of key = "value"
pairs, [section names]
, and # comments
.
It specifies 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"
]
References
- 1 2 "toml-lang github".
- ↑ "projects using toml".
- ↑ "toml implementations".
- ↑ "cargo config".
- ↑ "TOML, Tom's Own Markup Language". Y Combinator Link. Y Combinator. Retrieved May 10, 2017.