Skip to content

Commit 3c10710

Browse files
Fix marshmallow 4.x compatibility: Replace marshmallow.base imports with marshmallow.Field
Co-authored-by: kshitij-microsoft <[email protected]>
1 parent 3180299 commit 3c10710

File tree

1 file changed

+6
-6
lines changed
  • sdk/ml/azure-ai-ml/azure/ai/ml/_schema/core

1 file changed

+6
-6
lines changed

sdk/ml/azure-ai-ml/azure/ai/ml/_schema/core/fields.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,12 @@ def _resolve_field_instance(cls_or_instance):
5555
5656
Returns a field instance from either a field class or field instance.
5757
"""
58-
from marshmallow.base import FieldABC
58+
from marshmallow import Field
5959

60-
if isinstance(cls_or_instance, FieldABC):
60+
if isinstance(cls_or_instance, Field):
6161
# Already a field instance
6262
return cls_or_instance
63-
elif isinstance(cls_or_instance, type) and issubclass(cls_or_instance, FieldABC):
63+
elif isinstance(cls_or_instance, type) and issubclass(cls_or_instance, Field):
6464
# Field class, instantiate it
6565
return cls_or_instance()
6666
else:
@@ -463,13 +463,13 @@ def __init__(self, union_fields: List[fields.Field], is_strict=False, **kwargs):
463463
super().__init__(**kwargs)
464464
try:
465465
# add the validation and make sure union_fields must be subclasses or instances of
466-
# marshmallow.base.FieldABC
466+
# marshmallow.Field
467467
self._union_fields = [_resolve_field_instance(cls_or_instance) for cls_or_instance in union_fields]
468468
# TODO: make serialization/de-serialization work in the same way as json schema when is_strict is True
469469
self.is_strict = is_strict # S\When True, combine fields with oneOf instead of anyOf at schema generation
470470
except ValueError as error:
471471
raise ValueError(
472-
'Elements of "union_fields" must be subclasses or instances of marshmallow.base.FieldABC.'
472+
'Elements of "union_fields" must be subclasses or instances of marshmallow.Field.'
473473
) from error
474474

475475
@property
@@ -906,7 +906,7 @@ def __init__(self, experimental_field: fields.Field, **kwargs):
906906
self.required = experimental_field.required
907907
except ValueError as error:
908908
raise ValueError(
909-
'"experimental_field" must be subclasses or instances of marshmallow.base.FieldABC.'
909+
'"experimental_field" must be subclasses or instances of marshmallow.Field.'
910910
) from error
911911

912912
@property

0 commit comments

Comments
 (0)