Skip to content

Commit

Permalink
refactor: bytes to bytes_ in predefined documents (#1273)
Browse files Browse the repository at this point in the history
* refactor: bytes to bytes_

Signed-off-by: anna-charlotte <charlotte.gerhaher@jina.ai>

* refactor: missed fields

Signed-off-by: anna-charlotte <charlotte.gerhaher@jina.ai>

---------

Signed-off-by: anna-charlotte <charlotte.gerhaher@jina.ai>
  • Loading branch information
anna-charlotte committed Mar 22, 2023
1 parent 64532dd commit b029b5e
Show file tree
Hide file tree
Showing 11 changed files with 25 additions and 21 deletions.
4 changes: 2 additions & 2 deletions docarray/documents/audio.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ class MultiModalDoc(Document):
# equivalent to
mmdoc.audio.bytes = mmdoc.audio.url.load_bytes()
mmdoc.audio.bytes_ = mmdoc.audio.url.load_bytes()
mmdoc.audio.tensor, mmdoc.audio.frame_rate = mmdoc.audio.bytes.load()
Expand All @@ -99,7 +99,7 @@ class MultiModalDoc(Document):
url: Optional[AudioUrl]
tensor: Optional[AudioTensor]
embedding: Optional[AnyEmbedding]
bytes: Optional[AudioBytes]
bytes_: Optional[AudioBytes]
frame_rate: Optional[int]

@classmethod
Expand Down
6 changes: 4 additions & 2 deletions docarray/documents/image.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ class ImageDoc(BaseDocument):
from docarray.typing import AnyEmbedding
from typing import Optional
# extend it
class MyImage(ImageDoc):
second_embedding: Optional[AnyEmbedding]
Expand All @@ -66,6 +67,7 @@ class MyImage(ImageDoc):
from docarray import BaseDocument
from docarray.documents import ImageDoc, TextDoc
# compose it
class MultiModalDoc(BaseDocument):
image: Image
Expand All @@ -78,15 +80,15 @@ class MultiModalDoc(BaseDocument):
)
mmdoc.image.tensor = mmdoc.image.url.load()
# or
mmdoc.image.bytes = mmdoc.image.url.load_bytes()
mmdoc.image.bytes_ = mmdoc.image.url.load_bytes()
mmdoc.image.tensor = mmdoc.image.bytes.load()
"""

url: Optional[ImageUrl]
tensor: Optional[ImageTensor]
embedding: Optional[AnyEmbedding]
bytes: Optional[ImageBytes]
bytes_: Optional[ImageBytes]

@classmethod
def validate(
Expand Down
4 changes: 2 additions & 2 deletions docarray/documents/mesh/mesh_3d.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ class MultiModalDoc(BaseDocument):
mmdoc.mesh.tensors = mmdoc.mesh.url.load()
# or
mmdoc.mesh.bytes = mmdoc.mesh.url.load_bytes()
mmdoc.mesh.bytes_ = mmdoc.mesh.url.load_bytes()
You can display your 3D mesh in a notebook from either its url, or its tensors:
Expand All @@ -104,7 +104,7 @@ class MultiModalDoc(BaseDocument):
url: Optional[Mesh3DUrl]
tensors: Optional[VerticesAndFaces]
embedding: Optional[AnyEmbedding]
bytes: Optional[bytes]
bytes_: Optional[bytes]

@classmethod
def validate(
Expand Down
6 changes: 4 additions & 2 deletions docarray/documents/point_cloud/point_cloud_3d.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ class PointCloud3D(BaseDocument):
from docarray.typing import AnyEmbedding
from typing import Optional
# extend it
class MyPointCloud3D(PointCloud3D):
second_embedding: Optional[AnyEmbedding]
Expand All @@ -73,6 +74,7 @@ class MyPointCloud3D(PointCloud3D):
from docarray import BaseDocument
from docarray.documents import PointCloud3D, Text
# compose it
class MultiModalDoc(BaseDocument):
point_cloud: PointCloud3D
Expand All @@ -89,7 +91,7 @@ class MultiModalDoc(BaseDocument):
# or
mmdoc.point_cloud.bytes = mmdoc.point_cloud.url.load_bytes()
mmdoc.point_cloud.bytes_ = mmdoc.point_cloud.url.load_bytes()
You can display your point cloud from either its url, or its tensors:
Expand All @@ -112,7 +114,7 @@ class MultiModalDoc(BaseDocument):
url: Optional[PointCloud3DUrl]
tensors: Optional[PointsAndColors]
embedding: Optional[AnyEmbedding]
bytes: Optional[bytes]
bytes_: Optional[bytes]

@classmethod
def validate(
Expand Down
4 changes: 2 additions & 2 deletions docarray/documents/text.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ class MultiModalDoc(BaseDocument):
# or
mmdoc.text_doc.bytes = mmdoc.text_doc.url.load_bytes()
mmdoc.text_doc.bytes_ = mmdoc.text_doc.url.load_bytes()
This Document can be compared against another Document of the same type or a string.
Expand All @@ -101,7 +101,7 @@ class MultiModalDoc(BaseDocument):
text: Optional[str]
url: Optional[TextUrl]
embedding: Optional[AnyEmbedding]
bytes: Optional[bytes]
bytes_: Optional[bytes]

def __init__(self, text: Optional[str] = None, **kwargs):
if 'text' not in kwargs:
Expand Down
4 changes: 2 additions & 2 deletions docarray/documents/video.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ class MultiModalDoc(BaseDocument):
# or
mmdoc.video.bytes = mmdoc.video.url.load_bytes()
mmdoc.video.bytes_ = mmdoc.video.url.load_bytes()
"""

