Jump to content

TOML

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Nemo Null (talk | contribs) at 21:22, 2 August 2019 (The references do not support this claim. That TOML is claimed to share "traits" with other file formats like JSON, doesn't mean that TOML is claimed to be based on JSON. If anything, TOML looks to be extended from YAML, with its use of whitespace delimiters.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

TOML
Filename extension
.toml
Internet media type
not registered
Developed byTom Preston-Werner
Community
Initial release23 February 2013; 11 years ago (2013-02-23)
Latest release
v0.5.0
July 10, 2018; 5 years ago (2018-07-10)
Type of formatData interchange
Free format?Yes
Websitegithub.com/toml-lang/toml

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"
]

References

  1. ^ "GitHub - toml-lang/toml: Tom's Obvious, Minimal Language".
  2. ^ "Projects using TOML - TOML Wiki".
  3. ^ "The Manifest Format - The Cargo Book".
  4. ^ "Implementations - TOML Wiki".