MDIO v1#

Altay Sansal

Apr 29, 2024

0 min read

Intro#

Dataset

Represents an MDIO v1 dataset.

DatasetMetadata

The metadata about the dataset.

Reference#

Dataset
pydantic model mdio.schemas.v1.dataset.Dataset#

Represents an MDIO v1 dataset.

A dataset consists of variables and metadata.

Show JSON schema
{
   "title": "Dataset",
   "description": "Represents an MDIO v1 dataset.\n\nA dataset consists of variables and metadata.",
   "type": "object",
   "properties": {
      "variables": {
         "description": "Variables in MDIO dataset",
         "items": {
            "$ref": "#/$defs/Variable"
         },
         "title": "Variables",
         "type": "array"
      },
      "metadata": {
         "allOf": [
            {
               "$ref": "#/$defs/DatasetMetadata"
            }
         ],
         "description": "Dataset metadata."
      }
   },
   "$defs": {
      "AllUnits": {
         "additionalProperties": false,
         "description": "All Units.",
         "properties": {
            "unitsV1": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LengthUnitModel"
                  },
                  {
                     "$ref": "#/$defs/TimeUnitModel"
                  },
                  {
                     "$ref": "#/$defs/AngleUnitModel"
                  },
                  {
                     "$ref": "#/$defs/DensityUnitModel"
                  },
                  {
                     "$ref": "#/$defs/SpeedUnitModel"
                  },
                  {
                     "$ref": "#/$defs/FrequencyUnitModel"
                  },
                  {
                     "$ref": "#/$defs/VoltageUnitModel"
                  },
                  {
                     "items": {
                        "anyOf": [
                           {
                              "$ref": "#/$defs/LengthUnitModel"
                           },
                           {
                              "$ref": "#/$defs/TimeUnitModel"
                           },
                           {
                              "$ref": "#/$defs/AngleUnitModel"
                           },
                           {
                              "$ref": "#/$defs/DensityUnitModel"
                           },
                           {
                              "$ref": "#/$defs/SpeedUnitModel"
                           },
                           {
                              "$ref": "#/$defs/FrequencyUnitModel"
                           },
                           {
                              "$ref": "#/$defs/VoltageUnitModel"
                           }
                        ]
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Unitsv1"
            }
         },
         "title": "AllUnits",
         "type": "object"
      },
      "AngleUnitEnum": {
         "description": "Enum class representing units of angle.",
         "enum": [
            "deg",
            "rad"
         ],
         "title": "AngleUnitEnum",
         "type": "string"
      },
      "AngleUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of angle.",
         "properties": {
            "angle": {
               "allOf": [
                  {
                     "$ref": "#/$defs/AngleUnitEnum"
                  }
               ],
               "description": "Unit of angle."
            }
         },
         "required": [
            "angle"
         ],
         "title": "AngleUnitModel",
         "type": "object"
      },
      "Blosc": {
         "additionalProperties": false,
         "description": "Data Model for Blosc options.",
         "properties": {
            "name": {
               "default": "blosc",
               "description": "Name of the compressor.",
               "title": "Name",
               "type": "string"
            },
            "algorithm": {
               "allOf": [
                  {
                     "$ref": "#/$defs/BloscAlgorithm"
                  }
               ],
               "default": "lz4",
               "description": "The Blosc compression algorithm to be used."
            },
            "level": {
               "default": 5,
               "description": "The compression level.",
               "maximum": 9,
               "minimum": 0,
               "title": "Level",
               "type": "integer"
            },
            "shuffle": {
               "allOf": [
                  {
                     "$ref": "#/$defs/BloscShuffle"
                  }
               ],
               "default": 1,
               "description": "The shuffle strategy to be applied before compression."
            },
            "blocksize": {
               "default": 0,
               "description": "The size of the block to be used for compression.",
               "title": "Blocksize",
               "type": "integer"
            }
         },
         "title": "Blosc",
         "type": "object"
      },
      "BloscAlgorithm": {
         "description": "Enum for Blosc algorithm options.",
         "enum": [
            "blosclz",
            "lz4",
            "lz4hc",
            "zlib",
            "zstd"
         ],
         "title": "BloscAlgorithm",
         "type": "string"
      },
      "BloscShuffle": {
         "description": "Enum for Blosc shuffle options.",
         "enum": [
            0,
            1,
            2,
            -1
         ],
         "title": "BloscShuffle",
         "type": "integer"
      },
      "CenteredBinHistogram": {
         "additionalProperties": false,
         "description": "Class representing a center bin histogram.",
         "properties": {
            "counts": {
               "description": "Count of each each bin.",
               "items": {
                  "type": "integer"
               },
               "title": "Counts",
               "type": "array"
            },
            "binCenters": {
               "description": "List of bin centers.",
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "integer"
                     }
                  ]
               },
               "title": "Bincenters",
               "type": "array"
            }
         },
         "required": [
            "counts",
            "binCenters"
         ],
         "title": "CenteredBinHistogram",
         "type": "object"
      },
      "Coordinate": {
         "additionalProperties": false,
         "description": "An MDIO coordinate array with metadata.",
         "properties": {
            "dataType": {
               "allOf": [
                  {
                     "$ref": "#/$defs/ScalarType"
                  }
               ],
               "description": "Data type of coordinate."
            },
            "dimensions": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/NamedDimension"
                     },
                     "type": "array"
                  },
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  }
               ],
               "description": "List of Dimension collection or reference to dimension names.",
               "title": "Dimensions"
            },
            "compressor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Blosc"
                  },
                  {
                     "$ref": "#/$defs/ZFP"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Compression settings.",
               "title": "Compressor"
            },
            "name": {
               "description": "Name of the array.",
               "title": "Name",
               "type": "string"
            },
            "longName": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Fully descriptive name.",
               "title": "Longname"
            },
            "metadata": {
               "anyOf": [
                  {
                     "items": {
                        "anyOf": [
                           {
                              "$ref": "#/$defs/AllUnits"
                           },
                           {
                              "$ref": "#/$defs/UserAttributes"
                           }
                        ]
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Coordinate metadata.",
               "title": "Metadata"
            }
         },
         "required": [
            "dataType",
            "dimensions",
            "name"
         ],
         "title": "Coordinate",
         "type": "object"
      },
      "DatasetMetadata": {
         "additionalProperties": false,
         "description": "The metadata about the dataset.",
         "properties": {
            "name": {
               "description": "Name or identifier for the dataset.",
               "title": "Name",
               "type": "string"
            },
            "apiVersion": {
               "description": "The version of the MDIO API that the dataset complies with.",
               "title": "Apiversion",
               "type": "string"
            },
            "createdOn": {
               "description": "The timestamp indicating when the dataset was first created, including timezone information. Expressed in ISO 8601 format.",
               "format": "date-time",
               "title": "Createdon",
               "type": "string"
            },
            "attributes": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "User defined attributes as key/value pairs.",
               "title": "Attributes"
            }
         },
         "required": [
            "name",
            "apiVersion",
            "createdOn"
         ],
         "title": "DatasetMetadata",
         "type": "object"
      },
      "DensityUnitEnum": {
         "description": "Enum class representing units of density.",
         "enum": [
            "g/cm**3",
            "kg/m**3",
            "lb/gal"
         ],
         "title": "DensityUnitEnum",
         "type": "string"
      },
      "DensityUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of density.",
         "properties": {
            "density": {
               "allOf": [
                  {
                     "$ref": "#/$defs/DensityUnitEnum"
                  }
               ],
               "description": "Unit of density."
            }
         },
         "required": [
            "density"
         ],
         "title": "DensityUnitModel",
         "type": "object"
      },
      "EdgeDefinedHistogram": {
         "additionalProperties": false,
         "description": "A class representing an edge-defined histogram.",
         "properties": {
            "counts": {
               "description": "Count of each each bin.",
               "items": {
                  "type": "integer"
               },
               "title": "Counts",
               "type": "array"
            },
            "binEdges": {
               "description": "The left edges of the histogram bins.",
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "integer"
                     }
                  ]
               },
               "title": "Binedges",
               "type": "array"
            },
            "binWidths": {
               "description": "The widths of the histogram bins.",
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "integer"
                     }
                  ]
               },
               "title": "Binwidths",
               "type": "array"
            }
         },
         "required": [
            "counts",
            "binEdges",
            "binWidths"
         ],
         "title": "EdgeDefinedHistogram",
         "type": "object"
      },
      "FrequencyUnitEnum": {
         "const": "Hz",
         "description": "Enum class representing units of frequency.",
         "enum": [
            "Hz"
         ],
         "title": "FrequencyUnitEnum",
         "type": "string"
      },
      "FrequencyUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of frequency.",
         "properties": {
            "frequency": {
               "allOf": [
                  {
                     "$ref": "#/$defs/FrequencyUnitEnum"
                  }
               ],
               "description": "Unit of frequency."
            }
         },
         "required": [
            "frequency"
         ],
         "title": "FrequencyUnitModel",
         "type": "object"
      },
      "LengthUnitEnum": {
         "description": "Enum class representing metric units of length.",
         "enum": [
            "mm",
            "cm",
            "m",
            "km",
            "in",
            "ft",
            "yd",
            "mi"
         ],
         "title": "LengthUnitEnum",
         "type": "string"
      },
      "LengthUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of length.",
         "properties": {
            "length": {
               "allOf": [
                  {
                     "$ref": "#/$defs/LengthUnitEnum"
                  }
               ],
               "description": "Unit of length."
            }
         },
         "required": [
            "length"
         ],
         "title": "LengthUnitModel",
         "type": "object"
      },
      "NamedDimension": {
         "additionalProperties": false,
         "description": "Represents a single dimension with a name and size.",
         "properties": {
            "name": {
               "description": "Unique identifier for the dimension.",
               "title": "Name",
               "type": "string"
            },
            "size": {
               "description": "Total size of the dimension.",
               "exclusiveMinimum": 0,
               "title": "Size",
               "type": "integer"
            }
         },
         "required": [
            "name",
            "size"
         ],
         "title": "NamedDimension",
         "type": "object"
      },
      "RectilinearChunkGrid": {
         "additionalProperties": false,
         "description": "Represents a rectangular and irregularly spaced chunk grid.",
         "properties": {
            "name": {
               "default": "rectilinear",
               "description": "The name of the chunk grid.",
               "title": "Name",
               "type": "string"
            },
            "configuration": {
               "allOf": [
                  {
                     "$ref": "#/$defs/RectilinearChunkShape"
                  }
               ],
               "description": "Configuration of the irregular chunk grid."
            }
         },
         "required": [
            "configuration"
         ],
         "title": "RectilinearChunkGrid",
         "type": "object"
      },
      "RectilinearChunkShape": {
         "additionalProperties": false,
         "description": "Represents irregular chunk sizes along each dimension.",
         "properties": {
            "chunkShape": {
               "description": "Lengths of the chunk along each dimension of the array.",
               "items": {
                  "items": {
                     "type": "integer"
                  },
                  "type": "array"
               },
               "title": "Chunkshape",
               "type": "array"
            }
         },
         "required": [
            "chunkShape"
         ],
         "title": "RectilinearChunkShape",
         "type": "object"
      },
      "RegularChunkGrid": {
         "additionalProperties": false,
         "description": "Represents a rectangular and regularly spaced chunk grid.",
         "properties": {
            "name": {
               "default": "regular",
               "description": "The name of the chunk grid.",
               "title": "Name",
               "type": "string"
            },
            "configuration": {
               "allOf": [
                  {
                     "$ref": "#/$defs/RegularChunkShape"
                  }
               ],
               "description": "Configuration of the regular chunk grid."
            }
         },
         "required": [
            "configuration"
         ],
         "title": "RegularChunkGrid",
         "type": "object"
      },
      "RegularChunkShape": {
         "additionalProperties": false,
         "description": "Represents regular chunk sizes along each dimension.",
         "properties": {
            "chunkShape": {
               "description": "Lengths of the chunk along each dimension of the array.",
               "items": {
                  "type": "integer"
               },
               "title": "Chunkshape",
               "type": "array"
            }
         },
         "required": [
            "chunkShape"
         ],
         "title": "RegularChunkShape",
         "type": "object"
      },
      "ScalarType": {
         "description": "Scalar array data type.",
         "enum": [
            "bool",
            "int8",
            "int16",
            "int32",
            "int64",
            "uint8",
            "uint16",
            "uint32",
            "uint64",
            "float16",
            "float32",
            "float64",
            "longdouble",
            "complex64",
            "complex128",
            "clongdouble"
         ],
         "title": "ScalarType",
         "type": "string"
      },
      "SpeedUnitEnum": {
         "description": "Enum class representing units of speed.",
         "enum": [
            "m/s",
            "ft/s"
         ],
         "title": "SpeedUnitEnum",
         "type": "string"
      },
      "SpeedUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of speed.",
         "properties": {
            "speed": {
               "allOf": [
                  {
                     "$ref": "#/$defs/SpeedUnitEnum"
                  }
               ],
               "description": "Unit of speed."
            }
         },
         "required": [
            "speed"
         ],
         "title": "SpeedUnitModel",
         "type": "object"
      },
      "StructuredField": {
         "additionalProperties": false,
         "description": "Structured array field with name, format.",
         "properties": {
            "format": {
               "$ref": "#/$defs/ScalarType"
            },
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "format",
            "name"
         ],
         "title": "StructuredField",
         "type": "object"
      },
      "StructuredType": {
         "additionalProperties": false,
         "description": "Structured array type with packed fields.",
         "properties": {
            "fields": {
               "items": {
                  "$ref": "#/$defs/StructuredField"
               },
               "title": "Fields",
               "type": "array"
            }
         },
         "required": [
            "fields"
         ],
         "title": "StructuredType",
         "type": "object"
      },
      "SummaryStatistics": {
         "additionalProperties": false,
         "description": "Data model for some statistics in MDIO v1 arrays.",
         "properties": {
            "count": {
               "description": "The number of data points.",
               "title": "Count",
               "type": "integer"
            },
            "sum": {
               "description": "The total of all data values.",
               "title": "Sum",
               "type": "number"
            },
            "sumSquares": {
               "description": "The total of all data values squared.",
               "title": "Sumsquares",
               "type": "number"
            },
            "min": {
               "description": "The smallest value in the variable.",
               "title": "Min",
               "type": "number"
            },
            "max": {
               "description": "The largest value in the variable.",
               "title": "Max",
               "type": "number"
            },
            "histogram": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/CenteredBinHistogram"
                  },
                  {
                     "$ref": "#/$defs/EdgeDefinedHistogram"
                  }
               ],
               "description": "Binned frequency distribution.",
               "title": "Histogram"
            }
         },
         "required": [
            "count",
            "sum",
            "sumSquares",
            "min",
            "max",
            "histogram"
         ],
         "title": "SummaryStatistics",
         "type": "object"
      },
      "TimeUnitEnum": {
         "description": "Enum class representing units of time.",
         "enum": [
            "ns",
            "\u00b5s",
            "ms",
            "s",
            "min",
            "h",
            "d"
         ],
         "title": "TimeUnitEnum",
         "type": "string"
      },
      "TimeUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of time.",
         "properties": {
            "time": {
               "allOf": [
                  {
                     "$ref": "#/$defs/TimeUnitEnum"
                  }
               ],
               "description": "Unit of time."
            }
         },
         "required": [
            "time"
         ],
         "title": "TimeUnitModel",
         "type": "object"
      },
      "UserAttributes": {
         "additionalProperties": false,
         "description": "User defined attributes as key/value pairs.",
         "properties": {
            "attributes": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "User defined attributes as key/value pairs.",
               "title": "Attributes"
            }
         },
         "title": "UserAttributes",
         "type": "object"
      },
      "Variable": {
         "additionalProperties": false,
         "description": "An MDIO variable that has coordinates and metadata.",
         "properties": {
            "dataType": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ScalarType"
                  },
                  {
                     "$ref": "#/$defs/StructuredType"
                  }
               ],
               "description": "Type of the array.",
               "title": "Datatype"
            },
            "dimensions": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/NamedDimension"
                     },
                     "type": "array"
                  },
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  }
               ],
               "description": "List of Dimension collection or reference to dimension names.",
               "title": "Dimensions"
            },
            "compressor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Blosc"
                  },
                  {
                     "$ref": "#/$defs/ZFP"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Compression settings.",
               "title": "Compressor"
            },
            "name": {
               "description": "Name of the array.",
               "title": "Name",
               "type": "string"
            },
            "longName": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Fully descriptive name.",
               "title": "Longname"
            },
            "coordinates": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/Coordinate"
                     },
                     "type": "array"
                  },
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Coordinates of the MDIO variable dimensions.",
               "title": "Coordinates"
            },
            "metadata": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/VariableMetadata"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Variable metadata."
            }
         },
         "required": [
            "dataType",
            "dimensions",
            "name"
         ],
         "title": "Variable",
         "type": "object"
      },
      "VariableMetadata": {
         "additionalProperties": false,
         "properties": {
            "chunkGrid": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RegularChunkGrid"
                  },
                  {
                     "$ref": "#/$defs/RectilinearChunkGrid"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Chunk grid specification for the array.",
               "title": "Chunkgrid"
            },
            "unitsV1": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LengthUnitModel"
                  },
                  {
                     "$ref": "#/$defs/TimeUnitModel"
                  },
                  {
                     "$ref": "#/$defs/AngleUnitModel"
                  },
                  {
                     "$ref": "#/$defs/DensityUnitModel"
                  },
                  {
                     "$ref": "#/$defs/SpeedUnitModel"
                  },
                  {
                     "$ref": "#/$defs/FrequencyUnitModel"
                  },
                  {
                     "$ref": "#/$defs/VoltageUnitModel"
                  },
                  {
                     "items": {
                        "anyOf": [
                           {
                              "$ref": "#/$defs/LengthUnitModel"
                           },
                           {
                              "$ref": "#/$defs/TimeUnitModel"
                           },
                           {
                              "$ref": "#/$defs/AngleUnitModel"
                           },
                           {
                              "$ref": "#/$defs/DensityUnitModel"
                           },
                           {
                              "$ref": "#/$defs/SpeedUnitModel"
                           },
                           {
                              "$ref": "#/$defs/FrequencyUnitModel"
                           },
                           {
                              "$ref": "#/$defs/VoltageUnitModel"
                           }
                        ]
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Unitsv1"
            },
            "statsV1": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SummaryStatistics"
                  },
                  {
                     "items": {
                        "$ref": "#/$defs/SummaryStatistics"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Minimal summary statistics.",
               "title": "Statsv1"
            },
            "attributes": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "User defined attributes as key/value pairs.",
               "title": "Attributes"
            }
         },
         "title": "VariableMetadata",
         "type": "object"
      },
      "VoltageUnitEnum": {
         "description": "Enum class representing units of voltage.",
         "enum": [
            "\u00b5V",
            "mV",
            "V"
         ],
         "title": "VoltageUnitEnum",
         "type": "string"
      },
      "VoltageUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of voltage.",
         "properties": {
            "voltage": {
               "allOf": [
                  {
                     "$ref": "#/$defs/VoltageUnitEnum"
                  }
               ],
               "description": "Unit of voltage."
            }
         },
         "required": [
            "voltage"
         ],
         "title": "VoltageUnitModel",
         "type": "object"
      },
      "ZFP": {
         "additionalProperties": false,
         "description": "Data Model for ZFP options.",
         "properties": {
            "name": {
               "default": "zfp",
               "description": "Name of the compressor.",
               "title": "Name",
               "type": "string"
            },
            "mode": {
               "$ref": "#/$defs/ZFPMode"
            },
            "tolerance": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Fixed accuracy in terms of absolute error tolerance.",
               "title": "Tolerance"
            },
            "rate": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Fixed rate in terms of number of compressed bits per value.",
               "title": "Rate"
            },
            "precision": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Fixed precision in terms of number of uncompressed bits per value.",
               "title": "Precision"
            },
            "writeHeader": {
               "default": true,
               "description": "Encode array shape, scalar type, and compression parameters.",
               "title": "Writeheader",
               "type": "boolean"
            }
         },
         "required": [
            "mode"
         ],
         "title": "ZFP",
         "type": "object"
      },
      "ZFPMode": {
         "description": "Enum for ZFP algorithm modes.",
         "enum": [
            "fixed_rate",
            "fixed_precision",
            "fixed_accuracy",
            "reversible"
         ],
         "title": "ZFPMode",
         "type": "string"
      }
   },
   "$schema": "https://json-schema.org/draft/2020-12/schema",
   "additionalProperties": false,
   "required": [
      "variables",
      "metadata"
   ]
}

