Skip to content

Commit e090884

Browse files
author
Val Brodsky
committed
Dealing with constr
1 parent 37daf69 commit e090884

File tree

3 files changed

+22
-15
lines changed

3 files changed

+22
-15
lines changed

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

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
from itertools import chain
66
import warnings
77

8-
from typing import List, Optional, Dict, Union, Callable, Type, Any, Generator, overload
8+
from typing import List, Optional, Dict, Union, Callable, Type, Any, Generator, overload, Annotated
9+
10+
from pydantic import StringConstraints
911

1012
from labelbox import pydantic_compat
1113
from labelbox.schema.identifiables import DataRowIdentifiers, UniqueIds
@@ -124,17 +126,17 @@ def dict(self, *args, **kwargs):
124126

125127
class _UpsertCustomMetadataSchemaEnumOptionInput(_CamelCaseMixin):
126128
id: Optional[SchemaId]
127-
name: pydantic_compat.constr(strip_whitespace=True,
128-
min_length=1,
129-
max_length=100)
129+
name: Annotated[
130+
str,
131+
StringConstraints(strip_whitespace=True, min_length=1, max_length=100)]
130132
kind: str
131133

132134

133135
class _UpsertCustomMetadataSchemaInput(_CamelCaseMixin):
134136
id: Optional[SchemaId]
135-
name: pydantic_compat.constr(strip_whitespace=True,
136-
min_length=1,
137-
max_length=100)
137+
name: Annotated[
138+
str,
139+
StringConstraints(strip_whitespace=True, min_length=1, max_length=100)]
138140
kind: str
139141
options: Optional[List[_UpsertCustomMetadataSchemaEnumOptionInput]]
140142

libs/labelbox/src/labelbox/schema/export_task.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
import warnings
2424
import tempfile
2525
import os
26+
27+
from pydantic import BaseModel
28+
2629
from labelbox import pydantic_compat
2730

2831
from labelbox.schema.task import Task
@@ -41,19 +44,19 @@ class StreamType(Enum):
4144
ERRORS = "ERRORS"
4245

4346

44-
class Range(_CamelCaseMixin, pydantic_compat.BaseModel): # pylint: disable=too-few-public-methods
47+
class Range(_CamelCaseMixin, BaseModel): # pylint: disable=too-few-public-methods
4548
"""Represents a range."""
4649

4750
start: int
4851
end: int
4952

5053

51-
class _MetadataHeader(_CamelCaseMixin, pydantic_compat.BaseModel): # pylint: disable=too-few-public-methods
54+
class _MetadataHeader(_CamelCaseMixin, BaseModel): # pylint: disable=too-few-public-methods
5255
total_size: int
5356
total_lines: int
5457

5558

56-
class _MetadataFileInfo(_CamelCaseMixin, pydantic_compat.BaseModel): # pylint: disable=too-few-public-methods
59+
class _MetadataFileInfo(_CamelCaseMixin, BaseModel): # pylint: disable=too-few-public-methods
5760
offsets: Range
5861
lines: Range
5962
file: str
@@ -920,4 +923,3 @@ def get_stream(
920923
def get_task(client, task_id):
921924
"""Returns the task with the given id."""
922925
return ExportTask(Task.get_task(client, task_id))
923-

libs/labelbox/src/labelbox/schema/ontology.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,21 @@
33
import colorsys
44
from dataclasses import dataclass, field
55
from enum import Enum
6-
from typing import Any, Dict, List, Optional, Union, Type
6+
from typing import Any, Dict, List, Optional, Union, Type, Annotated
77
import warnings
88

9+
from pydantic import StringConstraints
10+
911
from labelbox.exceptions import InconsistentOntologyException
1012
from labelbox.orm.db_object import DbObject
1113
from labelbox.orm.model import Field, Relationship
1214
from labelbox import pydantic_compat
1315
import json
1416

15-
FeatureSchemaId: Type[str] = pydantic_compat.constr(min_length=25,
16-
max_length=25)
17-
SchemaId: Type[str] = pydantic_compat.constr(min_length=25, max_length=25)
17+
FeatureSchemaId: Type[str] = Annotated[
18+
str, StringConstraints(min_length=25, max_length=25)]
19+
SchemaId: Type[str] = Annotated[str,
20+
StringConstraints(min_length=25, max_length=25)]
1821

1922

2023
class DeleteFeatureFromOntologyResult:

0 commit comments

Comments
 (0)