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…

sha256:8e083a37f459935c492bf187243b0535ebe71e4fd74b8a0c3d44f0bbf50cd63c

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. 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