Skip to content

Commit dfc05f7

Browse files
author
Val Brodsky
committed
Support Field
1 parent 38e9f61 commit dfc05f7

File tree

9 files changed

+31
-32
lines changed

9 files changed

+31
-32
lines changed

libs/labelbox/src/labelbox/data/annotation_types/data/tiled_image.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from PIL import Image
1313
from pyproj import Transformer
1414
from pygeotile.point import Point as PygeoPoint
15-
from pydantic import BaseModel, model_validator
15+
from pydantic import BaseModel, model_validator, field_validator
1616

1717
from labelbox.data.annotation_types import Rectangle, Point, Line, Polygon
1818
from .base_data import BaseData

libs/labelbox/src/labelbox/data/annotation_types/label.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from typing import Any, Callable, Dict, List, Union, Optional
33
import warnings
44

5-
from pydantic import BaseModel, model_validator
5+
from pydantic import BaseModel, model_validator, field_validator
66

77
import labelbox
88
from labelbox.data.annotation_types.data.generic_data_row_data import GenericDataRowData

libs/labelbox/src/labelbox/data/annotation_types/metrics/confusion_matrix.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from enum import Enum
22
from typing import Tuple, Dict, Union
33

4-
from pydantic import BaseModel
4+
from pydantic import Field
55

66
from .base import ConfidenceValue, BaseMetric
77

@@ -30,5 +30,4 @@ class ConfusionMatrixMetric(BaseMetric):
3030
metric_name: str
3131
value: Union[ConfusionMatrixMetricValue,
3232
ConfusionMatrixMetricConfidenceValue]
33-
aggregation: ConfusionMatrixAggregation = pydantic_compat.Field(
34-
ConfusionMatrixAggregation.CONFUSION_MATRIX, const=True)
33+
aggregation: ConfusionMatrixAggregation = ConfusionMatrixAggregation.CONFUSION_MATRIX

libs/labelbox/src/labelbox/data/annotation_types/video.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from enum import Enum
22
from typing import List, Optional, Tuple
33

4-
from pydantic import BaseModel, model_validator
4+
from pydantic import BaseModel, model_validator, field_validator
55

66
from pydantic import BaseModel
77
from labelbox.data.annotation_types.annotation import ClassificationAnnotation, ObjectAnnotation

libs/labelbox/src/labelbox/data/mixins.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from typing import Optional, List
22

3-
from pydantic import BaseModel
3+
from pydantic import BaseModel, field_validator
44

55
from labelbox.exceptions import ConfidenceNotSupportedException, CustomMetricsNotSupportedException
66

libs/labelbox/src/labelbox/data/serialization/labelbox_v1/label.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from labelbox.utils import camel_case
33
from typing import List, Optional, Union, Dict, Any
44

5-
from pydantic import BaseModel
5+
from pydantic import BaseModel, Field
66

