From 7379bc6b8a67b1493b5f3575e2d53e645d20265d Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Wed, 6 May 2026 14:17:35 +0000 Subject: [PATCH] fix: update protobuf FieldDescriptor label check for compatibility with protobuf 5+ Protobuf 5+ removes the `label` attribute from the `FieldDescriptor`. This commit updates the `tensorflow_datasets/core/dataset_info.py` to use `is_repeated` when available, falling back to the `label == LABEL_REPEATED` check for older versions. Co-authored-by: tomvdw <4160552+tomvdw@users.noreply.github.com> --- tensorflow_datasets/core/dataset_info.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tensorflow_datasets/core/dataset_info.py b/tensorflow_datasets/core/dataset_info.py index 5d47d85dfb5..af928d61a2d 100644 --- a/tensorflow_datasets/core/dataset_info.py +++ b/tensorflow_datasets/core/dataset_info.py @@ -787,7 +787,7 @@ def read_from_directory(self, dataset_info_dir: epath.PathLike) -> None: # Otherwise, we restore the dataset_info.json value if field.type == field.TYPE_MESSAGE: field_value.MergeFrom(field_value_restored) - elif field.label == field.LABEL_REPEATED: + elif getattr(field, "is_repeated", getattr(field, "label", None) == getattr(field, "LABEL_REPEATED", 3)): del field_value[:] field_value.extend(field_value_restored) else: