Skip to content

Commit 38f10fe

Browse files
Make Label.seconds_to_label optional in Label creation.
1 parent bd0f87a commit 38f10fe

File tree

5 files changed

+14
-16
lines changed

5 files changed

+14
-16
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
returned `dict`. This *breaks* existing code that directly uses the
88
`Client.execute` method.
99
* Major code reorganization, naming and test improvements.
10+
* `Label.seconds_to_label` field value is now optional when creating
11+
a `Label`. Default value is 0.0.
1012

1113
### Added
1214
* `Project.upsert_review_queue` method.

labelbox/schema/project.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,7 @@ class Project(DbObject, Updateable, Deletable):
4444
def create_label(self, **kwargs):
4545
""" Creates a label on this Project.
4646
Kwargs:
47-
Label attributes. At the minimum the label `DataRow`
48-
relationship and `seconds_to_label` field.
47+
Label attributes. At the minimum the label `DataRow`.
4948
"""
5049
# Copy-paste of Client._create code so we can inject
5150
# a connection to Type. Type objects are on their way to being
@@ -54,7 +53,10 @@ def create_label(self, **kwargs):
5453
# label creation in a non-standard way (connect via name).
5554

5655
Label = Entity.Label
56+
5757
kwargs[Label.project] = self
58+
kwargs[Label.seconds_to_label] = kwargs.get(
59+
Label.seconds_to_label.name, 0.0)
5860
data = {Label.attribute(attr) if isinstance(attr, str) else attr:
5961
value.uid if isinstance(value, DbObject) else value
6062
for attr, value in kwargs.items()}

tests/integration/conftest.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,6 @@ def label_pack(project, rand_gen):
7272
client = project.client
7373
dataset = client.create_dataset(name=rand_gen(str), projects=project)
7474
data_row = dataset.create_data_row(row_data=IMG_URL)
75-
label = project.create_label(data_row=data_row, label=rand_gen(str),
76-
seconds_to_label=0.0)
75+
label = project.create_label(data_row=data_row, label=rand_gen(str))
7776
yield LabelPack(project, dataset, data_row, label)
7877
dataset.delete()

tests/integration/test_label.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def test_labels(label_pack):
3333

3434
def test_label_export(label_pack):
3535
project, dataset, data_row, label = label_pack
36-
project.create_label(data_row=data_row, label="l2", seconds_to_label=0.3)
36+
project.create_label(data_row=data_row, label="l2")
3737

3838
exported_labels_url = project.export_labels(5)
3939
assert exported_labels_url is not None
@@ -57,10 +57,8 @@ def test_label_filter_order(client, rand_gen):
5757
data_row_1 = dataset_1.create_data_row(row_data=IMG_URL)
5858
data_row_2 = dataset_2.create_data_row(row_data=IMG_URL)
5959

60-
l1 = project.create_label(data_row=data_row_1, label="l1",
61-
seconds_to_label=0.3)
62-
l2 = project.create_label(data_row=data_row_2, label="l2",
63-
seconds_to_label=0.1)
60+
l1 = project.create_label(data_row=data_row_1, label="l1")
61+
l2 = project.create_label(data_row=data_row_2, label="l2")
6462

6563
# Labels are not visible in the project immediately.
6664
time.sleep(10)
@@ -74,8 +72,6 @@ def test_label_filter_order(client, rand_gen):
7472

7573
assert list(project.labels(order_by=Label.label.asc)) == [l1, l2]
7674
assert list(project.labels(order_by=Label.label.desc)) == [l2, l1]
77-
assert list(project.labels(order_by=Label.seconds_to_label.asc)) == [l2, l1]
78-
assert list(project.labels(order_by=Label.seconds_to_label.desc)) == [l1, l2]
7975

8076
dataset_1.delete()
8177
dataset_2.delete()
@@ -87,9 +83,9 @@ def test_label_bulk_deletion(project, rand_gen):
8783
row_1 = dataset.create_data_row(row_data=IMG_URL)
8884
row_2 = dataset.create_data_row(row_data=IMG_URL)
8985

90-
l1 = project.create_label(data_row=row_1, label="l1", seconds_to_label=0.3)
91-
l2 = project.create_label(data_row=row_1, label="l2", seconds_to_label=0.1)
92-
l3 = project.create_label(data_row=row_2, label="l3", seconds_to_label=0.1)
86+
l1 = project.create_label(data_row=row_1, label="l1")
87+
l2 = project.create_label(data_row=row_1, label="l2")
88+
l3 = project.create_label(data_row=row_2, label="l3")
9389

9490
# Labels are not visible in the project immediately.
9591
time.sleep(10)

tests/integration/test_review.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,7 @@ def test_review_metrics(label_pack):
4848

4949
for count, score in ((4, 0), (2, 1), (3, -1)):
5050
for _ in range(count):
51-
l = project.create_label(data_row=data_row, label="l",
52-
seconds_to_label=0.0)
51+
l = project.create_label(data_row=data_row, label="l")
5352
l.create_review(score=score)
5453

5554
assert project.review_metrics(None) == 1

0 commit comments

Comments
 (0)