Skip to content

Commit cba1ce4

Browse files
authored
[PLT-1611] Vb/placeholder datarows (#1851)
1 parent 2d2def2 commit cba1ce4

File tree

4 files changed

+229
-132
lines changed

4 files changed

+229
-132
lines changed

libs/labelbox/src/labelbox/schema/dataset.py

Lines changed: 12 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,43 @@
1-
from datetime import datetime
2-
from typing import Dict, Generator, List, Optional, Any, Final, Tuple, Union
3-
import os
41
import json
52
import logging
6-
from collections.abc import Iterable
7-
from string import Template
8-
import time
3+
import os
94
import warnings
10-
11-
from labelbox import parser
12-
from itertools import islice
13-
145
from concurrent.futures import ThreadPoolExecutor, as_completed
15-
from io import StringIO
16-
import requests
6+
from itertools import islice
7+
from string import Template
8+
from typing import Any, Dict, List, Optional, Tuple, Union
179

10+
import labelbox.schema.internal.data_row_uploader as data_row_uploader
1811
from labelbox.exceptions import (
1912
InvalidQueryError,
2013
LabelboxError,
21-
ResourceNotFoundError,
2214
ResourceCreationError,
15+
ResourceNotFoundError,
2316
)
17+
from labelbox.orm import query
2418
from labelbox.orm.comparison import Comparison
25-
from labelbox.orm.db_object import DbObject, Updateable, Deletable, experimental
19+
from labelbox.orm.db_object import DbObject, Deletable, Updateable
2620
from labelbox.orm.model import Entity, Field, Relationship
27-
from labelbox.orm import query
28-
from labelbox.exceptions import MalformedQueryException
2921
from labelbox.pagination import PaginatedCollection
3022
from labelbox.schema.data_row import DataRow
31-
from labelbox.schema.embedding import EmbeddingVector
3223
from labelbox.schema.export_filters import DatasetExportFilters, build_filters
3324
from labelbox.schema.export_params import (
3425
CatalogExportParams,
3526
validate_catalog_export_params,
3627
)
3728
from labelbox.schema.export_task import ExportTask
38-
from labelbox.schema.identifiable import UniqueId, GlobalKey
39-
from labelbox.schema.task import Task, DataUpsertTask
40-
from labelbox.schema.user import User
4129
from labelbox.schema.iam_integration import IAMIntegration
30+
from labelbox.schema.identifiable import GlobalKey, UniqueId
4231
from labelbox.schema.internal.data_row_upsert_item import (
32+
DataRowCreateItem,
4333
DataRowItemBase,
4434
DataRowUpsertItem,
45-
DataRowCreateItem,
46-
)
47-
import labelbox.schema.internal.data_row_uploader as data_row_uploader
48-
from labelbox.schema.internal.descriptor_file_creator import (
49-
DescriptorFileCreator,
5035
)
5136
from labelbox.schema.internal.datarow_upload_constants import (
5237
FILE_UPLOAD_THREAD_COUNT,
5338
UPSERT_CHUNK_SIZE_BYTES,
5439
)
40+
from labelbox.schema.task import DataUpsertTask, Task
5541

5642
logger = logging.getLogger(__name__)
5743

@@ -359,7 +345,7 @@ def data_row_for_external_id(self, external_id) -> "DataRow":
359345
)
360346
if len(data_rows) > 1:
361347
logger.warning(
362-
f"More than one data_row has the provided external_id : `%s`. Use function data_rows_for_external_id to fetch all",
348+
"More than one data_row has the provided external_id : `%s`. Use function data_rows_for_external_id to fetch all",
363349
external_id,
364350
)
365351
return data_rows[0]

libs/labelbox/tests/integration/conftest.py

Lines changed: 54 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,53 @@
1-
from collections import defaultdict
2-
from itertools import islice
3-
import json
41
import os
52
import sys
6-
import re
73
import time
8-
import uuid
9-
import requests
10-
from types import SimpleNamespace
11-
from typing import Type, List
12-
from enum import Enum
13-
from typing import Tuple
4+
from collections import defaultdict
5+
from datetime import datetime, timezone
6+
from itertools import islice
7+
from typing import Type
148

159
import pytest
16-
import requests
1710

18-
from labelbox import Dataset, DataRow
19-
from labelbox import LabelingFrontend
2011
from labelbox import (
21-
OntologyBuilder,
22-
Tool,
23-
Option,
2412
Classification,
13+
Client,
14+
Dataset,
15+
LabelingFrontend,
2516
MediaType,
17+
OntologyBuilder,
18+
Option,
2619
PromptResponseClassification,
2720
ResponseOption,
21+
Tool,
2822
)
29-
from labelbox.orm import query
30-
from labelbox.pagination import PaginatedCollection
31-
from labelbox.schema.annotation_import import LabelImport
32-
from labelbox.schema.catalog import Catalog
33-
from labelbox.schema.enums import AnnotationImportState
34-
from labelbox.schema.invite import Invite
35-
from labelbox.schema.quality_mode import QualityMode
23+
from labelbox.schema.data_row import DataRowMetadataField
24+
from labelbox.schema.ontology_kind import OntologyKind
3625
from labelbox.schema.queue_mode import QueueMode
3726
from labelbox.schema.user import User
38-
from labelbox import Client
39-
from labelbox.schema.ontology_kind import OntologyKind
27+
28+
29+
@pytest.fixture
30+
def constants():
31+
SPLIT_SCHEMA_ID = "cko8sbczn0002h2dkdaxb5kal"
32+
TEST_SPLIT_ID = "cko8scbz70005h2dkastwhgqt"
33+
TEXT_SCHEMA_ID = "cko8s9r5v0001h2dk9elqdidh"
34+
CAPTURE_DT_SCHEMA_ID = "cko8sdzv70006h2dk8jg64zvb"
35+
EXPECTED_METADATA_SCHEMA_IDS = [
36+
SPLIT_SCHEMA_ID,
37+
TEST_SPLIT_ID,
38+
TEXT_SCHEMA_ID,
39+
CAPTURE_DT_SCHEMA_ID,
40+
]
41+
CUSTOM_TEXT_SCHEMA_NAME = "custom_text"
42+
43+
return {
44+
"SPLIT_SCHEMA_ID": SPLIT_SCHEMA_ID,
45+
"TEST_SPLIT_ID": TEST_SPLIT_ID,
46+
"TEXT_SCHEMA_ID": TEXT_SCHEMA_ID,
47+
"CAPTURE_DT_SCHEMA_ID": CAPTURE_DT_SCHEMA_ID,
48+
"EXPECTED_METADATA_SCHEMA_IDS": EXPECTED_METADATA_SCHEMA_IDS,
49+
"CUSTOM_TEXT_SCHEMA_NAME": CUSTOM_TEXT_SCHEMA_NAME,
50+
}
4051

4152

4253
@pytest.fixture
@@ -835,3 +846,21 @@ def print_perf_summary():
835846
for aaa in islice(sorted_dict, num_of_entries)
836847
]
837848
print("\nTop slowest fixtures:\n", slowest_fixtures, file=sys.stderr)
849+
850+
851+
@pytest.fixture
852+
def make_metadata_fields(constants):
853+
msg = "A message"
854+
time = datetime.now(timezone.utc)
855+
856+
fields = [
857+
DataRowMetadataField(
858+
schema_id=constants["SPLIT_SCHEMA_ID"],
859+
value=constants["TEST_SPLIT_ID"],
860+
),
861+
DataRowMetadataField(
862+
schema_id=constants["CAPTURE_DT_SCHEMA_ID"], value=time
863+
),
864+
DataRowMetadataField(schema_id=constants["TEXT_SCHEMA_ID"], value=msg),
865+
]
866+
return fields

0 commit comments

Comments
 (0)