field metadata: DatasetMetadata [Required]#

Dataset metadata.

field variables: list[Variable] [Required]#

Variables in MDIO dataset

pydantic model mdio.schemas.v1.dataset.DatasetMetadata#

The metadata about the dataset.

Show JSON schema
{
   "title": "DatasetMetadata",
   "description": "The metadata about the dataset.",
   "type": "object",
   "properties": {
      "name": {
         "description": "Name or identifier for the dataset.",
         "title": "Name",
         "type": "string"
      },
      "apiVersion": {
         "description": "The version of the MDIO API that the dataset complies with.",
         "title": "Apiversion",
         "type": "string"
      },
      "createdOn": {
         "description": "The timestamp indicating when the dataset was first created, including timezone information. Expressed in ISO 8601 format.",
         "format": "date-time",
         "title": "Createdon",
         "type": "string"
      },
      "attributes": {
         "anyOf": [
            {
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "User defined attributes as key/value pairs.",
         "title": "Attributes"
      }
   },
   "additionalProperties": false,
   "required": [
      "name",
      "apiVersion",
      "createdOn"
   ]
}

field apiVersion: str [Required]#

The version of the MDIO API that the dataset complies with.

field attributes: dict[str, Any] | None = None#

User defined attributes as key/value pairs.

field createdOn: AwareDatetime [Required]#

The timestamp indicating when the dataset was first created, including timezone information. Expressed in ISO 8601 format.

field name: str [Required]#

Name or identifier for the dataset.

Variable
pydantic model mdio.schemas.v1.variable.Variable#

An MDIO variable that has coordinates and metadata.

Show JSON schema
{
   "title": "Variable",
   "description": "An MDIO variable that has coordinates and metadata.",
   "type": "object",
   "properties": {
      "dataType": {
         "anyOf": [
            {
               "$ref": "#/$defs/ScalarType"
            },
            {
               "$ref": "#/$defs/StructuredType"
            }
         ],
         "description": "Type of the array.",
         "title": "Datatype"
      },
      "dimensions": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/NamedDimension"
               },
               "type": "array"
            },
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            }
         ],
         "description": "List of Dimension collection or reference to dimension names.",
         "title": "Dimensions"
      },
      "compressor": {
         "anyOf": [
            {
               "$ref": "#/$defs/Blosc"
            },
            {
               "$ref": "#/$defs/ZFP"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Compression settings.",
         "title": "Compressor"
      },
      "name": {
         "description": "Name of the array.",
         "title": "Name",
         "type": "string"
      },
      "longName": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Fully descriptive name.",
         "title": "Longname"
      },
      "coordinates": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/Coordinate"
               },
               "type": "array"
            },
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Coordinates of the MDIO variable dimensions.",
         "title": "Coordinates"
      },
      "metadata": {
         "anyOf": [
            {
               "$ref": "#/$defs/VariableMetadata"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Variable metadata."
      }
   },
   "$defs": {
      "AllUnits": {
         "additionalProperties": false,
         "description": "All Units.",
         "properties": {
            "unitsV1": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LengthUnitModel"
                  },
                  {
                     "$ref": "#/$defs/TimeUnitModel"
                  },
                  {
                     "$ref": "#/$defs/AngleUnitModel"
                  },
                  {
                     "$ref": "#/$defs/DensityUnitModel"
                  },
                  {
                     "$ref": "#/$defs/SpeedUnitModel"
                  },
                  {
                     "$ref": "#/$defs/FrequencyUnitModel"
                  },
                  {
                     "$ref": "#/$defs/VoltageUnitModel"
                  },
                  {
                     "items": {
                        "anyOf": [
                           {
                              "$ref": "#/$defs/LengthUnitModel"
                           },
                           {
                              "$ref": "#/$defs/TimeUnitModel"
                           },
                           {
                              "$ref": "#/$defs/AngleUnitModel"
                           },
                           {
                              "$ref": "#/$defs/DensityUnitModel"
                           },
                           {
                              "$ref": "#/$defs/SpeedUnitModel"
                           },
                           {
                              "$ref": "#/$defs/FrequencyUnitModel"
                           },
                           {
                              "$ref": "#/$defs/VoltageUnitModel"
                           }
                        ]
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Unitsv1"
            }
         },
         "title": "AllUnits",
         "type": "object"
      },
      "AngleUnitEnum": {
         "description": "Enum class representing units of angle.",
         "enum": [
            "deg",
            "rad"
         ],
         "title": "AngleUnitEnum",
         "type": "string"
      },
      "AngleUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of angle.",
         "properties": {
            "angle": {
               "allOf": [
                  {
                     "$ref": "#/$defs/AngleUnitEnum"
                  }
               ],
               "description": "Unit of angle."
            }
         },
         "required": [
            "angle"
         ],
         "title": "AngleUnitModel",
         "type": "object"
      },
      "Blosc": {
         "additionalProperties": false,
         "description": "Data Model for Blosc options.",
         "properties": {
            "name": {
               "default": "blosc",
               "description": "Name of the compressor.",
               "title": "Name",
               "type": "string"
            },
            "algorithm": {
               "allOf": [
                  {
                     "$ref": "#/$defs/BloscAlgorithm"
                  }
               ],
               "default": "lz4",
               "description": "The Blosc compression algorithm to be used."
            },
            "level": {
               "default": 5,
               "description": "The compression level.",
               "maximum": 9,
               "minimum": 0,
               "title": "Level",
               "type": "integer"
            },
            "shuffle": {
               "allOf": [
                  {
                     "$ref": "#/$defs/BloscShuffle"
                  }
               ],
               "default": 1,
               "description": "The shuffle strategy to be applied before compression."
            },
            "blocksize": {
               "default": 0,
               "description": "The size of the block to be used for compression.",
               "title": "Blocksize",
               "type": "integer"
            }
         },
         "title": "Blosc",
         "type": "object"
      },
      "BloscAlgorithm": {
         "description": "Enum for Blosc algorithm options.",
         "enum": [
            "blosclz",
            "lz4",
            "lz4hc",
            "zlib",
            "zstd"
         ],
         "title": "BloscAlgorithm",
         "type": "string"
      },
      "BloscShuffle": {
         "description": "Enum for Blosc shuffle options.",
         "enum": [
            0,
            1,
            2,
            -1
         ],
         "title": "BloscShuffle",
         "type": "integer"
      },
      "CenteredBinHistogram": {
         "additionalProperties": false,
         "description": "Class representing a center bin histogram.",
         "properties": {
            "counts": {
               "description": "Count of each each bin.",
               "items": {
                  "type": "integer"
               },
               "title": "Counts",
               "type": "array"
            },
            "binCenters": {
               "description": "List of bin centers.",
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "integer"
                     }
                  ]
               },
               "title": "Bincenters",
               "type": "array"
            }
         },
         "required": [
            "counts",
            "binCenters"
         ],
         "title": "CenteredBinHistogram",
         "type": "object"
      },
      "Coordinate": {
         "additionalProperties": false,
         "description": "An MDIO coordinate array with metadata.",
         "properties": {
            "dataType": {
               "allOf": [
                  {
                     "$ref": "#/$defs/ScalarType"
                  }
               ],
               "description": "Data type of coordinate."
            },
            "dimensions": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/NamedDimension"
                     },
                     "type": "array"
                  },
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  }
               ],
               "description": "List of Dimension collection or reference to dimension names.",
               "title": "Dimensions"
            },
            "compressor": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Blosc"
                  },
                  {
                     "$ref": "#/$defs/ZFP"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Compression settings.",
               "title": "Compressor"
            },
            "name": {
               "description": "Name of the array.",
               "title": "Name",
               "type": "string"
            },
            "longName": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Fully descriptive name.",
               "title": "Longname"
            },
            "metadata": {
               "anyOf": [
                  {
                     "items": {
                        "anyOf": [
                           {
                              "$ref": "#/$defs/AllUnits"
                           },
                           {
                              "$ref": "#/$defs/UserAttributes"
                           }
                        ]
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Coordinate metadata.",
               "title": "Metadata"
            }
         },
         "required": [
            "dataType",
            "dimensions",
            "name"
         ],
         "title": "Coordinate",
         "type": "object"
      },
      "DensityUnitEnum": {
         "description": "Enum class representing units of density.",
         "enum": [
            "g/cm**3",
            "kg/m**3",
            "lb/gal"
         ],
         "title": "DensityUnitEnum",
         "type": "string"
      },
      "DensityUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of density.",
         "properties": {
            "density": {
               "allOf": [
                  {
                     "$ref": "#/$defs/DensityUnitEnum"
                  }
               ],
               "description": "Unit of density."
            }
         },
         "required": [
            "density"
         ],
         "title": "DensityUnitModel",
         "type": "object"
      },
      "EdgeDefinedHistogram": {
         "additionalProperties": false,
         "description": "A class representing an edge-defined histogram.",
         "properties": {
            "counts": {
               "description": "Count of each each bin.",
               "items": {
                  "type": "integer"
               },
               "title": "Counts",
               "type": "array"
            },
            "binEdges": {
               "description": "The left edges of the histogram bins.",
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "integer"
                     }
                  ]
               },
               "title": "Binedges",
               "type": "array"
            },
            "binWidths": {
               "description": "The widths of the histogram bins.",
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "integer"
                     }
                  ]
               },
               "title": "Binwidths",
               "type": "array"
            }
         },
         "required": [
            "counts",
            "binEdges",
            "binWidths"
         ],
         "title": "EdgeDefinedHistogram",
         "type": "object"
      },
      "FrequencyUnitEnum": {
         "const": "Hz",
         "description": "Enum class representing units of frequency.",
         "enum": [
            "Hz"
         ],
         "title": "FrequencyUnitEnum",
         "type": "string"
      },
      "FrequencyUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of frequency.",
         "properties": {
            "frequency": {
               "allOf": [
                  {
                     "$ref": "#/$defs/FrequencyUnitEnum"
                  }
               ],
               "description": "Unit of frequency."
            }
         },
         "required": [
            "frequency"
         ],
         "title": "FrequencyUnitModel",
         "type": "object"
      },
      "LengthUnitEnum": {
         "description": "Enum class representing metric units of length.",
         "enum": [
            "mm",
            "cm",
            "m",
            "km",
            "in",
            "ft",
            "yd",
            "mi"
         ],
         "title": "LengthUnitEnum",
         "type": "string"
      },
      "LengthUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of length.",
         "properties": {
            "length": {
               "allOf": [
                  {
                     "$ref": "#/$defs/LengthUnitEnum"
                  }
               ],
               "description": "Unit of length."
            }
         },
         "required": [
            "length"
         ],
         "title": "LengthUnitModel",
         "type": "object"
      },
      "NamedDimension": {
         "additionalProperties": false,
         "description": "Represents a single dimension with a name and size.",
         "properties": {
            "name": {
               "description": "Unique identifier for the dimension.",
               "title": "Name",
               "type": "string"
            },
            "size": {
               "description": "Total size of the dimension.",
               "exclusiveMinimum": 0,
               "title": "Size",
               "type": "integer"
            }
         },
         "required": [
            "name",
            "size"
         ],
         "title": "NamedDimension",
         "type": "object"
      },
      "RectilinearChunkGrid": {
         "additionalProperties": false,
         "description": "Represents a rectangular and irregularly spaced chunk grid.",
         "properties": {
            "name": {
               "default": "rectilinear",
               "description": "The name of the chunk grid.",
               "title": "Name",
               "type": "string"
            },
            "configuration": {
               "allOf": [
                  {
                     "$ref": "#/$defs/RectilinearChunkShape"
                  }
               ],
               "description": "Configuration of the irregular chunk grid."
            }
         },
         "required": [
            "configuration"
         ],
         "title": "RectilinearChunkGrid",
         "type": "object"
      },
      "RectilinearChunkShape": {
         "additionalProperties": false,
         "description": "Represents irregular chunk sizes along each dimension.",
         "properties": {
            "chunkShape": {
               "description": "Lengths of the chunk along each dimension of the array.",
               "items": {
                  "items": {
                     "type": "integer"
                  },
                  "type": "array"
               },
               "title": "Chunkshape",
               "type": "array"
            }
         },
         "required": [
            "chunkShape"
         ],
         "title": "RectilinearChunkShape",
         "type": "object"
      },
      "RegularChunkGrid": {
         "additionalProperties": false,
         "description": "Represents a rectangular and regularly spaced chunk grid.",
         "properties": {
            "name": {
               "default": "regular",
               "description": "The name of the chunk grid.",
               "title": "Name",
               "type": "string"
            },
            "configuration": {
               "allOf": [
                  {
                     "$ref": "#/$defs/RegularChunkShape"
                  }
               ],
               "description": "Configuration of the regular chunk grid."
            }
         },
         "required": [
            "configuration"
         ],
         "title": "RegularChunkGrid",
         "type": "object"
      },
      "RegularChunkShape": {
         "additionalProperties": false,
         "description": "Represents regular chunk sizes along each dimension.",
         "properties": {
            "chunkShape": {
               "description": "Lengths of the chunk along each dimension of the array.",
               "items": {
                  "type": "integer"
               },
               "title": "Chunkshape",
               "type": "array"
            }
         },
         "required": [
            "chunkShape"
         ],
         "title": "RegularChunkShape",
         "type": "object"
      },
      "ScalarType": {
         "description": "Scalar array data type.",
         "enum": [
            "bool",
            "int8",
            "int16",
            "int32",
            "int64",
            "uint8",
            "uint16",
            "uint32",
            "uint64",
            "float16",
            "float32",
            "float64",
            "longdouble",
            "complex64",
            "complex128",
            "clongdouble"
         ],
         "title": "ScalarType",
         "type": "string"
      },
      "SpeedUnitEnum": {
         "description": "Enum class representing units of speed.",
         "enum": [
            "m/s",
            "ft/s"
         ],
         "title": "SpeedUnitEnum",
         "type": "string"
      },
      "SpeedUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of speed.",
         "properties": {
            "speed": {
               "allOf": [
                  {
                     "$ref": "#/$defs/SpeedUnitEnum"
                  }
               ],
               "description": "Unit of speed."
            }
         },
         "required": [
            "speed"
         ],
         "title": "SpeedUnitModel",
         "type": "object"
      },
      "StructuredField": {
         "additionalProperties": false,
         "description": "Structured array field with name, format.",
         "properties": {
            "format": {
               "$ref": "#/$defs/ScalarType"
            },
            "name": {
               "title": "Name",
               "type": "string"
            }
         },
         "required": [
            "format",
            "name"
         ],
         "title": "StructuredField",
         "type": "object"
      },
      "StructuredType": {
         "additionalProperties": false,
         "description": "Structured array type with packed fields.",
         "properties": {
            "fields": {
               "items": {
                  "$ref": "#/$defs/StructuredField"
               },
               "title": "Fields",
               "type": "array"
            }
         },
         "required": [
            "fields"
         ],
         "title": "StructuredType",
         "type": "object"
      },
      "SummaryStatistics": {
         "additionalProperties": false,
         "description": "Data model for some statistics in MDIO v1 arrays.",
         "properties": {
            "count": {
               "description": "The number of data points.",
               "title": "Count",
               "type": "integer"
            },
            "sum": {
               "description": "The total of all data values.",
               "title": "Sum",
               "type": "number"
            },
            "sumSquares": {
               "description": "The total of all data values squared.",
               "title": "Sumsquares",
               "type": "number"
            },
            "min": {
               "description": "The smallest value in the variable.",
               "title": "Min",
               "type": "number"
            },
            "max": {
               "description": "The largest value in the variable.",
               "title": "Max",
               "type": "number"
            },
            "histogram": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/CenteredBinHistogram"
                  },
                  {
                     "$ref": "#/$defs/EdgeDefinedHistogram"
                  }
               ],
               "description": "Binned frequency distribution.",
               "title": "Histogram"
            }
         },
         "required": [
            "count",
            "sum",
            "sumSquares",
            "min",
            "max",
            "histogram"
         ],
         "title": "SummaryStatistics",
         "type": "object"
      },
      "TimeUnitEnum": {
         "description": "Enum class representing units of time.",
         "enum": [
            "ns",
            "\u00b5s",
            "ms",
            "s",
            "min",
            "h",
            "d"
         ],
         "title": "TimeUnitEnum",
         "type": "string"
      },
      "TimeUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of time.",
         "properties": {
            "time": {
               "allOf": [
                  {
                     "$ref": "#/$defs/TimeUnitEnum"
                  }
               ],
               "description": "Unit of time."
            }
         },
         "required": [
            "time"
         ],
         "title": "TimeUnitModel",
         "type": "object"
      },
      "UserAttributes": {
         "additionalProperties": false,
         "description": "User defined attributes as key/value pairs.",
         "properties": {
            "attributes": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "User defined attributes as key/value pairs.",
               "title": "Attributes"
            }
         },
         "title": "UserAttributes",
         "type": "object"
      },
      "VariableMetadata": {
         "additionalProperties": false,
         "properties": {
            "chunkGrid": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/RegularChunkGrid"
                  },
                  {
                     "$ref": "#/$defs/RectilinearChunkGrid"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Chunk grid specification for the array.",
               "title": "Chunkgrid"
            },
            "unitsV1": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LengthUnitModel"
                  },
                  {
                     "$ref": "#/$defs/TimeUnitModel"
                  },
                  {
                     "$ref": "#/$defs/AngleUnitModel"
                  },
                  {
                     "$ref": "#/$defs/DensityUnitModel"
                  },
                  {
                     "$ref": "#/$defs/SpeedUnitModel"
                  },
                  {
                     "$ref": "#/$defs/FrequencyUnitModel"
                  },
                  {
                     "$ref": "#/$defs/VoltageUnitModel"
                  },
                  {
                     "items": {
                        "anyOf": [
                           {
                              "$ref": "#/$defs/LengthUnitModel"
                           },
                           {
                              "$ref": "#/$defs/TimeUnitModel"
                           },
                           {
                              "$ref": "#/$defs/AngleUnitModel"
                           },
                           {
                              "$ref": "#/$defs/DensityUnitModel"
                           },
                           {
                              "$ref": "#/$defs/SpeedUnitModel"
                           },
                           {
                              "$ref": "#/$defs/FrequencyUnitModel"
                           },
                           {
                              "$ref": "#/$defs/VoltageUnitModel"
                           }
                        ]
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Unitsv1"
            },
            "statsV1": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SummaryStatistics"
                  },
                  {
                     "items": {
                        "$ref": "#/$defs/SummaryStatistics"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Minimal summary statistics.",
               "title": "Statsv1"
            },
            "attributes": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "User defined attributes as key/value pairs.",
               "title": "Attributes"
            }
         },
         "title": "VariableMetadata",
         "type": "object"
      },
      "VoltageUnitEnum": {
         "description": "Enum class representing units of voltage.",
         "enum": [
            "\u00b5V",
            "mV",
            "V"
         ],
         "title": "VoltageUnitEnum",
         "type": "string"
      },
      "VoltageUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of voltage.",
         "properties": {
            "voltage": {
               "allOf": [
                  {
                     "$ref": "#/$defs/VoltageUnitEnum"
                  }
               ],
               "description": "Unit of voltage."
            }
         },
         "required": [
            "voltage"
         ],
         "title": "VoltageUnitModel",
         "type": "object"
      },
      "ZFP": {
         "additionalProperties": false,
         "description": "Data Model for ZFP options.",
         "properties": {
            "name": {
               "default": "zfp",
               "description": "Name of the compressor.",
               "title": "Name",
               "type": "string"
            },
            "mode": {
               "$ref": "#/$defs/ZFPMode"
            },
            "tolerance": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Fixed accuracy in terms of absolute error tolerance.",
               "title": "Tolerance"
            },
            "rate": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Fixed rate in terms of number of compressed bits per value.",
               "title": "Rate"
            },
            "precision": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Fixed precision in terms of number of uncompressed bits per value.",
               "title": "Precision"
            },
            "writeHeader": {
               "default": true,
               "description": "Encode array shape, scalar type, and compression parameters.",
               "title": "Writeheader",
               "type": "boolean"
            }
         },
         "required": [
            "mode"
         ],
         "title": "ZFP",
         "type": "object"
      },
      "ZFPMode": {
         "description": "Enum for ZFP algorithm modes.",
         "enum": [
            "fixed_rate",
            "fixed_precision",
            "fixed_accuracy",
            "reversible"
         ],
         "title": "ZFPMode",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "dataType",
      "dimensions",
      "name"
   ]
}

field compressor: Blosc | ZFP | None = None#

Compression settings.

field coordinates: list[Coordinate] | list[str] | None = None#

Coordinates of the MDIO variable dimensions.

field dataType: ScalarType | StructuredType [Required]#

Type of the array.

field dimensions: list[NamedDimension] | list[str] [Required]#

List of Dimension collection or reference to dimension names.

field longName: str | None = None#

Fully descriptive name.

field metadata: VariableMetadata | None = None#

Variable metadata.

field name: str [Required]#

Name of the array.

pydantic model mdio.schemas.v1.variable.Coordinate#

An MDIO coordinate array with metadata.

Show JSON schema
{
   "title": "Coordinate",
   "description": "An MDIO coordinate array with metadata.",
   "type": "object",
   "properties": {
      "dataType": {
         "allOf": [
            {
               "$ref": "#/$defs/ScalarType"
            }
         ],
         "description": "Data type of coordinate."
      },
      "dimensions": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/NamedDimension"
               },
               "type": "array"
            },
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            }
         ],
         "description": "List of Dimension collection or reference to dimension names.",
         "title": "Dimensions"
      },
      "compressor": {
         "anyOf": [
            {
               "$ref": "#/$defs/Blosc"
            },
            {
               "$ref": "#/$defs/ZFP"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Compression settings.",
         "title": "Compressor"
      },
      "name": {
         "description": "Name of the array.",
         "title": "Name",
         "type": "string"
      },
      "longName": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Fully descriptive name.",
         "title": "Longname"
      },
      "metadata": {
         "anyOf": [
            {
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/AllUnits"
                     },
                     {
                        "$ref": "#/$defs/UserAttributes"
                     }
                  ]
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Coordinate metadata.",
         "title": "Metadata"
      }
   },
   "$defs": {
      "AllUnits": {
         "additionalProperties": false,
         "description": "All Units.",
         "properties": {
            "unitsV1": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LengthUnitModel"
                  },
                  {
                     "$ref": "#/$defs/TimeUnitModel"
                  },
                  {
                     "$ref": "#/$defs/AngleUnitModel"
                  },
                  {
                     "$ref": "#/$defs/DensityUnitModel"
                  },
                  {
                     "$ref": "#/$defs/SpeedUnitModel"
                  },
                  {
                     "$ref": "#/$defs/FrequencyUnitModel"
                  },
                  {
                     "$ref": "#/$defs/VoltageUnitModel"
                  },
                  {
                     "items": {
                        "anyOf": [
                           {
                              "$ref": "#/$defs/LengthUnitModel"
                           },
                           {
                              "$ref": "#/$defs/TimeUnitModel"
                           },
                           {
                              "$ref": "#/$defs/AngleUnitModel"
                           },
                           {
                              "$ref": "#/$defs/DensityUnitModel"
                           },
                           {
                              "$ref": "#/$defs/SpeedUnitModel"
                           },
                           {
                              "$ref": "#/$defs/FrequencyUnitModel"
                           },
                           {
                              "$ref": "#/$defs/VoltageUnitModel"
                           }
                        ]
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Unitsv1"
            }
         },
         "title": "AllUnits",
         "type": "object"
      },
      "AngleUnitEnum": {
         "description": "Enum class representing units of angle.",
         "enum": [
            "deg",
            "rad"
         ],
         "title": "AngleUnitEnum",
         "type": "string"
      },
      "AngleUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of angle.",
         "properties": {
            "angle": {
               "allOf": [
                  {
                     "$ref": "#/$defs/AngleUnitEnum"
                  }
               ],
               "description": "Unit of angle."
            }
         },
         "required": [
            "angle"
         ],
         "title": "AngleUnitModel",
         "type": "object"
      },
      "Blosc": {
         "additionalProperties": false,
         "description": "Data Model for Blosc options.",
         "properties": {
            "name": {
               "default": "blosc",
               "description": "Name of the compressor.",
               "title": "Name",
               "type": "string"
            },
            "algorithm": {
               "allOf": [
                  {
                     "$ref": "#/$defs/BloscAlgorithm"
                  }
               ],
               "default": "lz4",
               "description": "The Blosc compression algorithm to be used."
            },
            "level": {
               "default": 5,
               "description": "The compression level.",
               "maximum": 9,
               "minimum": 0,
               "title": "Level",
               "type": "integer"
            },
            "shuffle": {
               "allOf": [
                  {
                     "$ref": "#/$defs/BloscShuffle"
                  }
               ],
               "default": 1,
               "description": "The shuffle strategy to be applied before compression."
            },
            "blocksize": {
               "default": 0,
               "description": "The size of the block to be used for compression.",
               "title": "Blocksize",
               "type": "integer"
            }
         },
         "title": "Blosc",
         "type": "object"
      },
      "BloscAlgorithm": {
         "description": "Enum for Blosc algorithm options.",
         "enum": [
            "blosclz",
            "lz4",
            "lz4hc",
            "zlib",
            "zstd"
         ],
         "title": "BloscAlgorithm",
         "type": "string"
      },
      "BloscShuffle": {
         "description": "Enum for Blosc shuffle options.",
         "enum": [
            0,
            1,
            2,
            -1
         ],
         "title": "BloscShuffle",
         "type": "integer"
      },
      "DensityUnitEnum": {
         "description": "Enum class representing units of density.",
         "enum": [
            "g/cm**3",
            "kg/m**3",
            "lb/gal"
         ],
         "title": "DensityUnitEnum",
         "type": "string"
      },
      "DensityUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of density.",
         "properties": {
            "density": {
               "allOf": [
                  {
                     "$ref": "#/$defs/DensityUnitEnum"
                  }
               ],
               "description": "Unit of density."
            }
         },
         "required": [
            "density"
         ],
         "title": "DensityUnitModel",
         "type": "object"
      },
      "FrequencyUnitEnum": {
         "const": "Hz",
         "description": "Enum class representing units of frequency.",
         "enum": [
            "Hz"
         ],
         "title": "FrequencyUnitEnum",
         "type": "string"
      },
      "FrequencyUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of frequency.",
         "properties": {
            "frequency": {
               "allOf": [
                  {
                     "$ref": "#/$defs/FrequencyUnitEnum"
                  }
               ],
               "description": "Unit of frequency."
            }
         },
         "required": [
            "frequency"
         ],
         "title": "FrequencyUnitModel",
         "type": "object"
      },
      "LengthUnitEnum": {
         "description": "Enum class representing metric units of length.",
         "enum": [
            "mm",
            "cm",
            "m",
            "km",
            "in",
            "ft",
            "yd",
            "mi"
         ],
         "title": "LengthUnitEnum",
         "type": "string"
      },
      "LengthUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of length.",
         "properties": {
            "length": {
               "allOf": [
                  {
                     "$ref": "#/$defs/LengthUnitEnum"
                  }
               ],
               "description": "Unit of length."
            }
         },
         "required": [
            "length"
         ],
         "title": "LengthUnitModel",
         "type": "object"
      },
      "NamedDimension": {
         "additionalProperties": false,
         "description": "Represents a single dimension with a name and size.",
         "properties": {
            "name": {
               "description": "Unique identifier for the dimension.",
               "title": "Name",
               "type": "string"
            },
            "size": {
               "description": "Total size of the dimension.",
               "exclusiveMinimum": 0,
               "title": "Size",
               "type": "integer"
            }
         },
         "required": [
            "name",
            "size"
         ],
         "title": "NamedDimension",
         "type": "object"
      },
      "ScalarType": {
         "description": "Scalar array data type.",
         "enum": [
            "bool",
            "int8",
            "int16",
            "int32",
            "int64",
            "uint8",
            "uint16",
            "uint32",
            "uint64",
            "float16",
            "float32",
            "float64",
            "longdouble",
            "complex64",
            "complex128",
            "clongdouble"
         ],
         "title": "ScalarType",
         "type": "string"
      },
      "SpeedUnitEnum": {
         "description": "Enum class representing units of speed.",
         "enum": [
            "m/s",
            "ft/s"
         ],
         "title": "SpeedUnitEnum",
         "type": "string"
      },
      "SpeedUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of speed.",
         "properties": {
            "speed": {
               "allOf": [
                  {
                     "$ref": "#/$defs/SpeedUnitEnum"
                  }
               ],
               "description": "Unit of speed."
            }
         },
         "required": [
            "speed"
         ],
         "title": "SpeedUnitModel",
         "type": "object"
      },
      "TimeUnitEnum": {
         "description": "Enum class representing units of time.",
         "enum": [
            "ns",
            "\u00b5s",
            "ms",
            "s",
            "min",
            "h",
            "d"
         ],
         "title": "TimeUnitEnum",
         "type": "string"
      },
      "TimeUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of time.",
         "properties": {
            "time": {
               "allOf": [
                  {
                     "$ref": "#/$defs/TimeUnitEnum"
                  }
               ],
               "description": "Unit of time."
            }
         },
         "required": [
            "time"
         ],
         "title": "TimeUnitModel",
         "type": "object"
      },
      "UserAttributes": {
         "additionalProperties": false,
         "description": "User defined attributes as key/value pairs.",
         "properties": {
            "attributes": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "User defined attributes as key/value pairs.",
               "title": "Attributes"
            }
         },
         "title": "UserAttributes",
         "type": "object"
      },
      "VoltageUnitEnum": {
         "description": "Enum class representing units of voltage.",
         "enum": [
            "\u00b5V",
            "mV",
            "V"
         ],
         "title": "VoltageUnitEnum",
         "type": "string"
      },
      "VoltageUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of voltage.",
         "properties": {
            "voltage": {
               "allOf": [
                  {
                     "$ref": "#/$defs/VoltageUnitEnum"
                  }
               ],
               "description": "Unit of voltage."
            }
         },
         "required": [
            "voltage"
         ],
         "title": "VoltageUnitModel",
         "type": "object"
      },
      "ZFP": {
         "additionalProperties": false,
         "description": "Data Model for ZFP options.",
         "properties": {
            "name": {
               "default": "zfp",
               "description": "Name of the compressor.",
               "title": "Name",
               "type": "string"
            },
            "mode": {
               "$ref": "#/$defs/ZFPMode"
            },
            "tolerance": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Fixed accuracy in terms of absolute error tolerance.",
               "title": "Tolerance"
            },
            "rate": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Fixed rate in terms of number of compressed bits per value.",
               "title": "Rate"
            },
            "precision": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Fixed precision in terms of number of uncompressed bits per value.",
               "title": "Precision"
            },
            "writeHeader": {
               "default": true,
               "description": "Encode array shape, scalar type, and compression parameters.",
               "title": "Writeheader",
               "type": "boolean"
            }
         },
         "required": [
            "mode"
         ],
         "title": "ZFP",
         "type": "object"
      },
      "ZFPMode": {
         "description": "Enum for ZFP algorithm modes.",
         "enum": [
            "fixed_rate",
            "fixed_precision",
            "fixed_accuracy",
            "reversible"
         ],
         "title": "ZFPMode",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "dataType",
      "dimensions",
      "name"
   ]
}

