ファイルを知る、使いこなす。
.toml

TOML設定

Web・開発

TOMLはキーと値、表の見出しで設定を書く形式です。文字列・数値・日付などの型を持ち、同じキーを重複して定義できません。見た目がINIに似ていても文法や型は同じではありません。

主な用途
型を持つキー・表によるアプリ設定
中身の種類
テキスト
目次・よくある質問・根拠資料を見る

内容の最終確認: · 編集:Kai

開き方・操作手順

使っている環境や目的の項目を開いて、手順を確認してください。

エディター:構造を確認

保存前に元ファイルのコピーを作ります。

  1. VS Code等でファイルを開き、対応する言語モードを確認します。
  2. キーと値、テーブル見出し、配列、文字列の引用形式を確認します。
  3. 読み込み文字コードと元の改行形式を確認し、リッチテキストとして保存しないようにします。
構文確認:TOMLパーサー

利用アプリが対応する仕様版を使います。

  1. 対象アプリの設定チェックや対応パーサーへコピーを読み込ませます。
  2. 同じキーの重複、テーブルの再定義、文字列の閉じ忘れを確認します。
  3. 型と階層を確認し、エラーがなくなった後も必須キーを照合します。
プロジェクト設定:pyproject等

TOML全般とツール固有の項目を区別します。

  1. 使うツールの資料で必要なテーブルとキーを確認します。
  2. 設定コピーへ小さい変更を加え、対象ツールの検証やテストを実行します。
  3. 依存関係やビルド結果が意図どおりか確認します。

操作名・対応状況はアプリ・OS・版によって異なります。変更する前に原本を残してください。

開けないとき:症状から確認

  • 重複キーのエラー:同じ表内や表の再定義で衝突していないか確認します。
  • 文字列が認識されない:引用符とエスケープの規則を確認します。Windowsパスのバックスラッシュも注意します。
  • 設定が効かない:正しい表の中にキーがあるか、値が文字列か数値かを確認します。
  • 同じキーでエラー:テーブル内の重複定義を確認します。
  • 数字が文字列として読まれる:引用符とスキーマの型を確認します。
  • 新しい構文だけ読めない:利用アプリのTOML対応版を確認します。

TOML → JSON / 別形式の設定

  1. 対応パーサーで元の型と表の構造を確認し、変換先の設定項目へ対応付けます。
  2. 別ファイルに出力し、日時・配列・入れ子の表を元データと比較します。
  3. 変換前後のキー、件数、文字列・数値・日付などの型を照合し、変換できない項目は別に記録します。

日時の型やコメントは変換先で同じには保持されない場合があります。

テーブルと文字列を読み分ける

テーブル見出しの下のキーは、そのテーブルに属します。ドット付きキーや配列テーブルも、意図した階層か確認します。

TOMLの構文として正しくても、ツールの知らないキーは有効とは限りません。

title = "example"
[server]
port = 8080
enabled = true

この手順の根拠:TOML Project · TOML v1.0.0 / Python Software Foundation · tomllib — Parse TOML files

変換・自動保存で確認するもの

コメント、キーの順序、日付型などは変換・再保存で変わる場合があります。動作に必要な値と読みやすさを分けて比較します。

秘密鍵やトークンを設定内に含める場合は、公開リポジトリやWeb検証サービスへの送信を避けます。

この手順の根拠:TOML Project · TOML v1.0.0 / Python Software Foundation · tomllib — Parse TOML files

関連形式との違い

関連形式との違い
形式主な役割選ぶときの注意
TOML型を持つ設定テーブルと重複を確認
INIアプリ依存の設定共通の型規則とは限らない
JSON構造化データコメント等の扱いが違う

取り扱いと安全性

認証情報やローカルパスを公開しないよう確認します。設定はアプリの接続先や動作を変えるので、入手元不明の設定をそのまま適用しないでください。

よくある質問

同じキーを後で書けば上書きできる?

TOMLでは重複定義は認められません。

INIをTOMLへ改名すればよい?

文法や型が違うため、内容の変換が必要です。

すべてのアプリで同じ設定になる?

キーの意味はアプリ固有です。TOMLの文法だけでは決まりません。

TOMLはINIと同じ?

見た目は似ていますが、型、配列、階層、構文規則が違います。

pyproject.tomlは全部同じ項目?

標準項目とツール独自の設定が共存します。利用ツールの資料を確認します。

形式の基本情報:正式名称・MIME type・管理団体
名称
Tom’s Obvious, Minimal Language
管理・仕様
TOML project
MIME type
作成元・配信元の指定による。拡張子だけでMIME typeは確定できません。

公式・一次情報

  • 標準仕様TOML v1.0.0

    キー・値、テーブル、型などの公開仕様です。

    TOML Project · リンク確認:
  • 標準仕様RFC 8259 — JSON

    JSONの値・文字列・構文と相互運用上の注意を定義しています。

    IETF / RFC Editor · リンク確認:
  • プロジェクト公式tomllib — Parse TOML files

    TOMLを解析した型と構文エラーの説明です。

    Python Software Foundation · リンク確認: