viam.proto.app.data

@generated by Viam. Do not edit manually!

Package Contents

Classes

DataServiceBase

Helper class that provides a standard way to create an ABC using

DataServiceStub

UnimplementedDataServiceBase

Helper class that provides a standard way to create an ABC using

AddBinaryDataToDatasetByIDsRequest

AddBinaryDataToDatasetByIDsRequest adds the binary data with the given binary IDs to a dataset with dataset_id.

AddBinaryDataToDatasetByIDsResponse

Abstract base class for protocol messages.

AddBoundingBoxToImageByIDRequest

AddBoundingBoxToImageByIDRequest specifies the binary ID to which a bounding box

AddBoundingBoxToImageByIDResponse

AddBoundingBoxToImageByIDResponse returns the bounding box ID of the successfully added bounding box.

AddTagsToBinaryDataByFilterRequest

AddTagsToBinaryDataByFilterRequest requests adding all specified tags to each of the files when a filter is provided.

AddTagsToBinaryDataByFilterResponse

Abstract base class for protocol messages.

AddTagsToBinaryDataByIDsRequest

AddTagsToBinaryDataByIDsRequest requests adding all specified tags to each of the files when binary ids are provided.

AddTagsToBinaryDataByIDsResponse

Abstract base class for protocol messages.

Annotations

Annotations are data annotations used for machine learning.

BinaryData

BinaryData contains data and metadata associated with binary data.

BinaryDataByFilterRequest

BinaryDataByFilterRequest requests the data and metadata of binary (image + file) data when a filter is provided.

BinaryDataByFilterResponse

BinaryDataByFilterResponse provides the data and metadata of binary (image + file) data when a filter is provided.

BinaryDataByIDsRequest

BinaryDataByFilterRequest requests the data and metadata of binary (image + file) data by binary ids.

BinaryDataByIDsResponse

BinaryDataByIDsResponse provides the data and metadata of binary (image + file) data when a filter is provided.

BinaryID

BinaryID is the unique identifier for a file that one can request to be retrieved or modified.

BinaryMetadata

BinaryMetadata is the metadata associated with binary data.

BoundingBox

BoundingBox represents a labeled bounding box on an image.

BoundingBoxLabelsByFilterRequest

BoundingBoxLabelsByFilterRequest requests all the labels of the bounding boxes from files from a given filter.

BoundingBoxLabelsByFilterResponse

BoundingBoxLabelsByFilterRequest returns all the labels of the bounding boxes from files from a given filter.

CaptureInterval

CaptureInterval describes the start and end time of the capture in this file.

CaptureMetadata

CaptureMetadata contains information on the settings used for the data capture.

ConfigureDatabaseUserRequest

ConfigureDatabaseUserRequest accepts a Viam organization ID and a password for the database user

ConfigureDatabaseUserResponse

Abstract base class for protocol messages.

DataRequest

DataRequest encapsulates the filter for the data, a limit on the maximum results returned,

DeleteBinaryDataByFilterRequest

DeleteBinaryDataByFilterRequest deletes the data and metadata of binary data when a filter is provided.

DeleteBinaryDataByFilterResponse

DeleteBinaryDataByFilterResponse returns the number of binary files deleted when a filter is provided.

DeleteBinaryDataByIDsRequest

DeleteBinaryDataByIDsRequest deletes the data and metadata of binary data when binary ids are provided.

DeleteBinaryDataByIDsResponse

DeleteBinaryDataByIDsResponse returns the number of binary files deleted when binary ids are provided.

DeleteTabularDataRequest

DeleteTabularDataRequest deletes the data from the organization that is older than delete_older_than_days.

DeleteTabularDataResponse

DeleteBinaryDataResponse returns the number of tabular datapoints deleted.

Filter

Filter defines the fields over which we can filter data using a logic AND.

GetDatabaseConnectionRequest

GetDatabaseConnectionRequest requests the database connection hostname.

GetDatabaseConnectionResponse

GetDatabaseConnectionResponse returns the database connection hostname endpoint. It also returns

Order

Order specifies the order in which data is returned.

RemoveBinaryDataFromDatasetByIDsRequest

RemoveBinaryDataFromDatasetByIDsRequest removes the specified binary IDs from a dataset with dataset_id.

RemoveBinaryDataFromDatasetByIDsResponse

Abstract base class for protocol messages.

RemoveBoundingBoxFromImageByIDRequest

RemoveBoundingBoxFromImageByIDRequest removes the bounding box with specified bbox ID for the file represented by the binary id.

RemoveBoundingBoxFromImageByIDResponse

Abstract base class for protocol messages.

RemoveTagsFromBinaryDataByFilterRequest

