Pythonスキーマバリデーションライブラリ比較 (pydantic, marshmallow, attrs, cerberus) ウェブ API の作成など、外部からやってくるデータを安全に捌く上で、スキーマ定義とバリデーションは非常に重要です。 また、特に Python のような動的型付け言語において、内部でもレイヤをまたぐ場合はきちんと定義されたデータモデルを利用することで、知らない間にデータモデルが変わっていた、というようなケースを防ぐことができます。 Python には標準でスキーマバリデーションライブラリがないため 3rd パーティのものを使うことになりますが、様々なライブラリがあるので比較してみました。 比較対象のライブラリ概要※Python バージョンは 3.9.0 を利用します。 lib versionGithub Star (202