Skip to content

Commit ebfc6fb

Browse files
author
Val Brodsky
committed
Dealing with constrained types
1 parent 69744dd commit ebfc6fb

File tree

4 files changed

+15
-15
lines changed

4 files changed

+15
-15
lines changed

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
from abc import ABC
2-
from typing import Dict, Optional, Any, Union
2+
from typing import Annotated, Dict, Optional, Any, Union
33

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

6-
ConfidenceValue = pydantic_compat.confloat(ge=0, le=1)
6+
ConfidenceValue = Annotated[float, Field(ge=0, le=1)]
77

88
MIN_CONFIDENCE_SCORES = 2
99
MAX_CONFIDENCE_SCORES = 15

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

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

44
from pydantic import Field
55

66
from .base import ConfidenceValue, BaseMetric
77

8-
Count = pydantic_compat.conint(ge=0, le=1e10)
8+
Count = Annotated[int, Field(ge=0, le=1e10)]
99

1010
ConfusionMatrixMetricValue = Tuple[Count, Count, Count, Count]
1111
ConfusionMatrixMetricConfidenceValue = Dict[ConfidenceValue,

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
from dataclasses import field
2-
from typing import Dict, Optional, Union
2+
from typing import Annotated, Dict, Optional, Union
33
from enum import Enum
44

55
from .base import ConfidenceValue, BaseMetric
66

7-
from pydantic import BaseModel
7+
from pydantic import Field
88

9-
ScalarMetricValue = pydantic_compat.confloat(ge=0, le=100_000_000)
9+
ScalarMetricValue = Annotated[float, Field(ge=0, le=100_000_000)]
1010
ScalarMetricConfidenceValue = Dict[ConfidenceValue, ScalarMetricValue]
1111

1212

libs/labelbox/src/labelbox/schema/data_row_metadata.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
from typing import List, Optional, Dict, Union, Callable, Type, Any, Generator, overload, Annotated
99

10-
from pydantic import StringConstraints
10+
from pydantic import StringConstraints, Field
1111

1212
from pydantic import BaseModel
1313
from labelbox.schema.identifiables import DataRowIdentifiers, UniqueIds
@@ -29,9 +29,9 @@ class DataRowMetadataKind(Enum):
2929
# Metadata schema
3030
class DataRowMetadataSchema(BaseModel):
3131
uid: SchemaId
32-
name: pydantic_compat.constr(strip_whitespace=True,
33-
min_length=1,
34-
max_length=100)
32+
name: Annotated[
33+
str,
34+
StringConstraints(strip_whitespace=True, min_length=1, max_length=100)]
3535
reserved: bool
3636
kind: DataRowMetadataKind
3737
options: Optional[List["DataRowMetadataSchema"]]
@@ -40,10 +40,10 @@ class DataRowMetadataSchema(BaseModel):
4040

4141
DataRowMetadataSchema.update_forward_refs()
4242

43-
Embedding: Type[List[float]] = pydantic_compat.conlist(float,
43+
Embedding: Type[List[float]] = Annotated[List[float], Field(
4444
min_items=128,
45-
max_items=128)
46-
String: Type[str] = pydantic_compat.constr(max_length=4096)
45+
max_items=128)]
46+
String: Type[str] = Annotated[List[str], Field(max_length=4096)]
4747

4848

4949
# Metadata base class

0 commit comments

Comments
 (0)