RemoveTagsFromBinaryDataByFilterRequest requests removing the given tags value from each file when a filter is provided.

RemoveTagsFromBinaryDataByFilterResponse

RemoveTagsFromBinaryDataByFilterResponse returns the number of binary files which had tags removed.

RemoveTagsFromBinaryDataByIDsRequest

RemoveTagsFromBinaryDataByIDsRequest requests removing the given tags value from each file when binary ids are provided.

RemoveTagsFromBinaryDataByIDsResponse

RemoveTagsFromBinaryDataByIDsResponse returns the number of binary files which had tags removed

TabularData

TabularData contains data and metadata associated with tabular data.

TabularDataByFilterRequest

TabularDataByFilterRequest requests tabular data based on filter values.

TabularDataByFilterResponse

TabularDataByFilterResponse provides the data and metadata of tabular data.

TabularDataByMQLRequest

TabularDataByMQLRequest requests tabular data using an MQL query.

TabularDataByMQLResponse

TabularDataByMQLResponse provides unified tabular data and metadata, queried with MQL.

TabularDataBySQLRequest

TabularDataBySQLRequest requests tabular data using a SQL query.

TabularDataBySQLResponse

TabularDataBySQLResponse provides unified tabular data and metadata, queried with SQL.

TagsByFilterRequest

TagsByFilterRequest requests the unique tags from data based on given filter.

TagsByFilterResponse

TagsByFilterResponse returns the unique tags from data based on given filter.

TagsFilter

TagsFilter defines the type of filtering and, if applicable, over which tags to perform a logical OR.

TagsFilterType

TagsFilterType specifies how data can be filtered based on tags.

class viam.proto.app.data.DataServiceBase[source]

Bases: abc.ABC

Helper class that provides a standard way to create an ABC using inheritance.

abstract async TabularDataByFilter(stream: grpclib.server.Stream[app.data.v1.data_pb2.TabularDataByFilterRequest, app.data.v1.data_pb2.TabularDataByFilterResponse]) None[source]
abstract async TabularDataBySQL(stream: grpclib.server.Stream[app.data.v1.data_pb2.TabularDataBySQLRequest, app.data.v1.data_pb2.TabularDataBySQLResponse]) None[source]
abstract async TabularDataByMQL(stream: grpclib.server.Stream[app.data.v1.data_pb2.TabularDataByMQLRequest, app.data.v1.data_pb2.TabularDataByMQLResponse]) None[source]
abstract async BinaryDataByFilter(stream: grpclib.server.Stream[app.data.v1.data_pb2.BinaryDataByFilterRequest, app.data.v1.data_pb2.BinaryDataByFilterResponse]) None[source]
abstract async BinaryDataByIDs(stream: grpclib.server.Stream[app.data.v1.data_pb2.BinaryDataByIDsRequest, app.data.v1.data_pb2.BinaryDataByIDsResponse]) None[source]
abstract async DeleteTabularData(stream: grpclib.server.Stream[app.data.v1.data_pb2.DeleteTabularDataRequest, app.data.v1.data_pb2.DeleteTabularDataResponse]) None[source]
abstract async DeleteBinaryDataByFilter(stream: grpclib.server.Stream[app.data.v1.data_pb2.DeleteBinaryDataByFilterRequest, app.data.v1.data_pb2.DeleteBinaryDataByFilterResponse]) None[source]
abstract async DeleteBinaryDataByIDs(stream: grpclib.server.Stream[app.data.v1.data_pb2.DeleteBinaryDataByIDsRequest, app.data.v1.data_pb2.DeleteBinaryDataByIDsResponse]) None[source]
abstract async AddTagsToBinaryDataByIDs(stream: grpclib.server.Stream[app.data.v1.data_pb2.AddTagsToBinaryDataByIDsRequest, app.data.v1.data_pb2.AddTagsToBinaryDataByIDsResponse]) None[source]
abstract async AddTagsToBinaryDataByFilter(stream: grpclib.server.Stream[app.data.v1.data_pb2.AddTagsToBinaryDataByFilterRequest, app.data.v1.data_pb2.AddTagsToBinaryDataByFilterResponse]) None[source]
abstract async RemoveTagsFromBinaryDataByIDs(stream: grpclib.server.Stream[app.data.v1.data_pb2.RemoveTagsFromBinaryDataByIDsRequest, app.data.v1.data_pb2.RemoveTagsFromBinaryDataByIDsResponse]) None[source]
abstract async RemoveTagsFromBinaryDataByFilter(stream: grpclib.server.Stream[app.data.v1.data_pb2.RemoveTagsFromBinaryDataByFilterRequest, app.data.v1.data_pb2.RemoveTagsFromBinaryDataByFilterResponse]) None[source]
abstract async TagsByFilter(stream: grpclib.server.Stream[app.data.v1.data_pb2.TagsByFilterRequest, app.data.v1.data_pb2.TagsByFilterResponse]) None[source]
abstract async AddBoundingBoxToImageByID(stream: grpclib.server.Stream[app.data.v1.data_pb2.AddBoundingBoxToImageByIDRequest, app.data.v1.data_pb2.AddBoundingBoxToImageByIDResponse]) None[source]
abstract async RemoveBoundingBoxFromImageByID(stream: grpclib.server.Stream[app.data.v1.data_pb2.RemoveBoundingBoxFromImageByIDRequest, app.data.v1.data_pb2.RemoveBoundingBoxFromImageByIDResponse]) None[source]
abstract async BoundingBoxLabelsByFilter(stream: grpclib.server.Stream[app.data.v1.data_pb2.BoundingBoxLabelsByFilterRequest, app.data.v1.data_pb2.BoundingBoxLabelsByFilterResponse]) None[source]
abstract async GetDatabaseConnection(stream: grpclib.server.Stream[app.data.v1.data_pb2.GetDatabaseConnectionRequest, app.data.v1.data_pb2.GetDatabaseConnectionResponse]) None[source]
abstract async ConfigureDatabaseUser(stream: grpclib.server.Stream[app.data.v1.data_pb2.ConfigureDatabaseUserRequest, app.data.v1.data_pb2.ConfigureDatabaseUserResponse]) None[source]
abstract async AddBinaryDataToDatasetByIDs(stream: grpclib.server.Stream[app.data.v1.data_pb2.AddBinaryDataToDatasetByIDsRequest, app.data.v1.data_pb2.AddBinaryDataToDatasetByIDsResponse]) None[source]
abstract async RemoveBinaryDataFromDatasetByIDs(stream: grpclib.server.Stream[app.data.v1.data_pb2.RemoveBinaryDataFromDatasetByIDsRequest, app.data.v1.data_pb2.RemoveBinaryDataFromDatasetByIDsResponse]) None[source]
__mapping__() Dict[str, grpclib.const.Handler][source]
class viam.proto.app.data.DataServiceStub(channel: grpclib.client.Channel)[source]
class viam.proto.app.data.UnimplementedDataServiceBase[source]