field compressor: Blosc | ZFP | None = None#

Compression settings.

field dataType: ScalarType [Required]#

Data type of coordinate.

field dimensions: list[NamedDimension] | list[str] [Required]#

List of Dimension collection or reference to dimension names.

field longName: str | None = None#

Fully descriptive name.

field metadata: list[AllUnits | UserAttributes] | None = None#

Coordinate metadata.

field name: str [Required]#

Name of the array.

Metadata schemas and conventions.

pydantic model mdio.schemas.metadata.UserAttributes#

User defined attributes as key/value pairs.

Show JSON schema
{
   "title": "UserAttributes",
   "description": "User defined attributes as key/value pairs.",
   "type": "object",
   "properties": {
      "attributes": {
         "anyOf": [
            {
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "User defined attributes as key/value pairs.",
         "title": "Attributes"
      }
   },
   "additionalProperties": false
}

field attributes: dict[str, Any] | None = None#

User defined attributes as key/value pairs.

pydantic model mdio.schemas.v1.variable.VariableMetadata#

Show JSON schema
{
   "title": "VariableMetadata",
   "type": "object",
   "properties": {
      "chunkGrid": {
         "anyOf": [
            {
               "$ref": "#/$defs/RegularChunkGrid"
            },
            {
               "$ref": "#/$defs/RectilinearChunkGrid"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Chunk grid specification for the array.",
         "title": "Chunkgrid"
      },
      "unitsV1": {
         "anyOf": [
            {
               "$ref": "#/$defs/LengthUnitModel"
            },
            {
               "$ref": "#/$defs/TimeUnitModel"
            },
            {
               "$ref": "#/$defs/AngleUnitModel"
            },
            {
               "$ref": "#/$defs/DensityUnitModel"
            },
            {
               "$ref": "#/$defs/SpeedUnitModel"
            },
            {
               "$ref": "#/$defs/FrequencyUnitModel"
            },
            {
               "$ref": "#/$defs/VoltageUnitModel"
            },
            {
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/LengthUnitModel"
                     },
                     {
                        "$ref": "#/$defs/TimeUnitModel"
                     },
                     {
                        "$ref": "#/$defs/AngleUnitModel"
                     },
                     {
                        "$ref": "#/$defs/DensityUnitModel"
                     },
                     {
                        "$ref": "#/$defs/SpeedUnitModel"
                     },
                     {
                        "$ref": "#/$defs/FrequencyUnitModel"
                     },
                     {
                        "$ref": "#/$defs/VoltageUnitModel"
                     }
                  ]
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Unitsv1"
      },
      "statsV1": {
         "anyOf": [
            {
               "$ref": "#/$defs/SummaryStatistics"
            },
            {
               "items": {
                  "$ref": "#/$defs/SummaryStatistics"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Minimal summary statistics.",
         "title": "Statsv1"
      },
      "attributes": {
         "anyOf": [
            {
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "User defined attributes as key/value pairs.",
         "title": "Attributes"
      }
   },
   "$defs": {
      "AngleUnitEnum": {
         "description": "Enum class representing units of angle.",
         "enum": [
            "deg",
            "rad"
         ],
         "title": "AngleUnitEnum",
         "type": "string"
      },
      "AngleUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of angle.",
         "properties": {
            "angle": {
               "allOf": [
                  {
                     "$ref": "#/$defs/AngleUnitEnum"
                  }
               ],
               "description": "Unit of angle."
            }
         },
         "required": [
            "angle"
         ],
         "title": "AngleUnitModel",
         "type": "object"
      },
      "CenteredBinHistogram": {
         "additionalProperties": false,
         "description": "Class representing a center bin histogram.",
         "properties": {
            "counts": {
               "description": "Count of each each bin.",
               "items": {
                  "type": "integer"
               },
               "title": "Counts",
               "type": "array"
            },
            "binCenters": {
               "description": "List of bin centers.",
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "integer"
                     }
                  ]
               },
               "title": "Bincenters",
               "type": "array"
            }
         },
         "required": [
            "counts",
            "binCenters"
         ],
         "title": "CenteredBinHistogram",
         "type": "object"
      },
      "DensityUnitEnum": {
         "description": "Enum class representing units of density.",
         "enum": [
            "g/cm**3",
            "kg/m**3",
            "lb/gal"
         ],
         "title": "DensityUnitEnum",
         "type": "string"
      },
      "DensityUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of density.",
         "properties": {
            "density": {
               "allOf": [
                  {
                     "$ref": "#/$defs/DensityUnitEnum"
                  }
               ],
               "description": "Unit of density."
            }
         },
         "required": [
            "density"
         ],
         "title": "DensityUnitModel",
         "type": "object"
      },
      "EdgeDefinedHistogram": {
         "additionalProperties": false,
         "description": "A class representing an edge-defined histogram.",
         "properties": {
            "counts": {
               "description": "Count of each each bin.",
               "items": {
                  "type": "integer"
               },
               "title": "Counts",
               "type": "array"
            },
            "binEdges": {
               "description": "The left edges of the histogram bins.",
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "integer"
                     }
                  ]
               },
               "title": "Binedges",
               "type": "array"
            },
            "binWidths": {
               "description": "The widths of the histogram bins.",
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "integer"
                     }
                  ]
               },
               "title": "Binwidths",
               "type": "array"
            }
         },
         "required": [
            "counts",
            "binEdges",
            "binWidths"
         ],
         "title": "EdgeDefinedHistogram",
         "type": "object"
      },
      "FrequencyUnitEnum": {
         "const": "Hz",
         "description": "Enum class representing units of frequency.",
         "enum": [
            "Hz"
         ],
         "title": "FrequencyUnitEnum",
         "type": "string"
      },
      "FrequencyUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of frequency.",
         "properties": {
            "frequency": {
               "allOf": [
                  {
                     "$ref": "#/$defs/FrequencyUnitEnum"
                  }
               ],
               "description": "Unit of frequency."
            }
         },
         "required": [
            "frequency"
         ],
         "title": "FrequencyUnitModel",
         "type": "object"
      },
      "LengthUnitEnum": {
         "description": "Enum class representing metric units of length.",
         "enum": [
            "mm",
            "cm",
            "m",
            "km",
            "in",
            "ft",
            "yd",
            "mi"
         ],
         "title": "LengthUnitEnum",
         "type": "string"
      },
      "LengthUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of length.",
         "properties": {
            "length": {
               "allOf": [
                  {
                     "$ref": "#/$defs/LengthUnitEnum"
                  }
               ],
               "description": "Unit of length."
            }
         },
         "required": [
            "length"
         ],
         "title": "LengthUnitModel",
         "type": "object"
      },
      "RectilinearChunkGrid": {
         "additionalProperties": false,
         "description": "Represents a rectangular and irregularly spaced chunk grid.",
         "properties": {
            "name": {
               "default": "rectilinear",
               "description": "The name of the chunk grid.",
               "title": "Name",
               "type": "string"
            },
            "configuration": {
               "allOf": [
                  {
                     "$ref": "#/$defs/RectilinearChunkShape"
                  }
               ],
               "description": "Configuration of the irregular chunk grid."
            }
         },
         "required": [
            "configuration"
         ],
         "title": "RectilinearChunkGrid",
         "type": "object"
      },
      "RectilinearChunkShape": {
         "additionalProperties": false,
         "description": "Represents irregular chunk sizes along each dimension.",
         "properties": {
            "chunkShape": {
               "description": "Lengths of the chunk along each dimension of the array.",
               "items": {
                  "items": {
                     "type": "integer"
                  },
                  "type": "array"
               },
               "title": "Chunkshape",
               "type": "array"
            }
         },
         "required": [
            "chunkShape"
         ],
         "title": "RectilinearChunkShape",
         "type": "object"
      },
      "RegularChunkGrid": {
         "additionalProperties": false,
         "description": "Represents a rectangular and regularly spaced chunk grid.",
         "properties": {
            "name": {
               "default": "regular",
               "description": "The name of the chunk grid.",
               "title": "Name",
               "type": "string"
            },
            "configuration": {
               "allOf": [
                  {
                     "$ref": "#/$defs/RegularChunkShape"
                  }
               ],
               "description": "Configuration of the regular chunk grid."
            }
         },
         "required": [
            "configuration"
         ],
         "title": "RegularChunkGrid",
         "type": "object"
      },
      "RegularChunkShape": {
         "additionalProperties": false,
         "description": "Represents regular chunk sizes along each dimension.",
         "properties": {
            "chunkShape": {
               "description": "Lengths of the chunk along each dimension of the array.",
               "items": {
                  "type": "integer"
               },
               "title": "Chunkshape",
               "type": "array"
            }
         },
         "required": [
            "chunkShape"
         ],
         "title": "RegularChunkShape",
         "type": "object"
      },
      "SpeedUnitEnum": {
         "description": "Enum class representing units of speed.",
         "enum": [
            "m/s",
            "ft/s"
         ],
         "title": "SpeedUnitEnum",
         "type": "string"
      },
      "SpeedUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of speed.",
         "properties": {
            "speed": {
               "allOf": [
                  {
                     "$ref": "#/$defs/SpeedUnitEnum"
                  }
               ],
               "description": "Unit of speed."
            }
         },
         "required": [
            "speed"
         ],
         "title": "SpeedUnitModel",
         "type": "object"
      },
      "SummaryStatistics": {
         "additionalProperties": false,
         "description": "Data model for some statistics in MDIO v1 arrays.",
         "properties": {
            "count": {
               "description": "The number of data points.",
               "title": "Count",
               "type": "integer"
            },
            "sum": {
               "description": "The total of all data values.",
               "title": "Sum",
               "type": "number"
            },
            "sumSquares": {
               "description": "The total of all data values squared.",
               "title": "Sumsquares",
               "type": "number"
            },
            "min": {
               "description": "The smallest value in the variable.",
               "title": "Min",
               "type": "number"
            },
            "max": {
               "description": "The largest value in the variable.",
               "title": "Max",
               "type": "number"
            },
            "histogram": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/CenteredBinHistogram"
                  },
                  {
                     "$ref": "#/$defs/EdgeDefinedHistogram"
                  }
               ],
               "description": "Binned frequency distribution.",
               "title": "Histogram"
            }
         },
         "required": [
            "count",
            "sum",
            "sumSquares",
            "min",
            "max",
            "histogram"
         ],
         "title": "SummaryStatistics",
         "type": "object"
      },
      "TimeUnitEnum": {
         "description": "Enum class representing units of time.",
         "enum": [
            "ns",
            "\u00b5s",
            "ms",
            "s",
            "min",
            "h",
            "d"
         ],
         "title": "TimeUnitEnum",
         "type": "string"
      },
      "TimeUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of time.",
         "properties": {
            "time": {
               "allOf": [
                  {
                     "$ref": "#/$defs/TimeUnitEnum"
                  }
               ],
               "description": "Unit of time."
            }
         },
         "required": [
            "time"
         ],
         "title": "TimeUnitModel",
         "type": "object"
      },
      "VoltageUnitEnum": {
         "description": "Enum class representing units of voltage.",
         "enum": [
            "\u00b5V",
            "mV",
            "V"
         ],
         "title": "VoltageUnitEnum",
         "type": "string"
      },
      "VoltageUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of voltage.",
         "properties": {
            "voltage": {
               "allOf": [
                  {
                     "$ref": "#/$defs/VoltageUnitEnum"
                  }
               ],
               "description": "Unit of voltage."
            }
         },
         "required": [
            "voltage"
         ],
         "title": "VoltageUnitModel",
         "type": "object"
      }
   },
   "additionalProperties": false
}

