Skip to content

emuni-kyoto/erdantic-fields

Repository files navigation

erdantic-fields

Pydantic モデルの docstring やフィールドの description を ER 図に追加するための erdantic プラグインです。デフォルトでは description を 1 列追加し、環境変数で好きな属性を増やせます。

特徴

  • Pydantic v2 モデルの docstring をテーブル下部の説明行として表示
  • 各フィールドの description(および任意の属性)を ER 図に追加列として出力
  • ERDANTIC_FIELDS 環境変数で description,title,... のようにカンマ区切り指定が可能
  • erdantic のカスタムスタイルを同梱し、すぐに利用できる CLI を提供

必要要件

  • Python 3.11 以上
  • Graphviz(pygraphviz が erdantic 依存で入るため、システムに Graphviz 本体が必要です)

インストール(GitHub から)

pip install "git+https://github.com/emuni-kyoto/erdantic-fields.git"

使い方

Python API で描画

from erdantic import EntityRelationshipDiagram
from erdantic_fields import setup_pydantic_plugin_with_description
from sample import User  # サンプルの Pydantic モデル

setup_pydantic_plugin_with_description()

diagram = EntityRelationshipDiagram()
diagram.add_model(User)
diagram.draw("output/user.png")

CLI で描画

python -m erdantic_fields sample.User --output output/schema/knowledge.png

--output は Graphviz が対応する拡張子(png / svg など)を指定できます。指定先ディレクトリが無い場合は自動作成します。

追加列を増やす

環境変数 ERDANTIC_FIELDS をカンマ区切りで指定すると、Field が持つ属性値を列として追加します。

ERDANTIC_FIELDS="description,title,example" ; erdantic-fields sample.User

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages