spot_result_pb2#
Generated protocol buffer code.
Full path: iqm.data_definitions.common.v1.spot_result_pb2
Protobuf source code#
// Copyright 2019-2025 IQM
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
/*
Spot result declarations
*/
syntax = "proto3";
package iqm.data_definitions.common.v1;
import "iqm/data_definitions/common/v1/observation.proto";
// Describes a numcodec codec:
// https://numcodecs.readthedocs.io/en/stable/abc.html
message NumcodecsConfig {
oneof config {
string config_json = 1;
// more elegant formats go here, eventually
}
}
// A numeric array as raw bytes buffer, with "array header" to
// identify the data type; analogous to numpy's own '.npy' format (see numpy.lib.format).
message NpyArray {
// np.ndarray.shape; it is permissible to elide a leading shape[0] > 1,
// which will be implied by length(array_bytes)
repeated uint64 shape = 1;
// encodes dtype, as np.dtype.str. cf. numpy.lib.dtype_to_descr.
// note: encoding of record/named array dtypes currently undefined.
string dtype_str = 3;
// whether array_bytes is serialized in Fortran order.
bool fortran_order = 4;
// Sequence of numcodecs [1] Codecs configuration JSON used to encode array_bytes.
// Order is that in which codecs were applied to encode; for decoding, use codecs in reverse order.
// (Empty list indicates `array_bytes` are the unencoded array buffer.)
//
// [1] https://numcodecs.readthedocs.io/en/stable/abc.html
repeated NumcodecsConfig encode_numcodecs = 5;
// contents of array buffer in memory, encoded as described by `encode_numcodecs`.
bytes array_bytes = 2;
}
message SpotResultValue {
oneof value {
iqm.data_definitions.common.v1.Int64Array int64_array = 5;
iqm.data_definitions.common.v1.Float64Array float64_array = 6;
iqm.data_definitions.common.v1.Complex128Array complex128_array = 7;
NpyArray npy_array = 8;
}
}
Classes