field attributes: dict[str, Any] | None = None#

User defined attributes as key/value pairs.

field chunkGrid: RegularChunkGrid | RectilinearChunkGrid | None = None#

Chunk grid specification for the array.

field statsV1: SummaryStatistics | list[SummaryStatistics] | None = None#

Minimal summary statistics.

field unitsV1: LengthUnitModel | TimeUnitModel | AngleUnitModel | DensityUnitModel | SpeedUnitModel | FrequencyUnitModel | VoltageUnitModel | list[LengthUnitModel | TimeUnitModel | AngleUnitModel | DensityUnitModel | SpeedUnitModel | FrequencyUnitModel | VoltageUnitModel] | None = None#
Units
pydantic model mdio.schemas.v1.units.AllUnits#

All Units.

Show JSON schema
{
   "title": "AllUnits",
   "description": "All Units.",
   "type": "object",
   "properties": {
      "unitsV1": {
         "anyOf": [
            {
               "$ref": "#/$defs/LengthUnitModel"
            },
            {
               "$ref": "#/$defs/TimeUnitModel"
            },
            {
               "$ref": "#/$defs/AngleUnitModel"
            },
            {
               "$ref": "#/$defs/DensityUnitModel"
            },
            {
               "$ref": "#/$defs/SpeedUnitModel"
            },
            {
               "$ref": "#/$defs/FrequencyUnitModel"
            },
            {
               "$ref": "#/$defs/VoltageUnitModel"
            },
            {
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/LengthUnitModel"
                     },
                     {
                        "$ref": "#/$defs/TimeUnitModel"
                     },
                     {
                        "$ref": "#/$defs/AngleUnitModel"
                     },
                     {
                        "$ref": "#/$defs/DensityUnitModel"
                     },
                     {
                        "$ref": "#/$defs/SpeedUnitModel"
                     },
                     {
                        "$ref": "#/$defs/FrequencyUnitModel"
                     },
                     {
                        "$ref": "#/$defs/VoltageUnitModel"
                     }
                  ]
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Unitsv1"
      }
   },
   "$defs": {
      "AngleUnitEnum": {
         "description": "Enum class representing units of angle.",
         "enum": [
            "deg",
            "rad"
         ],
         "title": "AngleUnitEnum",
         "type": "string"
      },
      "AngleUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of angle.",
         "properties": {
            "angle": {
               "allOf": [
                  {
                     "$ref": "#/$defs/AngleUnitEnum"
                  }
               ],
               "description": "Unit of angle."
            }
         },
         "required": [
            "angle"
         ],
         "title": "AngleUnitModel",
         "type": "object"
      },
      "DensityUnitEnum": {
         "description": "Enum class representing units of density.",
         "enum": [
            "g/cm**3",
            "kg/m**3",
            "lb/gal"
         ],
         "title": "DensityUnitEnum",
         "type": "string"
      },
      "DensityUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of density.",
         "properties": {
            "density": {
               "allOf": [
                  {
                     "$ref": "#/$defs/DensityUnitEnum"
                  }
               ],
               "description": "Unit of density."
            }
         },
         "required": [
            "density"
         ],
         "title": "DensityUnitModel",
         "type": "object"
      },
      "FrequencyUnitEnum": {
         "const": "Hz",
         "description": "Enum class representing units of frequency.",
         "enum": [
            "Hz"
         ],
         "title": "FrequencyUnitEnum",
         "type": "string"
      },
      "FrequencyUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of frequency.",
         "properties": {
            "frequency": {
               "allOf": [
                  {
                     "$ref": "#/$defs/FrequencyUnitEnum"
                  }
               ],
               "description": "Unit of frequency."
            }
         },
         "required": [
            "frequency"
         ],
         "title": "FrequencyUnitModel",
         "type": "object"
      },
      "LengthUnitEnum": {
         "description": "Enum class representing metric units of length.",
         "enum": [
            "mm",
            "cm",
            "m",
            "km",
            "in",
            "ft",
            "yd",
            "mi"
         ],
         "title": "LengthUnitEnum",
         "type": "string"
      },
      "LengthUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of length.",
         "properties": {
            "length": {
               "allOf": [
                  {
                     "$ref": "#/$defs/LengthUnitEnum"
                  }
               ],
               "description": "Unit of length."
            }
         },
         "required": [
            "length"
         ],
         "title": "LengthUnitModel",
         "type": "object"
      },
      "SpeedUnitEnum": {
         "description": "Enum class representing units of speed.",
         "enum": [
            "m/s",
            "ft/s"
         ],
         "title": "SpeedUnitEnum",
         "type": "string"
      },
      "SpeedUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of speed.",
         "properties": {
            "speed": {
               "allOf": [
                  {
                     "$ref": "#/$defs/SpeedUnitEnum"
                  }
               ],
               "description": "Unit of speed."
            }
         },
         "required": [
            "speed"
         ],
         "title": "SpeedUnitModel",
         "type": "object"
      },
      "TimeUnitEnum": {
         "description": "Enum class representing units of time.",
         "enum": [
            "ns",
            "\u00b5s",
            "ms",
            "s",
            "min",
            "h",
            "d"
         ],
         "title": "TimeUnitEnum",
         "type": "string"
      },
      "TimeUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of time.",
         "properties": {
            "time": {
               "allOf": [
                  {
                     "$ref": "#/$defs/TimeUnitEnum"
                  }
               ],
               "description": "Unit of time."
            }
         },
         "required": [
            "time"
         ],
         "title": "TimeUnitModel",
         "type": "object"
      },
      "VoltageUnitEnum": {
         "description": "Enum class representing units of voltage.",
         "enum": [
            "\u00b5V",
            "mV",
            "V"
         ],
         "title": "VoltageUnitEnum",
         "type": "string"
      },
      "VoltageUnitModel": {
         "additionalProperties": false,
         "description": "Model representing units of voltage.",
         "properties": {
            "voltage": {
               "allOf": [
                  {
                     "$ref": "#/$defs/VoltageUnitEnum"
                  }
               ],
               "description": "Unit of voltage."
            }
         },
         "required": [
            "voltage"
         ],
         "title": "VoltageUnitModel",
         "type": "object"
      }
   },
   "additionalProperties": false
}

