1
1
from enum import Enum
2
2
from typing import List , Optional , Tuple
3
3
4
+ from pydantic import BaseModel , model_validator
5
+
4
6
from labelbox import pydantic_compat
5
7
from labelbox .data .annotation_types .annotation import ClassificationAnnotation , ObjectAnnotation
6
8
@@ -87,12 +89,13 @@ class DICOMObjectAnnotation(VideoObjectAnnotation):
87
89
group_key : GroupKey
88
90
89
91
90
- class MaskFrame (_CamelCaseMixin , pydantic_compat . BaseModel ):
92
+ class MaskFrame (_CamelCaseMixin , BaseModel ):
91
93
index : int
92
94
instance_uri : Optional [str ] = None
93
95
im_bytes : Optional [bytes ] = None
94
96
95
- @pydantic_compat .root_validator ()
97
+ @model_validator (mode = 'before' )
98
+ @classmethod
96
99
def validate_args (cls , values ):
97
100
im_bytes = values .get ("im_bytes" )
98
101
instance_uri = values .get ("instance_uri" )
@@ -101,11 +104,11 @@ def validate_args(cls, values):
101
104
raise ValueError ("One of `instance_uri`, `im_bytes` required." )
102
105
return values
103
106
104
- @pydantic_compat .validator ("instance_uri" )
105
- def validate_uri (cls , v ):
106
- if not is_valid_uri (v ):
107
- raise ValueError (f"{ v } is not a valid uri" )
108
- return v
107
+ # @pydantic_compat.validator("instance_uri")
108
+ # def validate_uri(cls, v):
109
+ # if not is_valid_uri(v):
110
+ # raise ValueError(f"{v} is not a valid uri")
111
+ # return v
109
112
110
113
111
114
class MaskInstance (_CamelCaseMixin , FeatureSchema ):
0 commit comments