Bases: DataServiceBase

Helper class that provides a standard way to create an ABC using inheritance.

async TabularDataByFilter(stream: grpclib.server.Stream[app.data.v1.data_pb2.TabularDataByFilterRequest, app.data.v1.data_pb2.TabularDataByFilterResponse]) None[source]
async TabularDataBySQL(stream: grpclib.server.Stream[app.data.v1.data_pb2.TabularDataBySQLRequest, app.data.v1.data_pb2.TabularDataBySQLResponse]) None[source]
async TabularDataByMQL(stream: grpclib.server.Stream[app.data.v1.data_pb2.TabularDataByMQLRequest, app.data.v1.data_pb2.TabularDataByMQLResponse]) None[source]
async BinaryDataByFilter(stream: grpclib.server.Stream[app.data.v1.data_pb2.BinaryDataByFilterRequest, app.data.v1.data_pb2.BinaryDataByFilterResponse]) None[source]
async BinaryDataByIDs(stream: grpclib.server.Stream[app.data.v1.data_pb2.BinaryDataByIDsRequest, app.data.v1.data_pb2.BinaryDataByIDsResponse]) None[source]
async DeleteTabularData(stream: grpclib.server.Stream[app.data.v1.data_pb2.DeleteTabularDataRequest, app.data.v1.data_pb2.DeleteTabularDataResponse]) None[source]
async DeleteBinaryDataByFilter(stream: grpclib.server.Stream[app.data.v1.data_pb2.DeleteBinaryDataByFilterRequest, app.data.v1.data_pb2.DeleteBinaryDataByFilterResponse]) None[source]
async DeleteBinaryDataByIDs(stream: grpclib.server.Stream[app.data.v1.data_pb2.DeleteBinaryDataByIDsRequest, app.data.v1.data_pb2.DeleteBinaryDataByIDsResponse]) None[source]
async AddTagsToBinaryDataByIDs(stream: grpclib.server.Stream[app.data.v1.data_pb2.AddTagsToBinaryDataByIDsRequest, app.data.v1.data_pb2.AddTagsToBinaryDataByIDsResponse]) None[source]
async AddTagsToBinaryDataByFilter(stream: grpclib.server.Stream[app.data.v1.data_pb2.AddTagsToBinaryDataByFilterRequest, app.data.v1.data_pb2.AddTagsToBinaryDataByFilterResponse]) None[source]
async RemoveTagsFromBinaryDataByIDs(stream: grpclib.server.Stream[app.data.v1.data_pb2.RemoveTagsFromBinaryDataByIDsRequest, app.data.v1.data_pb2.RemoveTagsFromBinaryDataByIDsResponse]) None[source]
async RemoveTagsFromBinaryDataByFilter(stream: grpclib.server.Stream[app.data.v1.data_pb2.RemoveTagsFromBinaryDataByFilterRequest, app.data.v1.data_pb2.RemoveTagsFromBinaryDataByFilterResponse]) None[source]
async TagsByFilter(stream: grpclib.server.Stream[app.data.v1.data_pb2.TagsByFilterRequest, app.data.v1.data_pb2.TagsByFilterResponse]) None[source]
async AddBoundingBoxToImageByID(stream: grpclib.server.Stream[app.data.v1.data_pb2.AddBoundingBoxToImageByIDRequest, app.data.v1.data_pb2.AddBoundingBoxToImageByIDResponse]) None[source]
async RemoveBoundingBoxFromImageByID(stream: grpclib.server.Stream[app.data.v1.data_pb2.RemoveBoundingBoxFromImageByIDRequest, app.data.v1.data_pb2.RemoveBoundingBoxFromImageByIDResponse]) None[source]
async BoundingBoxLabelsByFilter(stream: grpclib.server.Stream[app.data.v1.data_pb2.BoundingBoxLabelsByFilterRequest, app.data.v1.data_pb2.BoundingBoxLabelsByFilterResponse]) None[source]
async GetDatabaseConnection(stream: grpclib.server.Stream[app.data.v1.data_pb2.GetDatabaseConnectionRequest, app.data.v1.data_pb2.GetDatabaseConnectionResponse]) None[source]
async ConfigureDatabaseUser(stream: grpclib.server.Stream[app.data.v1.data_pb2.ConfigureDatabaseUserRequest, app.data.v1.data_pb2.ConfigureDatabaseUserResponse]) None[source]
async AddBinaryDataToDatasetByIDs(stream: grpclib.server.Stream[app.data.v1.data_pb2.AddBinaryDataToDatasetByIDsRequest, app.data.v1.data_pb2.AddBinaryDataToDatasetByIDsResponse]) None[source]
async RemoveBinaryDataFromDatasetByIDs(stream: grpclib.server.Stream[app.data.v1.data_pb2.RemoveBinaryDataFromDatasetByIDsRequest, app.data.v1.data_pb2.RemoveBinaryDataFromDatasetByIDsResponse]) None[source]
class viam.proto.app.data.AddBinaryDataToDatasetByIDsRequest(*, binary_ids: collections.abc.Iterable[global___BinaryID] | None = ..., dataset_id: str = ...)

