The encyclopedia · Software & IT · Product decision · 2013–2021
TOML won config files by making them obvious enough to read as plain text
GitHub's Tom Preston-Werner designed a minimal config format, and Rust and Python adopted it as their standard.
GitHub
the move
In 2013 configuration files were either terse and ambiguous or verbose and hard to edit. Tom Preston-Werner, co-founder of GitHub, published TOML — Tom's Obvious Minimal Language — aiming for a config format so obvious that a human could read it as plain text.
The design maps every document unambiguously to a hash table: keys, values, tables, arrays and dates all have one clear shape. Because there is no cleverness, writing a parser in a new language is a small job, and reviewing a config file never requires a manual.
Adoption followed the tooling: Rust's Cargo chose TOML for its manifests, Python standardized pyproject.toml for packaging, and Hugo, Alacritty and many others followed. The specification reached version 1.0 in 2021, cementing it as a mainstream standard.
why it works
- Unambiguous syntax makes parsers easy to write everywhere
- Human-readable files invite trust and review
- Cargo's early adoption gave it a serious package-manager anchor
- Python's pyproject.toml made it the default for an entire language
what transfers
For a developer-facing format, readability is a feature: if the file is obvious to a human, adoption follows from trust.
what came after
TOML is now the default manifest format for Rust and Python packaging and is used across cloud, editor and build tooling. It competes with YAML and JSON but keeps its niche as the format that is easy for humans to read and machines to parse.
references
spotted an error? The archive wants to know.