Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Plugin request for Buf Schema Registry: protoc-gen-pydantic

クローズ
#2,308 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
52/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
go, python
領域
tooling

調査の方向性

まず https://github.com/cjermain/protoc-gen-pydantic のプラグインソースと、このリポジトリが BSR プラグインをどのように登録しているかを確認します。レジストリエントリで Go バイナリ v0.10.0、その Pydantic v2 ランタイム依存関係、および Python 3.10 要件を表現できることを確認します。完了とは、プラグインが受け入れられ、Buf Schema Registry で発見可能になることです。

索引モデルが issue の本文から書いたものです。

説明

Feature

Mandatory

Where is the source code for the plugin?

https://github.com/cjermain/protoc-gen-pydantic

Optional

Does the plugin have a valid semver version?

Yes. Latest version is v0.10.0, from GitHub Releases.

Does the plugin have a dependency on another plugin?

No. The plugin generates standalone Pydantic models and does not depend on output from any other plugin (e.g., protoc-gen-python is not required).

Does the output of this plugin depend on any other external libraries?

Yes — the generated Python (≥ 3.10) files have a runtime dependency on Pydantic v2:

pydantic>=2.0

No other runtime dependencies. The plugin binary itself is a self-contained Go binary.

Additional details:

  • The plugin is a Go binary (protoc-gen-pydantic) that reads .proto descriptors and emits *_pydantic.py files — no Python runtime needed in the Docker image.
  • It translates buf.validate field constraints directly to Pydantic Field() kwargs and AfterValidator annotations
  • Generated files require Python ≥ 3.10 for T | None union syntax.
主要言語
Dockerfile
スター
73
フォーク
25
平均マージ
5時間 50分
マージ済み PR(30日)
52

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

bufbuild/plugins のほかの issue

bufbuild/plugins の issue をすべて見る

似ている issue

DevTools の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。