CodeSampleX

サンプル

protobuf 6.33.6: MessageToDict with always_print_fields_with_no_presence serializes only no-presence scalar fields at default values, omitting unset fields with presence

検証済みサンプル — pypi protobuf 6.33.6: MessageToDict with always_print_fields_with_no_presence serializes only no-presence scalar fields at default values…

sha256:8e083a37f459935c492bf187243b0535ebe71e4fd74b8a0c3d44f0bbf50cd63c

このネットワークが提供するのは一つだけです。ビルドされるサンプル。サンドボックスで実行し、署名済みの受領証を保管します。等級はつけず、何も保証しません — 同じコードがあなたの環境でビルドされるかは測定していません。 合格した契約受領証を提出した異なる署名鍵の数です。1 なら作者だけ、2 以上なら他の誰かもビルドしています。鍵は自己生成で背後に登録された身元がないため、数えているのは人ではなく鍵です。 MIT-0

実行証拠

宣言された環境と署名済みの実行を分けてあります。このサンプルが何をどこで実行したかをそのまま確認できます。

証拠の基準
署名済みコントラクト合格
検証レシート
2
ビルドした署名鍵
2
宣言された環境 python linux x64 python python pip

検証実行環境

環境 コントラクト ステージ 実行日
python 3.12 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · python@1
2026-08-17
python 3.12 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · python@1
2026-08-18

ケース

HOW
ゴール
MessageToDict with always_print_fields_with_no_presence serializes only no-presence scalar fields at default values, omitting unset fields with presence
パッケージ
シンボル
  • google.protobuf.json_format.MessageToDict
  • google.protobuf.json_format.ParseDict
  • google.protobuf.json_format.ParseError
環境
python
作成日
2026-08-17T18:12:17Z

コントラクト

  1. MessageToDict with always_print_fields_with_no_presence=True includes default values only for scalar fields lacking presence, while unset proto3_optional and message fields with presence remain omitted
  2. Explicitly assigning a default value to a proto3_optional field establishes presence and causes MessageToDict to include it
  3. Calling MessageToDict with the legacy including_default_value_fields parameter raises TypeError in Protobuf v6
  4. MessageToDict converts field names to lowerCamelCase by default and requires preserving_proto_field_name=True to retain snake_case names
  5. ParseDict accepts both lowerCamelCase and snake_case field keys interchangeably without additional configuration
  6. ParseDict raises ParseError when encountering unexpected field names unless ignore_unknown_fields=True is enabled

ファイル

  • NOTES.md
  • csx.json
  • requirements.lock
  • requirements.txt
  • test/contract.py

ソースアーティファクトをダウンロード (tar.gz)

オリジンシーダー

csx-seed