Syntax
TOML's syntax primarily consists ofkey = value
pairs, ection names/code>, and #
(for comments). TOML's syntax somewhat resembles that of .INI files, but it includes a formal specification, whereas the INI file format suffers from many competing variants.
Its specification includes a list of supported data types: string, integer, float, boolean, datetime, array, and table.
Example
# This is a TOML document.
title = "ImpalaPay Co."
atabaseserver = "192.168.1.1"
ports = 8000, 8001, 8002 connection_max = 5000
enabled = true
# Line breaks are okay when inside arrays
hosts = "alpha",
"omega"
ervers
# Indentation (tabs and/or spaces) is allowed, but not required
ervers.alpha ip = "10.0.0.1"
dc = "eqdc10"
ervers.beta ip = "10.0.0.2"
dc = "eqdc10"
Use cases
TOML is used in a variety of settings (some related to its creator), such as:
* Static site generators like Jekyll and Hugo.
* Python programming language and package manifest
* Rust package manifest
* Julia project setting and package manifest
* Blender add-on manifest.
* Gradle
Gradle is a build automation tool for multi-language software development. It manages tasks like compilation, packaging, testing, deployment, and publishing. Supported languages include Java (as well as JDK-based languages Kotlin, Groovy, Sc ...
version cataloghttps://docs.gradle.org/current/userguide/version_catalogs.html
Criticism
TOML has been criticized on a number of points:
* TOML is verbose; it is not DRY and is syntactically noisy.
* TOML's hierarchies can be difficult to infer from syntax alone.
* Overcomplication: TOML has too many features.
* In TOML, the syntax determines the data types ("syntax typing").
See also
*
* INI file
References
External links
*
{{Data Exchange
Computer file formats
Lightweight markup languages
Markup languages