field unitsV1: AllUnitModel | list[AllUnitModel] | None = None#

Unit schemas specific to MDIO v1.

pydantic model mdio.schemas.v1.units.AngleUnitModel#

Model representing units of angle.

Show JSON schema
{
   "title": "AngleUnitModel",
   "description": "Model representing units of angle.",
   "type": "object",
   "properties": {
      "angle": {
         "allOf": [
            {
               "$ref": "#/$defs/AngleUnitEnum"
            }
         ],
         "description": "Unit of angle."
      }
   },
   "$defs": {
      "AngleUnitEnum": {
         "description": "Enum class representing units of angle.",
         "enum": [
            "deg",
            "rad"
         ],
         "title": "AngleUnitEnum",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "angle"
   ]
}

field angle: AngleUnitEnum [Required]#

Unit of angle.

pydantic model mdio.schemas.v1.units.DensityUnitModel#

Model representing units of density.

Show JSON schema
{
   "title": "DensityUnitModel",
   "description": "Model representing units of density.",
   "type": "object",
   "properties": {
      "density": {
         "allOf": [
            {
               "$ref": "#/$defs/DensityUnitEnum"
            }
         ],
         "description": "Unit of density."
      }
   },
   "$defs": {
      "DensityUnitEnum": {
         "description": "Enum class representing units of density.",
         "enum": [
            "g/cm**3",
            "kg/m**3",
            "lb/gal"
         ],
         "title": "DensityUnitEnum",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "density"
   ]
}

field density: DensityUnitEnum [Required]#

Unit of density.

pydantic model mdio.schemas.v1.units.FrequencyUnitModel#

Model representing units of frequency.

Show JSON schema
{
   "title": "FrequencyUnitModel",
   "description": "Model representing units of frequency.",
   "type": "object",
   "properties": {
      "frequency": {
         "allOf": [
            {
               "$ref": "#/$defs/FrequencyUnitEnum"
            }
         ],
         "description": "Unit of frequency."
      }
   },
   "$defs": {
      "FrequencyUnitEnum": {
         "const": "Hz",
         "description": "Enum class representing units of frequency.",
         "enum": [
            "Hz"
         ],
         "title": "FrequencyUnitEnum",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "frequency"
   ]
}

field frequency: FrequencyUnitEnum [Required]#

Unit of frequency.

pydantic model mdio.schemas.v1.units.LengthUnitModel#

Model representing units of length.

Show JSON schema
{
   "title": "LengthUnitModel",
   "description": "Model representing units of length.",
   "type": "object",
   "properties": {
      "length": {
         "allOf": [
            {
               "$ref": "#/$defs/LengthUnitEnum"
            }
         ],
         "description": "Unit of length."
      }
   },
   "$defs": {
      "LengthUnitEnum": {
         "description": "Enum class representing metric units of length.",
         "enum": [
            "mm",
            "cm",
            "m",
            "km",
            "in",
            "ft",
            "yd",
            "mi"
         ],
         "title": "LengthUnitEnum",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "length"
   ]
}

field length: LengthUnitEnum [Required]#

Unit of length.

pydantic model mdio.schemas.v1.units.SpeedUnitModel#

Model representing units of speed.

Show JSON schema
{
   "title": "SpeedUnitModel",
   "description": "Model representing units of speed.",
   "type": "object",
   "properties": {
      "speed": {
         "allOf": [
            {
               "$ref": "#/$defs/SpeedUnitEnum"
            }
         ],
         "description": "Unit of speed."
      }
   },
   "$defs": {
      "SpeedUnitEnum": {
         "description": "Enum class representing units of speed.",
         "enum": [
            "m/s",
            "ft/s"
         ],
         "title": "SpeedUnitEnum",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "speed"
   ]
}

field speed: SpeedUnitEnum [Required]#

Unit of speed.

pydantic model mdio.schemas.v1.units.TimeUnitModel#

Model representing units of time.

Show JSON schema
{
   "title": "TimeUnitModel",
   "description": "Model representing units of time.",
   "type": "object",
   "properties": {
      "time": {
         "allOf": [
            {
               "$ref": "#/$defs/TimeUnitEnum"
            }
         ],
         "description": "Unit of time."
      }
   },
   "$defs": {
      "TimeUnitEnum": {
         "description": "Enum class representing units of time.",
         "enum": [
            "ns",
            "\u00b5s",
            "ms",
            "s",
            "min",
            "h",
            "d"
         ],
         "title": "TimeUnitEnum",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "time"
   ]
}

field time: TimeUnitEnum [Required]#

Unit of time.

pydantic model mdio.schemas.v1.units.VoltageUnitModel#

Model representing units of voltage.

Show JSON schema
{
   "title": "VoltageUnitModel",
   "description": "Model representing units of voltage.",
   "type": "object",
   "properties": {
      "voltage": {
         "allOf": [
            {
               "$ref": "#/$defs/VoltageUnitEnum"
            }
         ],
         "description": "Unit of voltage."
      }
   },
   "$defs": {
      "VoltageUnitEnum": {
         "description": "Enum class representing units of voltage.",
         "enum": [
            "\u00b5V",
            "mV",
            "V"
         ],
         "title": "VoltageUnitEnum",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "voltage"
   ]
}

field voltage: VoltageUnitEnum [Required]#

Unit of voltage.

Stats
pydantic model mdio.schemas.v1.stats.StatisticsMetadata#

Data Model representing metadata for statistics.

Show JSON schema
{
   "title": "StatisticsMetadata",
   "description": "Data Model representing metadata for statistics.",
   "type": "object",
   "properties": {
      "statsV1": {
         "anyOf": [
            {
               "$ref": "#/$defs/SummaryStatistics"
            },
            {
               "items": {
                  "$ref": "#/$defs/SummaryStatistics"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Minimal summary statistics.",
         "title": "Statsv1"
      }
   },
   "$defs": {
      "CenteredBinHistogram": {
         "additionalProperties": false,
         "description": "Class representing a center bin histogram.",
         "properties": {
            "counts": {
               "description": "Count of each each bin.",
               "items": {
                  "type": "integer"
               },
               "title": "Counts",
               "type": "array"
            },
            "binCenters": {
               "description": "List of bin centers.",
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "integer"
                     }
                  ]
               },
               "title": "Bincenters",
               "type": "array"
            }
         },
         "required": [
            "counts",
            "binCenters"
         ],
         "title": "CenteredBinHistogram",
         "type": "object"
      },
      "EdgeDefinedHistogram": {
         "additionalProperties": false,
         "description": "A class representing an edge-defined histogram.",
         "properties": {
            "counts": {
               "description": "Count of each each bin.",
               "items": {
                  "type": "integer"
               },
               "title": "Counts",
               "type": "array"
            },
            "binEdges": {
               "description": "The left edges of the histogram bins.",
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "integer"
                     }
                  ]
               },
               "title": "Binedges",
               "type": "array"
            },
            "binWidths": {
               "description": "The widths of the histogram bins.",
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "integer"
                     }
                  ]
               },
               "title": "Binwidths",
               "type": "array"
            }
         },
         "required": [
            "counts",
            "binEdges",
            "binWidths"
         ],
         "title": "EdgeDefinedHistogram",
         "type": "object"
      },
      "SummaryStatistics": {
         "additionalProperties": false,
         "description": "Data model for some statistics in MDIO v1 arrays.",
         "properties": {
            "count": {
               "description": "The number of data points.",
               "title": "Count",
               "type": "integer"
            },
            "sum": {
               "description": "The total of all data values.",
               "title": "Sum",
               "type": "number"
            },
            "sumSquares": {
               "description": "The total of all data values squared.",
               "title": "Sumsquares",
               "type": "number"
            },
            "min": {
               "description": "The smallest value in the variable.",
               "title": "Min",
               "type": "number"
            },
            "max": {
               "description": "The largest value in the variable.",
               "title": "Max",
               "type": "number"
            },
            "histogram": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/CenteredBinHistogram"
                  },
                  {
                     "$ref": "#/$defs/EdgeDefinedHistogram"
                  }
               ],
               "description": "Binned frequency distribution.",
               "title": "Histogram"
            }
         },
         "required": [
            "count",
            "sum",
            "sumSquares",
            "min",
            "max",
            "histogram"
         ],
         "title": "SummaryStatistics",
         "type": "object"
      }
   },
   "additionalProperties": false
}

