コンテンツへスキップ
uencoder

YAML Python Binding

YAML Pythonバインディングは、PyYAMLやruamel.yamlが提供するPython向けの解析APIで、yaml.safe_loadとラウンドトリップ編集をサポートする。

目的

PythonアプリケーションでYAMLを読み書きし、YAMLをdict/listへマッピングする。コメント保持とアンカーにも対応する。

メカニズム

PyYAMLでは、yaml.safe_load(stream)がdict/listを返し、yaml.dump(obj)が文字列を返す。ruamel.yamlはラウンドトリップ編集(コメント・順序・アンカーの保持)とYAML 1.2をサポートする。

ユースケース

  • Pythonの設定ファイル
  • 機械学習のハイパーパラメータ設定
  • Ansibleのプレイブック

関連ツール

References