TOMLファイルとは?シンプルで分かりやすい設定ファイル形式

ソフトウェア開発において、設定情報を管理するファイル形式はいくつかありますが、近年注目を集めているのが「TOML」です。TOMLは「Tom's Obvious, Minimal Language」の略で、人間が読みやすく、プログラミング言語との互換性も高い、シンプルさが特徴のファイル形式です。


 

TOMLファイルの基本構造

 

INIファイルに似ていますが、より厳格なルールと豊富な機能を持っています。主な構成要素は以下の通りです。

  1. キーと値のペア キーと値はイコール記号(=)で結びます。値には、文字列、整数、浮動小数点数、真偽値、日付、配列、テーブルなど、多様な型を指定できます。

  2. テーブル(Table) 設定項目をグループ化するために使います。INIファイルのセクションに似ており、[テーブル名]という形で記述します。テーブルをネスト(入れ子)させることも可能です。

  3. コメント シャープ記号(#)で始まる行はコメントとして扱われます。

 

具体的なTOMLファイルの例

# この行はコメントです

title = "TOMLの基本"

[owner]
name = "Alice"
dob = 1990-05-27T07:32:00-08:00 # 日付と時刻のデータ型

[database]
enabled = true
ports = [ 8000, 8001, 8002 ] # 配列のデータ型
data = "temp/data.db"

[servers.alpha] # ネストされたテーブル
host = "alpha.example.com"
port = 80

 


 

TOML vs. YAML vs. JSON

 

設定ファイル形式としてよく比較されるのは、YAMLJSONです。それぞれの特徴をまとめると、TOMLの強みがより明確になります。

項目 TOML YAML JSON
可読性 非常に高い。最もシンプルで直感的。 高い。インデントに依存するため、ミスしやすい。 低い。多くの括弧と引用符でごちゃごちゃしやすい。
データ型 多様。日付型などを持つ。 最も多様。 数値、文字列、真偽値、配列、オブジェクト。
構造 シンプルなテーブル構造。 非常に柔軟。 辞書と配列の組み合わせ。
用途 静的な設定ファイル 複雑な設定、データ構造。 API通信、データ交換。

 

まとめ

 

TOMLは、複雑な構造を必要としない静的な設定ファイルに最適な形式です。

  • 人間にとっての読みやすさが最優先されており、学習コストが低い。

  • キーと値のペア、シンプルなテーブル構造が直感的で、INIファイルからの移行も容易。

  • YAMLのような複雑なインデントミスがなく、JSONのような記号の多さもありません。

Pythonでは、標準ライブラリには含まれていませんが、tomlというライブラリをインストールすることで簡単に扱うことができます。シンプルで堅牢な設定ファイルを求めるなら、TOMLは優れた選択肢となるでしょう。