Expand All @@ -102,7 +102,7 @@ class MultiModalDoc(BaseDocument):
tensor: Optional[VideoTensor]
key_frame_indices: Optional[AnyTensor]
embedding: Optional[AnyEmbedding]
bytes: Optional[bytes]
bytes_: Optional[bytes]

@classmethod
def validate(
Expand Down
2 changes: 1 addition & 1 deletion tests/integrations/predefined_document/test_audio.py
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ def test_audio_tensorflow():

def test_audio_bytes():
audio = parse_obj_as(AudioDoc, torch.zeros(10, 10, 3))
audio.bytes = audio.tensor.to_bytes()
audio.bytes_ = audio.tensor.to_bytes()


def test_audio_shortcut_doc():
Expand Down
8 changes: 4 additions & 4 deletions tests/integrations/predefined_document/test_image.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ class MyDoc(BaseDocument):
def test_byte():

img = ImageDoc(url=REMOTE_JPG)
img.bytes = img.url.load_bytes()
img.bytes_ = img.url.load_bytes()


@pytest.mark.slow
Expand All @@ -79,7 +79,7 @@ def test_byte_from_tensor():

img = ImageDoc(url=REMOTE_JPG)
img.tensor = img.url.load()
img.bytes = img.tensor.to_bytes()
img.bytes_ = img.tensor.to_bytes()

assert isinstance(img.bytes, bytes)
assert len(img.bytes) > 0
assert isinstance(img.bytes_, bytes)
assert len(img.bytes_) > 0
4 changes: 2 additions & 2 deletions tests/units/array/test_array_from_to_csv.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,12 @@ def test_from_csv_nested(nested_doc_cls):
assert doc.image.__class__ == ImageDoc
assert doc.image.tensor is None
assert doc.image.embedding is None
assert doc.image.bytes is None
assert doc.image.bytes_ is None

assert doc.image2.__class__ == ImageDoc
assert doc.image2.tensor is None
assert doc.image2.embedding is None
assert doc.image2.bytes is None
assert doc.image2.bytes_ is None

assert da[0].image2.url == 'image_10.png'
assert da[1].image2.url is None
Expand Down
2 changes: 1 addition & 1 deletion tests/units/array/test_array_from_to_pandas.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ def test_to_from_pandas_df(nested_doc_cls):
'image__url',
'image__tensor',
'image__embedding',
'image__bytes',
'image__bytes_',
]
).all()

Expand Down
2 changes: 1 addition & 1 deletion tests/units/test_helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ class Painting(BaseDocument):
'img__url',
'img__tensor',
'img__embedding',
'img__bytes',
'img__bytes_',
]


Expand Down

0 comments on commit b029b5e

Please sign in to comment.