field statsV1: SummaryStatistics | list[SummaryStatistics] | None = None#

Minimal summary statistics.

pydantic model mdio.schemas.v1.stats.SummaryStatistics#

Data model for some statistics in MDIO v1 arrays.

Show JSON schema
{
   "title": "SummaryStatistics",
   "description": "Data model for some statistics in MDIO v1 arrays.",
   "type": "object",
   "properties": {
      "count": {
         "description": "The number of data points.",
         "title": "Count",
         "type": "integer"
      },
      "sum": {
         "description": "The total of all data values.",
         "title": "Sum",
         "type": "number"
      },
      "sumSquares": {
         "description": "The total of all data values squared.",
         "title": "Sumsquares",
         "type": "number"
      },
      "min": {
         "description": "The smallest value in the variable.",
         "title": "Min",
         "type": "number"
      },
      "max": {
         "description": "The largest value in the variable.",
         "title": "Max",
         "type": "number"
      },
      "histogram": {
         "anyOf": [
            {
               "$ref": "#/$defs/CenteredBinHistogram"
            },
            {
               "$ref": "#/$defs/EdgeDefinedHistogram"
            }
         ],
         "description": "Binned frequency distribution.",
         "title": "Histogram"
      }
   },
   "$defs": {
      "CenteredBinHistogram": {
         "additionalProperties": false,
         "description": "Class representing a center bin histogram.",
         "properties": {
            "counts": {
               "description": "Count of each each bin.",
               "items": {
                  "type": "integer"
               },
               "title": "Counts",
               "type": "array"
            },
            "binCenters": {
               "description": "List of bin centers.",
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "integer"
                     }
                  ]
               },
               "title": "Bincenters",
               "type": "array"
            }
         },
         "required": [
            "counts",
            "binCenters"
         ],
         "title": "CenteredBinHistogram",
         "type": "object"
      },
      "EdgeDefinedHistogram": {
         "additionalProperties": false,
         "description": "A class representing an edge-defined histogram.",
         "properties": {
            "counts": {
               "description": "Count of each each bin.",
               "items": {
                  "type": "integer"
               },
               "title": "Counts",
               "type": "array"
            },
            "binEdges": {
               "description": "The left edges of the histogram bins.",
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "integer"
                     }
                  ]
               },
               "title": "Binedges",
               "type": "array"
            },
            "binWidths": {
               "description": "The widths of the histogram bins.",
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "integer"
                     }
                  ]
               },
               "title": "Binwidths",
               "type": "array"
            }
         },
         "required": [
            "counts",
            "binEdges",
            "binWidths"
         ],
         "title": "EdgeDefinedHistogram",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "count",
      "sum",
      "sumSquares",
      "min",
      "max",
      "histogram"
   ]
}