77
from ...annotation_types.annotation import (ClassificationAnnotation,
88
ObjectAnnotation)
@@ -35,7 +35,7 @@ def from_common(
3535

3636

3737
class LBV1LabelAnnotationsVideo(LBV1LabelAnnotations):
38-
frame_number: int = pydantic_compat.Field(..., alias='frameNumber')
38+
frame_number: int = Field(..., alias='frameNumber')
3939

4040
def to_common(
4141
self
@@ -115,21 +115,21 @@ class Config:
115115
alias_generator = camel_case
116116

117117

118-
Extra = lambda name: pydantic_compat.Field(None, alias=name, extra_field=True)
118+
Extra = lambda name: Field(None, alias=name, extra_field=True)
119119

120120

121121
class LBV1Label(BaseModel):
122122
label: Union[LBV1LabelAnnotations,
123-
List[LBV1LabelAnnotationsVideo]] = pydantic_compat.Field(
123+
List[LBV1LabelAnnotationsVideo]] = Field(
124124
..., alias='Label')
125-
data_row_id: str = pydantic_compat.Field(..., alias="DataRow ID")
126-
row_data: str = pydantic_compat.Field(None, alias="Labeled Data")
127-
id: Optional[str] = pydantic_compat.Field(None, alias='ID')
128-
external_id: Optional[str] = pydantic_compat.Field(None,
125+
data_row_id: str = Field(..., alias="DataRow ID")
126+
row_data: str = Field(None, alias="Labeled Data")
127+
id: Optional[str] = Field(None, alias='ID')
128+
external_id: Optional[str] = Field(None,
129129
alias="External ID")
130-
data_row_media_attributes: Optional[Dict[str, Any]] = pydantic_compat.Field(
130+
data_row_media_attributes: Optional[Dict[str, Any]] = Field(
131131
{}, alias="Media Attributes")
132-
data_row_metadata: Optional[List[Dict[str, Any]]] = pydantic_compat.Field(
132+
data_row_metadata: Optional[List[Dict[str, Any]]] = Field(
133133
[], alias="DataRow Metadata")
134134

135135
created_by: Optional[str] = Extra('Created By')

libs/labelbox/src/labelbox/data/serialization/labelbox_v1/objects.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
except:
55
from typing_extensions import Literal
66

7-
from pydantic import BaseModel
7+
from pydantic import BaseModel, Field
88
import numpy as np
99

1010
from .classification import LBV1Checklist, LBV1Classifications, LBV1Radio, LBV1Text, LBV1Dropdown
@@ -66,7 +66,7 @@ class TIRectangleCoordinate(BaseModel):
6666

6767

6868
class LBV1TIPoint(LBV1ObjectBase):
69-
object_type: Literal['point'] = pydantic_compat.Field(..., alias='type')
69+
object_type: Literal['point'] = Field(..., alias='type')
7070
geometry: TIPointCoordinate
7171

7272
def to_common(self) -> Point:
@@ -75,7 +75,7 @@ def to_common(self) -> Point:
7575

7676

7777
class LBV1TILine(LBV1ObjectBase):
78-
object_type: Literal['polyline'] = pydantic_compat.Field(..., alias='type')
78+
object_type: Literal['polyline'] = Field(..., alias='type')
7979
geometry: TILineCoordinate
8080

8181
def to_common(self) -> Line:
@@ -85,7 +85,7 @@ def to_common(self) -> Line:
8585

8686

8787
class LBV1TIPolygon(LBV1ObjectBase):
88-
object_type: Literal['polygon'] = pydantic_compat.Field(..., alias='type')
88+
object_type: Literal['polygon'] = Field(..., alias='type')
8989
geometry: TIPolygonCoordinate
9090

9191
def to_common(self) -> Polygon:
@@ -95,7 +95,7 @@ def to_common(self) -> Polygon:
9595

9696

9797
class LBV1TIRectangle(LBV1ObjectBase):
98-
object_type: Literal['rectangle'] = pydantic_compat.Field(..., alias='type')
98+
object_type: Literal['rectangle'] = Field(..., alias='type')
9999
geometry: TIRectangleCoordinate
100100

101101
def to_common(self) -> Rectangle:

libs/labelbox/src/labelbox/data/serialization/ndjson/classification.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from typing import Any, Dict, List, Union, Optional
22

3-
from pydantic import BaseModel, model_validator
3+
from pydantic import BaseModel, model_validator, Field
44
from labelbox.data.mixins import ConfidenceMixin, CustomMetric, CustomMetricsMixin
55
from labelbox.data.serialization.ndjson.base import DataRow, NDAnnotation
66

@@ -82,7 +82,7 @@ def from_common(cls, text: Text, name: str,
8282

8383

8484
class NDChecklistSubclass(NDAnswer):
85-
answer: List[NDAnswer] = pydantic_compat.Field(..., alias='answers')
85+
answer: List[NDAnswer] = Field(..., alias='answers')
8686

8787
def to_common(self) -> Checklist:
8888

libs/labelbox/src/labelbox/schema/bulk_import_request.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from google.api_core import retry
99
from labelbox import parser
1010
import requests
11-
from pydantic import BaseModel, model_validator, StringConstraints
11+
from pydantic import BaseModel, model_validator, StringConstraints, Field as PydanticField, field_validator
1212
from typing_extensions import Literal
1313
from typing import (Any, List, Optional, BinaryIO, Dict, Iterable, Tuple, Union,
1414
Type, Set, TYPE_CHECKING, Annotated)
@@ -716,7 +716,7 @@ def validate_feature_schemas(self, valid_feature_schemas_by_id,
716716

717717
class NDRadio(VideoSupported, NDBase):
718718
ontology_type: Literal["radio"] = "radio"
719-
answer: NDFeatureSchema = pydantic_compat.Field(determinant=True)
719+
answer: NDFeatureSchema = PydanticField(determinant=True)
720720

721721
def validate_feature_schemas(self, valid_feature_schemas_by_id,
722722
valid_feature_schemas_by_name):
@@ -780,7 +780,7 @@ def validate_subclasses(cls, value, field):
780780

781781
class NDPolygon(NDBaseTool):
782782
ontology_type: Literal["polygon"] = "polygon"
783-
polygon: List[Point] = pydantic_compat.Field(determinant=True)
783+
polygon: List[Point] = PydanticField(determinant=True)
784784

785785
@pydantic_compat.validator('polygon')
786786
def is_geom_valid(cls, v):
@@ -792,7 +792,7 @@ def is_geom_valid(cls, v):
792792

793793
class NDPolyline(NDBaseTool):
794794
ontology_type: Literal["line"] = "line"
795-
line: List[Point] = pydantic_compat.Field(determinant=True)
795+
line: List[Point] = PydanticField(determinant=True)
796796

797797
@pydantic_compat.validator('line')
798798
def is_geom_valid(cls, v):
@@ -804,13 +804,13 @@ def is_geom_valid(cls, v):
804804

805805
class NDRectangle(NDBaseTool):
806806
ontology_type: Literal["rectangle"] = "rectangle"
807-
bbox: Bbox = pydantic_compat.Field(determinant=True)
807+
bbox: Bbox = PydanticField(determinant=True)
808808
#Could check if points are positive
809809

810810

811811
class NDPoint(NDBaseTool):
812812
ontology_type: Literal["point"] = "point"
813-
point: Point = pydantic_compat.Field(determinant=True)
813+
point: Point = PydanticField(determinant=True)
814814
#Could check if points are positive
815815

816816

@@ -821,7 +821,7 @@ class EntityLocation(BaseModel):
821821

822822
class NDTextEntity(NDBaseTool):
823823
ontology_type: Literal["named-entity"] = "named-entity"
824-
location: EntityLocation = pydantic_compat.Field(determinant=True)
824+
location: EntityLocation = PydanticField(determinant=True)
825825

826826
@pydantic_compat.validator('location')
827827
def is_valid_location(cls, v):
@@ -893,7 +893,7 @@ def validate_color(cls, colorRGB):
893893
class NDMask(NDBaseTool):
894894
ontology_type: Literal["superpixel"] = "superpixel"
895895
mask: Union[URIMaskFeatures, PNGMaskFeatures,
896-
RLEMaskFeatures] = pydantic_compat.Field(determinant=True)
896+
RLEMaskFeatures] = PydanticField(determinant=True)
897897

898898

899899
#A union with custom construction logic to improve error messages

0 commit comments

Comments
 (0)