diff --git a/docs/conf.py b/docs/conf.py index 00dd9f84c..dc26dda07 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -14,9 +14,9 @@ # -- Project information ----------------------------------------------------- project = 'Python SDK reference' -copyright = '2024, Labelbox' +copyright = '2025, Labelbox' author = 'Labelbox' -release = '6.6.0' +release = '6.7.0' # -- General configuration --------------------------------------------------- diff --git a/libs/labelbox/CHANGELOG.md b/libs/labelbox/CHANGELOG.md index 4d606365c..e2679e3a6 100644 --- a/libs/labelbox/CHANGELOG.md +++ b/libs/labelbox/CHANGELOG.md @@ -1,4 +1,9 @@ # Changelog +# Version 6.7.0 (2025-02-06) +## Added +* MAL support for pdf relationships (beta)([#1932](https://github.com/Labelbox/labelbox-python/pull/1932)) +* Allow setting read_only for relationships (beta)([#1950](https://github.com/Labelbox/labelbox-python/pull/1950)) + # Version 6.6.0 (2025-01-14) ## Added * Support for python 3.13([#1940](https://github.com/Labelbox/labelbox-python/pull/1940)) diff --git a/libs/labelbox/pyproject.toml b/libs/labelbox/pyproject.toml index 4a8de76db..52796fb3e 100644 --- a/libs/labelbox/pyproject.toml +++ b/libs/labelbox/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "labelbox" -version = "6.6.0" +version = "6.7.0" description = "Labelbox Python API" authors = [{ name = "Labelbox", email = "engineering@labelbox.com" }] dependencies = [ diff --git a/libs/labelbox/src/labelbox/__init__.py b/libs/labelbox/src/labelbox/__init__.py index 59d9dc8ad..68605ad0c 100644 --- a/libs/labelbox/src/labelbox/__init__.py +++ b/libs/labelbox/src/labelbox/__init__.py @@ -1,6 +1,6 @@ name = "labelbox" -__version__ = "6.6.0" +__version__ = "6.7.0" from labelbox.client import Client from labelbox.schema.annotation_import import ( diff --git a/libs/labelbox/src/labelbox/data/annotation_types/relationship.py b/libs/labelbox/src/labelbox/data/annotation_types/relationship.py index 760c6a529..a5b84b3ba 100644 --- a/libs/labelbox/src/labelbox/data/annotation_types/relationship.py +++ b/libs/labelbox/src/labelbox/data/annotation_types/relationship.py @@ -19,7 +19,7 @@ class Type(Enum): type: Type = Type.UNIDIRECTIONAL readonly: Optional[bool] = None - @model_validator(mode='after') + @model_validator(mode="after") def check_readonly(self): if self.readonly is True: warnings.warn( diff --git a/libs/labelbox/src/labelbox/data/serialization/ndjson/relationship.py b/libs/labelbox/src/labelbox/data/serialization/ndjson/relationship.py index 6ed4d4ac6..8495fdc04 100644 --- a/libs/labelbox/src/labelbox/data/serialization/ndjson/relationship.py +++ b/libs/labelbox/src/labelbox/data/serialization/ndjson/relationship.py @@ -16,6 +16,7 @@ class _Relationship(BaseModel): type: str readonly: Optional[bool] = None + class NDRelationship(NDAnnotation): relationship: _Relationship diff --git a/libs/labelbox/tests/data/annotation_import/test_relationships.py b/libs/labelbox/tests/data/annotation_import/test_relationships.py index 36d59db72..695bac9b2 100644 --- a/libs/labelbox/tests/data/annotation_import/test_relationships.py +++ b/libs/labelbox/tests/data/annotation_import/test_relationships.py @@ -395,7 +395,10 @@ def test_relationship_readonly_explicit_true(): value=TextEntity(start=30, end=35), ) - with pytest.warns(UserWarning, match="Creating a relationship with readonly=True is in beta.*"): + with pytest.warns( + UserWarning, + match="Creating a relationship with readonly=True is in beta.*", + ): relationship = RelationshipAnnotation( name="rel", value=Relationship( diff --git a/libs/labelbox/tests/data/serialization/ndjson/test_relationship.py b/libs/labelbox/tests/data/serialization/ndjson/test_relationship.py index bdd3816e7..7aea28d95 100644 --- a/libs/labelbox/tests/data/serialization/ndjson/test_relationship.py +++ b/libs/labelbox/tests/data/serialization/ndjson/test_relationship.py @@ -261,13 +261,27 @@ def test_readonly_relationships(): ) # Verify readonly relationship - assert readonly_rel_serialized["relationship"]["source"] == ner_source_serialized["uuid"] - assert readonly_rel_serialized["relationship"]["target"] == ner_target_serialized["uuid"] + assert ( + readonly_rel_serialized["relationship"]["source"] + == ner_source_serialized["uuid"] + ) + assert ( + readonly_rel_serialized["relationship"]["target"] + == ner_target_serialized["uuid"] + ) assert readonly_rel_serialized["relationship"]["type"] == "unidirectional" assert readonly_rel_serialized["relationship"]["readonly"] is True # Verify non-readonly relationship - assert non_readonly_rel_serialized["relationship"]["source"] == ner_source_serialized["uuid"] - assert non_readonly_rel_serialized["relationship"]["target"] == ner_target_serialized["uuid"] - assert non_readonly_rel_serialized["relationship"]["type"] == "bidirectional" + assert ( + non_readonly_rel_serialized["relationship"]["source"] + == ner_source_serialized["uuid"] + ) + assert ( + non_readonly_rel_serialized["relationship"]["target"] + == ner_target_serialized["uuid"] + ) + assert ( + non_readonly_rel_serialized["relationship"]["type"] == "bidirectional" + ) assert non_readonly_rel_serialized["relationship"]["readonly"] is False