field count: int [Required]#

The number of data points.

field histogram: Histogram [Required]#

Binned frequency distribution.

field max: float [Required]#

The largest value in the variable.

field min: float [Required]#

The smallest value in the variable.

field sum: float [Required]#

The total of all data values.

field sumSquares: float [Required]#

The total of all data values squared.

pydantic model mdio.schemas.v1.stats.EdgeDefinedHistogram#

A class representing an edge-defined histogram.

Show JSON schema
{
   "title": "EdgeDefinedHistogram",
   "description": "A class representing an edge-defined histogram.",
   "type": "object",
   "properties": {
      "counts": {
         "description": "Count of each each bin.",
         "items": {
            "type": "integer"
         },
         "title": "Counts",
         "type": "array"
      },
      "binEdges": {
         "description": "The left edges of the histogram bins.",
         "items": {
            "anyOf": [
               {
                  "type": "number"
               },
               {
                  "type": "integer"
               }
            ]
         },
         "title": "Binedges",
         "type": "array"
      },
      "binWidths": {
         "description": "The widths of the histogram bins.",
         "items": {
            "anyOf": [
               {
                  "type": "number"
               },
               {
                  "type": "integer"
               }
            ]
         },
         "title": "Binwidths",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "counts",
      "binEdges",
      "binWidths"
   ]
}

field binEdges: list[float | int] [Required]#

The left edges of the histogram bins.

field binWidths: list[float | int] [Required]#

The widths of the histogram bins.

field counts: list[int] [Required]#

Count of each each bin.

pydantic model mdio.schemas.v1.stats.CenteredBinHistogram#

Class representing a center bin histogram.

Show JSON schema
{
   "title": "CenteredBinHistogram",
   "description": "Class representing a center bin histogram.",
   "type": "object",
   "properties": {
      "counts": {
         "description": "Count of each each bin.",
         "items": {
            "type": "integer"
         },
         "title": "Counts",
         "type": "array"
      },
      "binCenters": {
         "description": "List of bin centers.",
         "items": {
            "anyOf": [
               {
                  "type": "number"
               },
               {
                  "type": "integer"
               }
            ]
         },
         "title": "Bincenters",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "counts",
      "binCenters"
   ]
}

field binCenters: list[float | int] [Required]#

List of bin centers.

field counts: list[int] [Required]#

Count of each each bin.

Enums
class mdio.schemas.v1.units.AngleUnitEnum#

Enum class representing units of angle.

DEGREES = 'deg'#
RADIANS = 'rad'#
class mdio.schemas.v1.units.DensityUnitEnum#

Enum class representing units of density.

GRAMS_PER_CC = 'g/cm**3'#
KILOGRAMS_PER_M3 = 'kg/m**3'#
POUNDS_PER_GAL = 'lb/gal'#
class mdio.schemas.v1.units.FrequencyUnitEnum#

Enum class representing units of frequency.

HERTZ = 'Hz'#
class mdio.schemas.v1.units.LengthUnitEnum#

Enum class representing metric units of length.

MILLIMETER = 'mm'#
CENTIMETER = 'cm'#
METER = 'm'#
KILOMETER = 'km'#
INCH = 'in'#
FOOT = 'ft'#
YARD = 'yd'#
MILE = 'mi'#
class mdio.schemas.v1.units.SpeedUnitEnum#

Enum class representing units of speed.

METER_PER_SECOND = 'm/s'#
FEET_PER_SECOND = 'ft/s'#
class mdio.schemas.v1.units.TimeUnitEnum#

Enum class representing units of time.

NANOSECOND = 'ns'#
MICROSECOND = 'µs'#
MILLISECOND = 'ms'#
SECOND = 's'#
MINUTE = 'min'#
HOUR = 'h'#
DAY = 'd'#
class mdio.schemas.v1.units.VoltageUnitEnum#

Enum class representing units of voltage.

MICROVOLT = 'µV'#
MILLIVOLT = 'mV'#
VOLT = 'V'#