Bases: google.protobuf.message.Message

AddBinaryDataToDatasetByIDsRequest adds the binary data with the given binary IDs to a dataset with dataset_id.

property binary_ids: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryID]
dataset_id: str
class viam.proto.app.data.AddBinaryDataToDatasetByIDsResponse

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

class viam.proto.app.data.AddBoundingBoxToImageByIDRequest(*, binary_id: global___BinaryID | None = ..., label: str = ..., x_min_normalized: float = ..., y_min_normalized: float = ..., x_max_normalized: float = ..., y_max_normalized: float = ...)

Bases: google.protobuf.message.Message

AddBoundingBoxToImageByIDRequest specifies the binary ID to which a bounding box with the associated label and position in normalized coordinates will be added.

property binary_id: global___BinaryID
label: str
x_min_normalized: float
y_min_normalized: float
x_max_normalized: float
y_max_normalized: float
HasField(field_name: Literal[binary_id, b'binary_id']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.data.AddBoundingBoxToImageByIDResponse(*, bbox_id: str = ...)

Bases: google.protobuf.message.Message

AddBoundingBoxToImageByIDResponse returns the bounding box ID of the successfully added bounding box.

bbox_id: str
class viam.proto.app.data.AddTagsToBinaryDataByFilterRequest(*, filter: global___Filter | None = ..., tags: collections.abc.Iterable[str] | None = ...)

Bases: google.protobuf.message.Message

AddTagsToBinaryDataByFilterRequest requests adding all specified tags to each of the files when a filter is provided.

property filter: global___Filter
property tags: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str]
HasField(field_name: Literal[filter, b'filter']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.data.AddTagsToBinaryDataByFilterResponse

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

class viam.proto.app.data.AddTagsToBinaryDataByIDsRequest(*, binary_ids: collections.abc.Iterable[global___BinaryID] | None = ..., tags: collections.abc.Iterable[str] | None = ...)

Bases: google.protobuf.message.Message

AddTagsToBinaryDataByIDsRequest requests adding all specified tags to each of the files when binary ids are provided.

property binary_ids: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryID]
property tags: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str]
class viam.proto.app.data.AddTagsToBinaryDataByIDsResponse

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

