TOML (Tom's Obvious Minimal Language)
TOML — формат конфигурационных файлов, разработанный для ясности и простоты. Он однозначно отображается в хеш-таблицу и легко читается и пишется человеком. TOML — стандартный формат для Cargo.toml в Rust и pyproject.toml в Python.
MIME-тип
application/toml
Тип
Текст
Сжатие
Без потерь
Преимущества
- + Unambiguous — no implicit type coercion unlike YAML
- + Native datetime support without quoting
- + Simple, flat structure that maps directly to hash tables
- + Standard in Rust and Python ecosystems
Недостатки
- − Deeply nested data structures become verbose
- − Less widespread tool support compared to JSON and YAML
- − No standard way to represent null values
Когда использовать .TOML
Используйте TOML для конфигурационных файлов — особенно в экосистемах Rust (Cargo.toml) и Python (pyproject.toml). Идеален там, где важен однозначный парсинг.
Технические детали
TOML использует пары ключ-значение, таблицы (секции в квадратных скобках), массивы таблиц (двойные квадратные скобки) и нативно типизированные значения: datetime, целые числа, числа с плавающей точкой, булевы значения и строки. Отступы не имеют значения.
История
Том Престон-Вернер (сооснователь GitHub) создал TOML в 2013 году как минималистичную альтернативу YAML и JSON для конфигурационных файлов. TOML 1.0 был выпущен в январе 2021 года после обширного обсуждения сообществом.