Aller au contenu
uencoder

TOML

TOML (Tom's Obvious, Minimal Language) est un format orienté configuration qui représente les données avec des tables et des paires clé-valeur, à sémantique explicite et sans inférence de types implicite.

Objectif

Offrir un format plus explicite que YAML et mieux adapté à la configuration que JSON, en évitant les pièges d'inférence de types de YAML.

Mécanisme

Les tables se déclarent avec [section] et les paires clé-valeur avec key = value. Il prend en charge chaînes, entiers, flottants, booléens, dates, tableaux et tables inline. Pas de références ni de flux multi-documents ; les types sont explicites. Le Cargo.toml de Rust et le pyproject.toml de Python sont les principaux utilisateurs.

Cas d’usage

  • Cargo.toml de Rust
  • pyproject.toml de Python
  • Configuration de générateurs de sites statiques
  • Configuration de chaînes d'outils

Exemples

  • entrée
    [owner]
    name = "Ada"
    Output
    The table {owner:{name:"Ada"}}

    Explicit types

Erreurs courantes

Expecting TOML but writing YAML-style indentation
TOML uses table headers, not indentation

Termes associés

Outils associés

References