class viam.proto.app.data.Annotations(*, bboxes: collections.abc.Iterable[global___BoundingBox] | None = ...)

Bases: google.protobuf.message.Message

Annotations are data annotations used for machine learning.

property bboxes: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BoundingBox]
class viam.proto.app.data.BinaryData(*, binary: bytes = ..., metadata: global___BinaryMetadata | None = ...)

Bases: google.protobuf.message.Message

BinaryData contains data and metadata associated with binary data.

property metadata: global___BinaryMetadata
binary: bytes
HasField(field_name: Literal[metadata, b'metadata']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.data.BinaryDataByFilterRequest(*, data_request: global___DataRequest | None = ..., include_binary: bool = ..., count_only: bool = ..., include_internal_data: bool = ...)

Bases: google.protobuf.message.Message

BinaryDataByFilterRequest requests the data and metadata of binary (image + file) data when a filter is provided.

property data_request: global___DataRequest
include_binary: bool
count_only: bool
include_internal_data: bool
HasField(field_name: Literal[data_request, b'data_request']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.data.BinaryDataByFilterResponse(*, data: collections.abc.Iterable[global___BinaryData] | None = ..., count: int = ..., last: str = ..., total_size_bytes: int = ...)

Bases: google.protobuf.message.Message

BinaryDataByFilterResponse provides the data and metadata of binary (image + file) data when a filter is provided.

property data: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryData]
count: int
last: str
total_size_bytes: int
class viam.proto.app.data.BinaryDataByIDsRequest(*, include_binary: bool = ..., binary_ids: collections.abc.Iterable[global___BinaryID] | None = ...)

Bases: google.protobuf.message.Message

BinaryDataByFilterRequest requests the data and metadata of binary (image + file) data by binary ids.

property binary_ids: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryID]
include_binary: bool
class viam.proto.app.data.BinaryDataByIDsResponse(*, data: collections.abc.Iterable[global___BinaryData] | None = ..., count: int = ...)

Bases: google.protobuf.message.Message

BinaryDataByIDsResponse provides the data and metadata of binary (image + file) data when a filter is provided.

property data: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryData]
count: int
class viam.proto.app.data.BinaryID(*, file_id: str = ..., organization_id: str = ..., location_id: str = ...)

Bases: google.protobuf.message.Message

BinaryID is the unique identifier for a file that one can request to be retrieved or modified.

file_id: str
organization_id: str
location_id: str
class viam.proto.app.data.BinaryMetadata(*, id: str = ..., capture_metadata: global___CaptureMetadata | None = ..., time_requested: google.protobuf.timestamp_pb2.Timestamp | None = ..., time_received: google.protobuf.timestamp_pb2.Timestamp | None = ..., file_name: str = ..., file_ext: str = ..., uri: str = ..., annotations: global___Annotations | None = ..., dataset_ids: collections.abc.Iterable[str] | None = ...)

Bases: google.protobuf.message.Message

BinaryMetadata is the metadata associated with binary data.

property capture_metadata: global___CaptureMetadata
property time_requested: google.protobuf.timestamp_pb2.Timestamp
property time_received: google.protobuf.timestamp_pb2.Timestamp
property annotations: global___Annotations
property dataset_ids: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str]
id: str
file_name: str
file_ext: str
uri: str
HasField(field_name: Literal[annotations, b'annotations', capture_metadata, b'capture_metadata', time_received, b'time_received', time_requested, b'time_requested']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.data.BoundingBox(*, id: str = ..., label: str = ..., x_min_normalized: float = ..., y_min_normalized: float = ..., x_max_normalized: float = ..., y_max_normalized: float = ...)

Bases: google.protobuf.message.Message

BoundingBox represents a labeled bounding box on an image. x and y values are normalized ratios between 0 and 1.

id: str
label: str
x_min_normalized: float
y_min_normalized: float
x_max_normalized: float
y_max_normalized: float
class viam.proto.app.data.BoundingBoxLabelsByFilterRequest(*, filter: global___Filter | None = ...)

Bases: google.protobuf.message.Message

BoundingBoxLabelsByFilterRequest requests all the labels of the bounding boxes from files from a given filter.

property filter: global___Filter
HasField(field_name: Literal[filter, b'filter']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.data.BoundingBoxLabelsByFilterResponse(*, labels: collections.abc.Iterable[str] | None = ...)

Bases: google.protobuf.message.Message

BoundingBoxLabelsByFilterRequest returns all the labels of the bounding boxes from files from a given filter.

property labels: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str]
class viam.proto.app.data.CaptureInterval(*, start: google.protobuf.timestamp_pb2.Timestamp | None = ..., end: google.protobuf.timestamp_pb2.Timestamp | None = ...)

Bases: google.protobuf.message.Message

CaptureInterval describes the start and end time of the capture in this file.

property start: google.protobuf.timestamp_pb2.Timestamp
property end: google.protobuf.timestamp_pb2.Timestamp
HasField(field_name: Literal[end, b'end', start, b'start']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.data.CaptureMetadata(*, organization_id: str = ..., location_id: str = ..., robot_name: str = ..., robot_id: str = ..., part_name: str = ..., part_id: str = ..., component_type: str = ..., component_name: str = ..., method_name: str = ..., method_parameters: collections.abc.Mapping[str, google.protobuf.any_pb2.Any] | None = ..., tags: collections.abc.Iterable[str] | None = ..., mime_type: str = ...)

Bases: google.protobuf.message.Message

CaptureMetadata contains information on the settings used for the data capture.

class MethodParametersEntry(*, key: str = ..., value: google.protobuf.any_pb2.Any | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

property value: google.protobuf.any_pb2.Any
key: str
HasField(field_name: Literal[value, b'value']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

property method_parameters: google.protobuf.internal.containers.MessageMap[str, google.protobuf.any_pb2.Any]
property tags: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str]
organization_id: str
location_id: str
robot_name: str
robot_id: str
part_name: str
part_id: str
component_type: str
component_name: str
method_name: str
mime_type: str
class viam.proto.app.data.ConfigureDatabaseUserRequest(*, organization_id: str = ..., password: str = ...)

Bases: google.protobuf.message.Message

ConfigureDatabaseUserRequest accepts a Viam organization ID and a password for the database user being configured. Viam uses gRPC over TLS, so the entire request will be encrypted while in flight, including the password.

organization_id: str
password: str
class viam.proto.app.data.ConfigureDatabaseUserResponse

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

class viam.proto.app.data.DataRequest(*, filter: global___Filter | None = ..., limit: int = ..., last: str = ..., sort_order: global___Order = ...)

Bases: google.protobuf.message.Message

DataRequest encapsulates the filter for the data, a limit on the maximum results returned, a last string associated with the last returned document, and the sorting order by time. last is returned in the responses TabularDataByFilterResponse and BinaryDataByFilterResponse from the API calls TabularDataByFilter and BinaryDataByFilter, respectively. We can then use the last string from the previous API calls in the subsequent request to get the next set of ordered documents.

property filter: global___Filter
limit: int
last: str
sort_order: global___Order
HasField(field_name: Literal[filter, b'filter']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.data.DeleteBinaryDataByFilterRequest(*, filter: global___Filter | None = ..., include_internal_data: bool = ...)

Bases: google.protobuf.message.Message

DeleteBinaryDataByFilterRequest deletes the data and metadata of binary data when a filter is provided.

property filter: global___Filter
include_internal_data: bool
HasField(field_name: Literal[filter, b'filter']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.data.DeleteBinaryDataByFilterResponse(*, deleted_count: int = ...)

Bases: google.protobuf.message.Message

DeleteBinaryDataByFilterResponse returns the number of binary files deleted when a filter is provided.

deleted_count: int
class viam.proto.app.data.DeleteBinaryDataByIDsRequest(*, binary_ids: collections.abc.Iterable[global___BinaryID] | None = ...)

Bases: google.protobuf.message.Message

DeleteBinaryDataByIDsRequest deletes the data and metadata of binary data when binary ids are provided.

property binary_ids: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryID]
class viam.proto.app.data.DeleteBinaryDataByIDsResponse(*, deleted_count: int = ...)

Bases: google.protobuf.message.Message

DeleteBinaryDataByIDsResponse returns the number of binary files deleted when binary ids are provided.

deleted_count: int
class viam.proto.app.data.DeleteTabularDataRequest(*, organization_id: str = ..., delete_older_than_days: int = ...)

Bases: google.protobuf.message.Message

DeleteTabularDataRequest deletes the data from the organization that is older than delete_older_than_days. For example if delete_older_than_days is 10, this deletes any data that was captured up to 10 days ago. If it is 0, all existing data is deleted.

organization_id: str
delete_older_than_days: int
class viam.proto.app.data.DeleteTabularDataResponse(*, deleted_count: int = ...)

Bases: google.protobuf.message.Message

DeleteBinaryDataResponse returns the number of tabular datapoints deleted.

deleted_count: int
class viam.proto.app.data.Filter(*, component_name: str = ..., component_type: str = ..., method: str = ..., robot_name: str = ..., robot_id: str = ..., part_name: str = ..., part_id: str = ..., location_ids: collections.abc.Iterable[str] | None = ..., organization_ids: collections.abc.Iterable[str] | None = ..., mime_type: collections.abc.Iterable[str] | None = ..., interval: global___CaptureInterval | None = ..., tags_filter: global___TagsFilter | None = ..., bbox_labels: collections.abc.Iterable[str] | None = ..., dataset_id: str = ...)

Bases: google.protobuf.message.Message

Filter defines the fields over which we can filter data using a logic AND. For example, if component_type and robot_id are specified, only data from that robot_id of type component_type is returned. However, we logical OR over the specified tags and bounding box labels, such that if component_type, robot_id, tagA, tagB are specified, we return data from that robot_id of type component_type with tagA or tagB.

property location_ids: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str]
property organization_ids: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str]
property mime_type: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str]
property interval: global___CaptureInterval
property tags_filter: global___TagsFilter
property bbox_labels: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str]

bbox_labels are used to match documents with the specified bounding box labels (using logical OR).

component_name: str
component_type: str
method: str
robot_name: str
robot_id: str
part_name: str
part_id: str
dataset_id: str
HasField(field_name: Literal[interval, b'interval', tags_filter, b'tags_filter']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.data.GetDatabaseConnectionRequest(*, organization_id: str = ...)

Bases: google.protobuf.message.Message

GetDatabaseConnectionRequest requests the database connection hostname.

organization_id: str
class viam.proto.app.data.GetDatabaseConnectionResponse(*, hostname: str = ..., mongodb_uri: str = ..., has_database_user: bool = ...)

Bases: google.protobuf.message.Message

GetDatabaseConnectionResponse returns the database connection hostname endpoint. It also returns a URI that can be used to connect to the database instance through MongoDB clients, as well as information on whether the Viam organization has a database user configured.

hostname: str
mongodb_uri: str
has_database_user: bool
class viam.proto.app.data.Order

Bases: _Order

Order specifies the order in which data is returned.

class viam.proto.app.data.RemoveBinaryDataFromDatasetByIDsRequest(*, binary_ids: collections.abc.Iterable[global___BinaryID] | None = ..., dataset_id: str = ...)

Bases: google.protobuf.message.Message

RemoveBinaryDataFromDatasetByIDsRequest removes the specified binary IDs from a dataset with dataset_id.

property binary_ids: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryID]
dataset_id: str
class viam.proto.app.data.RemoveBinaryDataFromDatasetByIDsResponse

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

class viam.proto.app.data.RemoveBoundingBoxFromImageByIDRequest(*, binary_id: global___BinaryID | None = ..., bbox_id: str = ...)

Bases: google.protobuf.message.Message

RemoveBoundingBoxFromImageByIDRequest removes the bounding box with specified bbox ID for the file represented by the binary id.

property binary_id: global___BinaryID
bbox_id: str
HasField(field_name: Literal[binary_id, b'binary_id']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.data.RemoveBoundingBoxFromImageByIDResponse

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

class viam.proto.app.data.RemoveTagsFromBinaryDataByFilterRequest(*, filter: global___Filter | None = ..., tags: collections.abc.Iterable[str] | None = ...)

Bases: google.protobuf.message.Message

RemoveTagsFromBinaryDataByFilterRequest requests removing the given tags value from each file when a filter is provided.

property filter: global___Filter
property tags: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str]
HasField(field_name: Literal[filter, b'filter']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.data.RemoveTagsFromBinaryDataByFilterResponse(*, deleted_count: int = ...)

Bases: google.protobuf.message.Message

RemoveTagsFromBinaryDataByFilterResponse returns the number of binary files which had tags removed.

deleted_count: int
class viam.proto.app.data.RemoveTagsFromBinaryDataByIDsRequest(*, binary_ids: collections.abc.Iterable[global___BinaryID] | None = ..., tags: collections.abc.Iterable[str] | None = ...)

Bases: google.protobuf.message.Message

RemoveTagsFromBinaryDataByIDsRequest requests removing the given tags value from each file when binary ids are provided.

property binary_ids: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryID]
property tags: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str]
class viam.proto.app.data.RemoveTagsFromBinaryDataByIDsResponse(*, deleted_count: int = ...)

Bases: google.protobuf.message.Message

RemoveTagsFromBinaryDataByIDsResponse returns the number of binary files which had tags removed

deleted_count: int
class viam.proto.app.data.TabularData(*, data: google.protobuf.struct_pb2.Struct | None = ..., metadata_index: int = ..., time_requested: google.protobuf.timestamp_pb2.Timestamp | None = ..., time_received: google.protobuf.timestamp_pb2.Timestamp | None = ...)

Bases: google.protobuf.message.Message

TabularData contains data and metadata associated with tabular data.

property data: google.protobuf.struct_pb2.Struct
property time_requested: google.protobuf.timestamp_pb2.Timestamp
property time_received: google.protobuf.timestamp_pb2.Timestamp
metadata_index: int
HasField(field_name: Literal[data, b'data', time_received, b'time_received', time_requested, b'time_requested']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.data.TabularDataByFilterRequest(*, data_request: global___DataRequest | None = ..., count_only: bool = ..., include_internal_data: bool = ...)

Bases: google.protobuf.message.Message

TabularDataByFilterRequest requests tabular data based on filter values.

property data_request: global___DataRequest
count_only: bool
include_internal_data: bool
HasField(field_name: Literal[data_request, b'data_request']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.data.TabularDataByFilterResponse(*, metadata: collections.abc.Iterable[global___CaptureMetadata] | None = ..., data: collections.abc.Iterable[global___TabularData] | None = ..., count: int = ..., last: str = ..., total_size_bytes: int = ...)

Bases: google.protobuf.message.Message

TabularDataByFilterResponse provides the data and metadata of tabular data.

property metadata: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CaptureMetadata]
property data: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TabularData]
count: int
last: str
total_size_bytes: int
class viam.proto.app.data.TabularDataByMQLRequest(*, organization_id: str = ..., mql_binary: collections.abc.Iterable[bytes] | None = ...)

Bases: google.protobuf.message.Message

TabularDataByMQLRequest requests tabular data using an MQL query.

property mql_binary: google.protobuf.internal.containers.RepeatedScalarFieldContainer[bytes]

mql_binary accepts a MongoDB aggregation pipeline as a list of BSON documents, where each document is one stage in the pipeline. The pipeline is run on the “sensorData.readings” namespace, which holds the Viam organization’s tabular data.

organization_id: str
class viam.proto.app.data.TabularDataByMQLResponse(*, data: collections.abc.Iterable[google.protobuf.struct_pb2.Struct] | None = ...)

Bases: google.protobuf.message.Message

TabularDataByMQLResponse provides unified tabular data and metadata, queried with MQL.

property data: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[google.protobuf.struct_pb2.Struct]
class viam.proto.app.data.TabularDataBySQLRequest(*, organization_id: str = ..., sql_query: str = ...)

Bases: google.protobuf.message.Message

TabularDataBySQLRequest requests tabular data using a SQL query.

organization_id: str
sql_query: str

sql_query accepts any valid SQL SELECT statement. Tabular data is held in a database called “sensorData” and a table called readings, so queries should select from “readings” or “sensorData.readings”.

class viam.proto.app.data.TabularDataBySQLResponse(*, data: collections.abc.Iterable[google.protobuf.struct_pb2.Struct] | None = ...)

Bases: google.protobuf.message.Message

TabularDataBySQLResponse provides unified tabular data and metadata, queried with SQL.

property data: google.protobuf.internal.containers.RepeatedCompositeFieldContainer[google.protobuf.struct_pb2.Struct]
class viam.proto.app.data.TagsByFilterRequest(*, filter: global___Filter | None = ...)

Bases: google.protobuf.message.Message

TagsByFilterRequest requests the unique tags from data based on given filter.

property filter: global___Filter
HasField(field_name: Literal[filter, b'filter']) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

class viam.proto.app.data.TagsByFilterResponse(*, tags: collections.abc.Iterable[str] | None = ...)

Bases: google.protobuf.message.Message

TagsByFilterResponse returns the unique tags from data based on given filter.

property tags: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str]
class viam.proto.app.data.TagsFilter(*, type: global___TagsFilterType = ..., tags: collections.abc.Iterable[str] | None = ...)

Bases: google.protobuf.message.Message

TagsFilter defines the type of filtering and, if applicable, over which tags to perform a logical OR.

property tags: google.protobuf.internal.containers.RepeatedScalarFieldContainer[str]

Tags are used to match documents if type is UNSPECIFIED or MATCH_BY_OR.

type: global___TagsFilterType
class viam.proto.app.data.TagsFilterType

Bases: _TagsFilterType

TagsFilterType specifies how data can be filtered based on tags.