Labware

While Labware is an entity, just like tools, robots, etc., it is broken out here due to it’s internal complexity.

Related TCode Commands: - CREATE_LABWARE - ADD_LABWARE - PICK_UP_LABWARE - PUT_DOWN_LABWARE

Data structures for describing labware entities in TCode.

pydantic model tcode_api.api.labware.ConicalBottomDescription

Description of a conical bottom well.

Show JSON schema
{
   "title": "ConicalBottomDescription",
   "description": "Description of a conical bottom well.",
   "type": "object",
   "properties": {
      "type": {
         "const": "Conical",
         "default": "Conical",
         "title": "Type",
         "type": "string"
      },
      "offset": {
         "$ref": "#/$defs/ValueWithUnits"
      }
   },
   "$defs": {
      "ValueWithUnits": {
         "description": "A numeric value with associated units.\n\n:note: The following values are all equivalent:\n\n    ``ValueWithUnits(magnitude=0.005, units=\"L\")``\n\n    ``ValueWithUnits(magnitude=5, units=\"mL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"uL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"mm\u00b3\")``\n\n:note: In the python implementation, ``pint`` is used to resolve units. see `tcode_api.units`.",
         "properties": {
            "type": {
               "const": "ValueWithUnits",
               "default": "ValueWithUnits",
               "title": "Type",
               "type": "string"
            },
            "magnitude": {
               "title": "Magnitude",
               "type": "number"
            },
            "units": {
               "title": "Units",
               "type": "string"
            }
         },
         "required": [
            "magnitude",
            "units"
         ],
         "title": "ValueWithUnits",
         "type": "object"
      }
   },
   "required": [
      "offset"
   ]
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field offset: ValueWithUnits [Required]
field type: Literal['Conical'] = 'Conical'
pydantic model tcode_api.api.labware.ConicalBottomDescriptor

ConicalBottomDescription with optional parameters.

Show JSON schema
{
   "title": "ConicalBottomDescriptor",
   "description": "ConicalBottomDescription with optional parameters.",
   "type": "object",
   "properties": {
      "type": {
         "const": "Conical",
         "default": "Conical",
         "title": "Type",
         "type": "string"
      },
      "offset": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "ValueWithUnits": {
         "description": "A numeric value with associated units.\n\n:note: The following values are all equivalent:\n\n    ``ValueWithUnits(magnitude=0.005, units=\"L\")``\n\n    ``ValueWithUnits(magnitude=5, units=\"mL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"uL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"mm\u00b3\")``\n\n:note: In the python implementation, ``pint`` is used to resolve units. see `tcode_api.units`.",
         "properties": {
            "type": {
               "const": "ValueWithUnits",
               "default": "ValueWithUnits",
               "title": "Type",
               "type": "string"
            },
            "magnitude": {
               "title": "Magnitude",
               "type": "number"
            },
            "units": {
               "title": "Units",
               "type": "string"
            }
         },
         "required": [
            "magnitude",
            "units"
         ],
         "title": "ValueWithUnits",
         "type": "object"
      }
   }
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field offset: ValueWithUnits | None = None
field type: Literal['Conical'] = 'Conical'
pydantic model tcode_api.api.labware.FlatBottomDescription

FlatBottomDescription with optional paramters.

Show JSON schema
{
   "title": "FlatBottomDescription",
   "description": "FlatBottomDescription with optional paramters.",
   "type": "object",
   "properties": {
      "type": {
         "const": "Flat",
         "default": "Flat",
         "title": "Type",
         "type": "string"
      }
   }
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:

pydantic model tcode_api.api.labware.FlatBottomDescriptor

Descriptor for a flat bottom well.

Show JSON schema
{
   "title": "FlatBottomDescriptor",
   "description": "Descriptor for a flat bottom well.",
   "type": "object",
   "properties": {
      "type": {
         "const": "Flat",
         "default": "Flat",
         "title": "Type",
         "type": "string"
      }
   }
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field type: Literal['Flat'] = 'Flat'
pydantic model tcode_api.api.labware.GridDescription

Description of a grid layout.

Show JSON schema
{
   "title": "GridDescription",
   "description": "Description of a grid layout.",
   "type": "object",
   "properties": {
      "type": {
         "const": "Grid",
         "default": "Grid",
         "title": "Type",
         "type": "string"
      },
      "row_count": {
         "title": "Row Count",
         "type": "integer"
      },
      "column_count": {
         "title": "Column Count",
         "type": "integer"
      },
      "row_pitch": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "column_pitch": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "row_offset": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "column_offset": {
         "$ref": "#/$defs/ValueWithUnits"
      }
   },
   "$defs": {
      "ValueWithUnits": {
         "description": "A numeric value with associated units.\n\n:note: The following values are all equivalent:\n\n    ``ValueWithUnits(magnitude=0.005, units=\"L\")``\n\n    ``ValueWithUnits(magnitude=5, units=\"mL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"uL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"mm\u00b3\")``\n\n:note: In the python implementation, ``pint`` is used to resolve units. see `tcode_api.units`.",
         "properties": {
            "type": {
               "const": "ValueWithUnits",
               "default": "ValueWithUnits",
               "title": "Type",
               "type": "string"
            },
            "magnitude": {
               "title": "Magnitude",
               "type": "number"
            },
            "units": {
               "title": "Units",
               "type": "string"
            }
         },
         "required": [
            "magnitude",
            "units"
         ],
         "title": "ValueWithUnits",
         "type": "object"
      }
   },
   "required": [
      "row_count",
      "column_count",
      "row_pitch",
      "column_pitch",
      "row_offset",
      "column_offset"
   ]
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field column_count: int [Required]
field column_offset: ValueWithUnits [Required]
field column_pitch: ValueWithUnits [Required]
field row_count: int [Required]
field row_offset: ValueWithUnits [Required]
field row_pitch: ValueWithUnits [Required]
field type: Literal['Grid'] = 'Grid'
pydantic model tcode_api.api.labware.GridDescriptor

GridDescription with optional parameters.

Show JSON schema
{
   "title": "GridDescriptor",
   "description": "GridDescription with optional parameters.",
   "type": "object",
   "properties": {
      "type": {
         "const": "Grid",
         "default": "Grid",
         "title": "Type",
         "type": "string"
      },
      "row_count": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Row Count"
      },
      "column_count": {
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Column Count"
      },
      "row_pitch": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "column_pitch": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "row_offset": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "column_offset": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "ValueWithUnits": {
         "description": "A numeric value with associated units.\n\n:note: The following values are all equivalent:\n\n    ``ValueWithUnits(magnitude=0.005, units=\"L\")``\n\n    ``ValueWithUnits(magnitude=5, units=\"mL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"uL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"mm\u00b3\")``\n\n:note: In the python implementation, ``pint`` is used to resolve units. see `tcode_api.units`.",
         "properties": {
            "type": {
               "const": "ValueWithUnits",
               "default": "ValueWithUnits",
               "title": "Type",
               "type": "string"
            },
            "magnitude": {
               "title": "Magnitude",
               "type": "number"
            },
            "units": {
               "title": "Units",
               "type": "string"
            }
         },
         "required": [
            "magnitude",
            "units"
         ],
         "title": "ValueWithUnits",
         "type": "object"
      }
   }
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field column_count: int | None = None
field column_offset: ValueWithUnits | None = None
field column_pitch: ValueWithUnits | None = None
field row_count: int | None = None
field row_offset: ValueWithUnits | None = None
field row_pitch: ValueWithUnits | None = None
field type: Literal['Grid'] = 'Grid'
pydantic model tcode_api.api.labware.LidDescription

Description of a plate lid.

Show JSON schema
{
   "title": "LidDescription",
   "description": "Description of a plate lid.",
   "type": "object",
   "properties": {
      "tags": {
         "items": {
            "type": "string"
         },
         "title": "Tags",
         "type": "array"
      },
      "named_tags": {
         "additionalProperties": {
            "anyOf": [
               {
                  "type": "string"
               },
               {
                  "type": "integer"
               },
               {
                  "type": "number"
               },
               {
                  "type": "boolean"
               }
            ]
         },
         "title": "Named Tags",
         "type": "object"
      },
      "x_length": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "y_length": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "z_length": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "type": {
         "const": "Lid",
         "default": "Lid",
         "title": "Type",
         "type": "string"
      },
      "stackable": {
         "title": "Stackable",
         "type": "boolean"
      }
   },
   "$defs": {
      "ValueWithUnits": {
         "description": "A numeric value with associated units.\n\n:note: The following values are all equivalent:\n\n    ``ValueWithUnits(magnitude=0.005, units=\"L\")``\n\n    ``ValueWithUnits(magnitude=5, units=\"mL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"uL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"mm\u00b3\")``\n\n:note: In the python implementation, ``pint`` is used to resolve units. see `tcode_api.units`.",
         "properties": {
            "type": {
               "const": "ValueWithUnits",
               "default": "ValueWithUnits",
               "title": "Type",
               "type": "string"
            },
            "magnitude": {
               "title": "Magnitude",
               "type": "number"
            },
            "units": {
               "title": "Units",
               "type": "string"
            }
         },
         "required": [
            "magnitude",
            "units"
         ],
         "title": "ValueWithUnits",
         "type": "object"
      }
   },
   "required": [
      "x_length",
      "y_length",
      "z_length",
      "stackable"
   ]
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field stackable: bool [Required]
field type: Literal['Lid'] = 'Lid'
pydantic model tcode_api.api.labware.LidDescriptor

LidDescription with optional parameters.

Show JSON schema
{
   "title": "LidDescriptor",
   "description": "LidDescription with optional parameters.",
   "type": "object",
   "properties": {
      "tags": {
         "items": {
            "type": "string"
         },
         "title": "Tags",
         "type": "array"
      },
      "named_tags": {
         "additionalProperties": {
            "anyOf": [
               {
                  "type": "string"
               },
               {
                  "type": "integer"
               },
               {
                  "type": "number"
               },
               {
                  "type": "boolean"
               }
            ]
         },
         "title": "Named Tags",
         "type": "object"
      },
      "x_length": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "y_length": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "z_length": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "type": {
         "const": "Lid",
         "default": "Lid",
         "title": "Type",
         "type": "string"
      },
      "stackable": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Stackable"
      }
   },
   "$defs": {
      "ValueWithUnits": {
         "description": "A numeric value with associated units.\n\n:note: The following values are all equivalent:\n\n    ``ValueWithUnits(magnitude=0.005, units=\"L\")``\n\n    ``ValueWithUnits(magnitude=5, units=\"mL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"uL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"mm\u00b3\")``\n\n:note: In the python implementation, ``pint`` is used to resolve units. see `tcode_api.units`.",
         "properties": {
            "type": {
               "const": "ValueWithUnits",
               "default": "ValueWithUnits",
               "title": "Type",
               "type": "string"
            },
            "magnitude": {
               "title": "Magnitude",
               "type": "number"
            },
            "units": {
               "title": "Units",
               "type": "string"
            }
         },
         "required": [
            "magnitude",
            "units"
         ],
         "title": "ValueWithUnits",
         "type": "object"
      }
   }
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field stackable: bool | None = None
field type: Literal['Lid'] = 'Lid'
pydantic model tcode_api.api.labware.PipetteTipBoxDescription

Description of a pipette tip box.

Show JSON schema
{
   "title": "PipetteTipBoxDescription",
   "description": "Description of a pipette tip box.",
   "type": "object",
   "properties": {
      "tags": {
         "items": {
            "type": "string"
         },
         "title": "Tags",
         "type": "array"
      },
      "named_tags": {
         "additionalProperties": {
            "anyOf": [
               {
                  "type": "string"
               },
               {
                  "type": "integer"
               },
               {
                  "type": "number"
               },
               {
                  "type": "boolean"
               }
            ]
         },
         "title": "Named Tags",
         "type": "object"
      },
      "x_length": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "y_length": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "z_length": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "type": {
         "const": "PipetteTipBox",
         "default": "PipetteTipBox",
         "title": "Type",
         "type": "string"
      },
      "grid": {
         "$ref": "#/$defs/GridDescription"
      },
      "full": {
         "title": "Full",
         "type": "boolean"
      },
      "pipette_tip": {
         "$ref": "#/$defs/PipetteTipDescription"
      }
   },
   "$defs": {
      "GridDescription": {
         "description": "Description of a grid layout.",
         "properties": {
            "type": {
               "const": "Grid",
               "default": "Grid",
               "title": "Type",
               "type": "string"
            },
            "row_count": {
               "title": "Row Count",
               "type": "integer"
            },
            "column_count": {
               "title": "Column Count",
               "type": "integer"
            },
            "row_pitch": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "column_pitch": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "row_offset": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "column_offset": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "row_count",
            "column_count",
            "row_pitch",
            "column_pitch",
            "row_offset",
            "column_offset"
         ],
         "title": "GridDescription",
         "type": "object"
      },
      "PipetteTipDescription": {
         "description": "Description of a pipette tip.",
         "properties": {
            "type": {
               "const": "PipetteTip",
               "default": "PipetteTip",
               "title": "Type",
               "type": "string"
            },
            "tags": {
               "items": {
                  "type": "string"
               },
               "title": "Tags",
               "type": "array"
            },
            "named_tags": {
               "additionalProperties": {
                  "anyOf": [
                     {
                        "type": "string"
                     },
                     {
                        "type": "integer"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "boolean"
                     }
                  ]
               },
               "title": "Named Tags",
               "type": "object"
            },
            "has_filter": {
               "title": "Has Filter",
               "type": "boolean"
            },
            "height": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "flange_height": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "max_volume": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "min_volume": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "has_filter",
            "height",
            "flange_height",
            "max_volume",
            "min_volume"
         ],
         "title": "PipetteTipDescription",
         "type": "object"
      },
      "ValueWithUnits": {
         "description": "A numeric value with associated units.\n\n:note: The following values are all equivalent:\n\n    ``ValueWithUnits(magnitude=0.005, units=\"L\")``\n\n    ``ValueWithUnits(magnitude=5, units=\"mL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"uL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"mm\u00b3\")``\n\n:note: In the python implementation, ``pint`` is used to resolve units. see `tcode_api.units`.",
         "properties": {
            "type": {
               "const": "ValueWithUnits",
               "default": "ValueWithUnits",
               "title": "Type",
               "type": "string"
            },
            "magnitude": {
               "title": "Magnitude",
               "type": "number"
            },
            "units": {
               "title": "Units",
               "type": "string"
            }
         },
         "required": [
            "magnitude",
            "units"
         ],
         "title": "ValueWithUnits",
         "type": "object"
      }
   },
   "required": [
      "x_length",
      "y_length",
      "z_length",
      "grid",
      "full",
      "pipette_tip"
   ]
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field full: bool [Required]
field grid: GridDescription [Required]
field pipette_tip: PipetteTipDescription [Required]
field type: Literal['PipetteTipBox'] = 'PipetteTipBox'
pydantic model tcode_api.api.labware.PipetteTipBoxDescriptor

PipetteTipBoxDescription with optional parameters.

Show JSON schema
{
   "title": "PipetteTipBoxDescriptor",
   "description": "PipetteTipBoxDescription with optional parameters.",
   "type": "object",
   "properties": {
      "tags": {
         "items": {
            "type": "string"
         },
         "title": "Tags",
         "type": "array"
      },
      "named_tags": {
         "additionalProperties": {
            "anyOf": [
               {
                  "type": "string"
               },
               {
                  "type": "integer"
               },
               {
                  "type": "number"
               },
               {
                  "type": "boolean"
               }
            ]
         },
         "title": "Named Tags",
         "type": "object"
      },
      "x_length": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "y_length": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "z_length": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "type": {
         "const": "PipetteTipBox",
         "default": "PipetteTipBox",
         "title": "Type",
         "type": "string"
      },
      "grid": {
         "anyOf": [
            {
               "$ref": "#/$defs/GridDescriptor"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "full": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Full"
      },
      "pipette_tip": {
         "anyOf": [
            {
               "$ref": "#/$defs/PipetteTipDescriptor"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "GridDescriptor": {
         "description": "GridDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "Grid",
               "default": "Grid",
               "title": "Type",
               "type": "string"
            },
            "row_count": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Row Count"
            },
            "column_count": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Column Count"
            },
            "row_pitch": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "column_pitch": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "row_offset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "column_offset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "GridDescriptor",
         "type": "object"
      },
      "PipetteTipDescriptor": {
         "description": "PipetteTipDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "PipetteTip",
               "default": "PipetteTip",
               "title": "Type",
               "type": "string"
            },
            "tags": {
               "items": {
                  "type": "string"
               },
               "title": "Tags",
               "type": "array"
            },
            "named_tags": {
               "additionalProperties": {
                  "anyOf": [
                     {
                        "type": "string"
                     },
                     {
                        "type": "integer"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "boolean"
                     }
                  ]
               },
               "title": "Named Tags",
               "type": "object"
            },
            "has_filter": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Has Filter"
            },
            "height": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "flange_height": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "max_volume": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "min_volume": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "PipetteTipDescriptor",
         "type": "object"
      },
      "ValueWithUnits": {
         "description": "A numeric value with associated units.\n\n:note: The following values are all equivalent:\n\n    ``ValueWithUnits(magnitude=0.005, units=\"L\")``\n\n    ``ValueWithUnits(magnitude=5, units=\"mL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"uL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"mm\u00b3\")``\n\n:note: In the python implementation, ``pint`` is used to resolve units. see `tcode_api.units`.",
         "properties": {
            "type": {
               "const": "ValueWithUnits",
               "default": "ValueWithUnits",
               "title": "Type",
               "type": "string"
            },
            "magnitude": {
               "title": "Magnitude",
               "type": "number"
            },
            "units": {
               "title": "Units",
               "type": "string"
            }
         },
         "required": [
            "magnitude",
            "units"
         ],
         "title": "ValueWithUnits",
         "type": "object"
      }
   }
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field full: bool | None = None
field grid: GridDescriptor | None = None
field pipette_tip: PipetteTipDescriptor | None = None
field type: Literal['PipetteTipBox'] = 'PipetteTipBox'
pydantic model tcode_api.api.labware.PipetteTipDescription

Description of a pipette tip.

Show JSON schema
{
   "title": "PipetteTipDescription",
   "description": "Description of a pipette tip.",
   "type": "object",
   "properties": {
      "type": {
         "const": "PipetteTip",
         "default": "PipetteTip",
         "title": "Type",
         "type": "string"
      },
      "tags": {
         "items": {
            "type": "string"
         },
         "title": "Tags",
         "type": "array"
      },
      "named_tags": {
         "additionalProperties": {
            "anyOf": [
               {
                  "type": "string"
               },
               {
                  "type": "integer"
               },
               {
                  "type": "number"
               },
               {
                  "type": "boolean"
               }
            ]
         },
         "title": "Named Tags",
         "type": "object"
      },
      "has_filter": {
         "title": "Has Filter",
         "type": "boolean"
      },
      "height": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "flange_height": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "max_volume": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "min_volume": {
         "$ref": "#/$defs/ValueWithUnits"
      }
   },
   "$defs": {
      "ValueWithUnits": {
         "description": "A numeric value with associated units.\n\n:note: The following values are all equivalent:\n\n    ``ValueWithUnits(magnitude=0.005, units=\"L\")``\n\n    ``ValueWithUnits(magnitude=5, units=\"mL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"uL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"mm\u00b3\")``\n\n:note: In the python implementation, ``pint`` is used to resolve units. see `tcode_api.units`.",
         "properties": {
            "type": {
               "const": "ValueWithUnits",
               "default": "ValueWithUnits",
               "title": "Type",
               "type": "string"
            },
            "magnitude": {
               "title": "Magnitude",
               "type": "number"
            },
            "units": {
               "title": "Units",
               "type": "string"
            }
         },
         "required": [
            "magnitude",
            "units"
         ],
         "title": "ValueWithUnits",
         "type": "object"
      }
   },
   "required": [
      "has_filter",
      "height",
      "flange_height",
      "max_volume",
      "min_volume"
   ]
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field flange_height: ValueWithUnits [Required]
field has_filter: bool [Required]
field height: ValueWithUnits [Required]
field max_volume: ValueWithUnits [Required]
field min_volume: ValueWithUnits [Required]
field named_tags: dict[str, str | int | float | bool] [Optional]
field tags: list[str] [Optional]
field type: Literal['PipetteTip'] = 'PipetteTip'
pydantic model tcode_api.api.labware.PipetteTipDescriptor

PipetteTipDescription with optional parameters.

Show JSON schema
{
   "title": "PipetteTipDescriptor",
   "description": "PipetteTipDescription with optional parameters.",
   "type": "object",
   "properties": {
      "type": {
         "const": "PipetteTip",
         "default": "PipetteTip",
         "title": "Type",
         "type": "string"
      },
      "tags": {
         "items": {
            "type": "string"
         },
         "title": "Tags",
         "type": "array"
      },
      "named_tags": {
         "additionalProperties": {
            "anyOf": [
               {
                  "type": "string"
               },
               {
                  "type": "integer"
               },
               {
                  "type": "number"
               },
               {
                  "type": "boolean"
               }
            ]
         },
         "title": "Named Tags",
         "type": "object"
      },
      "has_filter": {
         "anyOf": [
            {
               "type": "boolean"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Has Filter"
      },
      "height": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "flange_height": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "max_volume": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "min_volume": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "ValueWithUnits": {
         "description": "A numeric value with associated units.\n\n:note: The following values are all equivalent:\n\n    ``ValueWithUnits(magnitude=0.005, units=\"L\")``\n\n    ``ValueWithUnits(magnitude=5, units=\"mL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"uL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"mm\u00b3\")``\n\n:note: In the python implementation, ``pint`` is used to resolve units. see `tcode_api.units`.",
         "properties": {
            "type": {
               "const": "ValueWithUnits",
               "default": "ValueWithUnits",
               "title": "Type",
               "type": "string"
            },
            "magnitude": {
               "title": "Magnitude",
               "type": "number"
            },
            "units": {
               "title": "Units",
               "type": "string"
            }
         },
         "required": [
            "magnitude",
            "units"
         ],
         "title": "ValueWithUnits",
         "type": "object"
      }
   }
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field flange_height: ValueWithUnits | None = None
field has_filter: bool | None = None
field height: ValueWithUnits | None = None
field max_volume: ValueWithUnits | None = None
field min_volume: ValueWithUnits | None = None
field named_tags: dict[str, str | int | float | bool] [Optional]
field tags: list[str] [Optional]
field type: Literal['PipetteTip'] = 'PipetteTip'
pydantic model tcode_api.api.labware.PipetteTipGroupDescriptor

PipetteTipGroupDescription with optional parameters.

Show JSON schema
{
   "title": "PipetteTipGroupDescriptor",
   "description": "PipetteTipGroupDescription with optional parameters.",
   "type": "object",
   "properties": {
      "type": {
         "const": "PipetteTipGroup",
         "default": "PipetteTipGroup",
         "title": "Type",
         "type": "string"
      },
      "row_count": {
         "title": "Row Count",
         "type": "integer"
      },
      "column_count": {
         "title": "Column Count",
         "type": "integer"
      },
      "pipette_tip_tags": {
         "items": {
            "type": "string"
         },
         "title": "Pipette Tip Tags",
         "type": "array"
      },
      "pipette_tip_named_tags": {
         "additionalProperties": {
            "anyOf": [
               {
                  "type": "string"
               },
               {
                  "type": "integer"
               },
               {
                  "type": "number"
               },
               {
                  "type": "boolean"
               }
            ]
         },
         "title": "Pipette Tip Named Tags",
         "type": "object"
      }
   },
   "required": [
      "row_count",
      "column_count"
   ]
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field column_count: Annotated[int] [Required]
field pipette_tip_named_tags: dict[str, str | int | float | bool] [Optional]
field pipette_tip_tags: list[str] [Optional]
field row_count: Annotated[int] [Required]
field type: Literal['PipetteTipGroup'] = 'PipetteTipGroup'
pydantic model tcode_api.api.labware.RoundBottomDescription

Descriptor for a round bottom well.

Show JSON schema
{
   "title": "RoundBottomDescription",
   "description": "Descriptor for a round bottom well.",
   "type": "object",
   "properties": {
      "type": {
         "const": "Round",
         "default": "Round",
         "title": "Type",
         "type": "string"
      }
   }
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field type: Literal['Round'] = 'Round'
pydantic model tcode_api.api.labware.RoundBottomDescriptor

RoundBottomDescription with optional parameters.

Show JSON schema
{
   "title": "RoundBottomDescriptor",
   "description": "RoundBottomDescription with optional parameters.",
   "type": "object",
   "properties": {
      "type": {
         "const": "Round",
         "default": "Round",
         "title": "Type",
         "type": "string"
      }
   }
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field type: Literal['Round'] = 'Round'
pydantic model tcode_api.api.labware.TrashDescription

Description of a waste disposal container.

Show JSON schema
{
   "title": "TrashDescription",
   "description": "Description of a waste disposal container.",
   "type": "object",
   "properties": {
      "tags": {
         "items": {
            "type": "string"
         },
         "title": "Tags",
         "type": "array"
      },
      "named_tags": {
         "additionalProperties": {
            "anyOf": [
               {
                  "type": "string"
               },
               {
                  "type": "integer"
               },
               {
                  "type": "number"
               },
               {
                  "type": "boolean"
               }
            ]
         },
         "title": "Named Tags",
         "type": "object"
      },
      "x_length": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "y_length": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "z_length": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "type": {
         "const": "Trash",
         "default": "Trash",
         "title": "Type",
         "type": "string"
      },
      "well": {
         "$ref": "#/$defs/WellDescription"
      }
   },
   "$defs": {
      "AxisAlignedRectangleDescription": {
         "description": "Description of an axis-aligned rectangle.\n\n:note: X and Y lengths are measured in the coordinate system of the parent labware,\n    to avoid ambiguity when referring to the \"length\" or \"width\" of a rectangle.",
         "properties": {
            "type": {
               "const": "AxisAlignedRectangle",
               "default": "AxisAlignedRectangle",
               "title": "Type",
               "type": "string"
            },
            "x_length": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "y_length": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "x_length",
            "y_length"
         ],
         "title": "AxisAlignedRectangleDescription",
         "type": "object"
      },
      "CircleDescription": {
         "description": "Description of a circle.",
         "properties": {
            "type": {
               "const": "Circle",
               "default": "Circle",
               "title": "Type",
               "type": "string"
            },
            "diameter": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "diameter"
         ],
         "title": "CircleDescription",
         "type": "object"
      },
      "ConicalBottomDescription": {
         "description": "Description of a conical bottom well.",
         "properties": {
            "type": {
               "const": "Conical",
               "default": "Conical",
               "title": "Type",
               "type": "string"
            },
            "offset": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "offset"
         ],
         "title": "ConicalBottomDescription",
         "type": "object"
      },
      "FlatBottomDescription": {
         "description": "FlatBottomDescription with optional paramters.",
         "properties": {
            "type": {
               "const": "Flat",
               "default": "Flat",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FlatBottomDescription",
         "type": "object"
      },
      "RoundBottomDescription": {
         "description": "Descriptor for a round bottom well.",
         "properties": {
            "type": {
               "const": "Round",
               "default": "Round",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "RoundBottomDescription",
         "type": "object"
      },
      "VBottomDescription": {
         "description": "Description of a V-bottom well (think trough).",
         "properties": {
            "type": {
               "const": "V-Shape",
               "default": "V-Shape",
               "title": "Type",
               "type": "string"
            },
            "direction": {
               "enum": [
                  "x-axis",
                  "y-axis"
               ],
               "title": "Direction",
               "type": "string"
            },
            "offset": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "direction",
            "offset"
         ],
         "title": "VBottomDescription",
         "type": "object"
      },
      "ValueWithUnits": {
         "description": "A numeric value with associated units.\n\n:note: The following values are all equivalent:\n\n    ``ValueWithUnits(magnitude=0.005, units=\"L\")``\n\n    ``ValueWithUnits(magnitude=5, units=\"mL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"uL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"mm\u00b3\")``\n\n:note: In the python implementation, ``pint`` is used to resolve units. see `tcode_api.units`.",
         "properties": {
            "type": {
               "const": "ValueWithUnits",
               "default": "ValueWithUnits",
               "title": "Type",
               "type": "string"
            },
            "magnitude": {
               "title": "Magnitude",
               "type": "number"
            },
            "units": {
               "title": "Units",
               "type": "string"
            }
         },
         "required": [
            "magnitude",
            "units"
         ],
         "title": "ValueWithUnits",
         "type": "object"
      },
      "WellDescription": {
         "description": "Description of a well in a labware.",
         "properties": {
            "type": {
               "const": "Well",
               "default": "Well",
               "title": "Type",
               "type": "string"
            },
            "depth": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "shape": {
               "discriminator": {
                  "mapping": {
                     "AxisAlignedRectangle": "#/$defs/AxisAlignedRectangleDescription",
                     "Circle": "#/$defs/CircleDescription"
                  },
                  "propertyName": "type"
               },
               "oneOf": [
                  {
                     "$ref": "#/$defs/CircleDescription"
                  },
                  {
                     "$ref": "#/$defs/AxisAlignedRectangleDescription"
                  }
               ],
               "title": "Shape"
            },
            "bottom_shape": {
               "discriminator": {
                  "mapping": {
                     "Conical": "#/$defs/ConicalBottomDescription",
                     "Flat": "#/$defs/FlatBottomDescription",
                     "Round": "#/$defs/RoundBottomDescription",
                     "V-Shape": "#/$defs/VBottomDescription"
                  },
                  "propertyName": "type"
               },
               "oneOf": [
                  {
                     "$ref": "#/$defs/ConicalBottomDescription"
                  },
                  {
                     "$ref": "#/$defs/FlatBottomDescription"
                  },
                  {
                     "$ref": "#/$defs/RoundBottomDescription"
                  },
                  {
                     "$ref": "#/$defs/VBottomDescription"
                  }
               ],
               "title": "Bottom Shape"
            },
            "min_volume": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "max_volume": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "well_tags": {
               "items": {
                  "type": "string"
               },
               "title": "Well Tags",
               "type": "array"
            },
            "well_named_tags": {
               "additionalProperties": {
                  "anyOf": [
                     {
                        "type": "string"
                     },
                     {
                        "type": "integer"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "boolean"
                     }
                  ]
               },
               "title": "Well Named Tags",
               "type": "object"
            }
         },
         "required": [
            "depth",
            "shape",
            "bottom_shape",
            "min_volume",
            "max_volume"
         ],
         "title": "WellDescription",
         "type": "object"
      }
   },
   "required": [
      "x_length",
      "y_length",
      "z_length",
      "well"
   ]
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field type: Literal['Trash'] = 'Trash'
field well: WellDescription [Required]
pydantic model tcode_api.api.labware.TrashDescriptor

TrashDescription with optional parameters.

Show JSON schema
{
   "title": "TrashDescriptor",
   "description": "TrashDescription with optional parameters.",
   "type": "object",
   "properties": {
      "tags": {
         "items": {
            "type": "string"
         },
         "title": "Tags",
         "type": "array"
      },
      "named_tags": {
         "additionalProperties": {
            "anyOf": [
               {
                  "type": "string"
               },
               {
                  "type": "integer"
               },
               {
                  "type": "number"
               },
               {
                  "type": "boolean"
               }
            ]
         },
         "title": "Named Tags",
         "type": "object"
      },
      "x_length": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "y_length": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "z_length": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "type": {
         "const": "Trash",
         "default": "Trash",
         "title": "Type",
         "type": "string"
      },
      "well": {
         "anyOf": [
            {
               "$ref": "#/$defs/WellDescriptor"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "AxisAlignedRectangleDescriptor": {
         "description": "AxisAlignedRectangleDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "AxisAlignedRectangle",
               "default": "AxisAlignedRectangle",
               "title": "Type",
               "type": "string"
            },
            "x_length": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "y_length": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "AxisAlignedRectangleDescriptor",
         "type": "object"
      },
      "CircleDescriptor": {
         "description": "CircleDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "Circle",
               "default": "Circle",
               "title": "Type",
               "type": "string"
            },
            "diameter": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "CircleDescriptor",
         "type": "object"
      },
      "ConicalBottomDescriptor": {
         "description": "ConicalBottomDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "Conical",
               "default": "Conical",
               "title": "Type",
               "type": "string"
            },
            "offset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "ConicalBottomDescriptor",
         "type": "object"
      },
      "FlatBottomDescriptor": {
         "description": "Descriptor for a flat bottom well.",
         "properties": {
            "type": {
               "const": "Flat",
               "default": "Flat",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FlatBottomDescriptor",
         "type": "object"
      },
      "RoundBottomDescriptor": {
         "description": "RoundBottomDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "Round",
               "default": "Round",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "RoundBottomDescriptor",
         "type": "object"
      },
      "VBottomDescriptor": {
         "description": "VBottomDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "V-Shape",
               "default": "V-Shape",
               "title": "Type",
               "type": "string"
            },
            "direction": {
               "anyOf": [
                  {
                     "enum": [
                        "x-axis",
                        "y-axis"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Direction"
            },
            "offset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "VBottomDescriptor",
         "type": "object"
      },
      "ValueWithUnits": {
         "description": "A numeric value with associated units.\n\n:note: The following values are all equivalent:\n\n    ``ValueWithUnits(magnitude=0.005, units=\"L\")``\n\n    ``ValueWithUnits(magnitude=5, units=\"mL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"uL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"mm\u00b3\")``\n\n:note: In the python implementation, ``pint`` is used to resolve units. see `tcode_api.units`.",
         "properties": {
            "type": {
               "const": "ValueWithUnits",
               "default": "ValueWithUnits",
               "title": "Type",
               "type": "string"
            },
            "magnitude": {
               "title": "Magnitude",
               "type": "number"
            },
            "units": {
               "title": "Units",
               "type": "string"
            }
         },
         "required": [
            "magnitude",
            "units"
         ],
         "title": "ValueWithUnits",
         "type": "object"
      },
      "WellDescriptor": {
         "description": "WellDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "Well",
               "default": "Well",
               "title": "Type",
               "type": "string"
            },
            "depth": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "shape": {
               "anyOf": [
                  {
                     "discriminator": {
                        "mapping": {
                           "AxisAlignedRectangle": "#/$defs/AxisAlignedRectangleDescriptor",
                           "Circle": "#/$defs/CircleDescriptor"
                        },
                        "propertyName": "type"
                     },
                     "oneOf": [
                        {
                           "$ref": "#/$defs/CircleDescriptor"
                        },
                        {
                           "$ref": "#/$defs/AxisAlignedRectangleDescriptor"
                        }
                     ]
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Shape"
            },
            "bottom_shape": {
               "anyOf": [
                  {
                     "discriminator": {
                        "mapping": {
                           "Conical": "#/$defs/ConicalBottomDescriptor",
                           "Flat": "#/$defs/FlatBottomDescriptor",
                           "Round": "#/$defs/RoundBottomDescriptor",
                           "V-Shape": "#/$defs/VBottomDescriptor"
                        },
                        "propertyName": "type"
                     },
                     "oneOf": [
                        {
                           "$ref": "#/$defs/ConicalBottomDescriptor"
                        },
                        {
                           "$ref": "#/$defs/FlatBottomDescriptor"
                        },
                        {
                           "$ref": "#/$defs/RoundBottomDescriptor"
                        },
                        {
                           "$ref": "#/$defs/VBottomDescriptor"
                        }
                     ]
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Bottom Shape"
            },
            "min_volume": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "max_volume": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "WellDescriptor",
         "type": "object"
      }
   }
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field type: Literal['Trash'] = 'Trash'
field well: WellDescriptor | None = None
pydantic model tcode_api.api.labware.TubeDescription

Description of a tube.

Show JSON schema
{
   "title": "TubeDescription",
   "description": "Description of a tube.",
   "type": "object",
   "properties": {
      "type": {
         "const": "Tube",
         "default": "Tube",
         "title": "Type",
         "type": "string"
      },
      "tags": {
         "items": {
            "type": "string"
         },
         "title": "Tags",
         "type": "array"
      },
      "named_tags": {
         "additionalProperties": {
            "anyOf": [
               {
                  "type": "string"
               },
               {
                  "type": "integer"
               },
               {
                  "type": "number"
               },
               {
                  "type": "boolean"
               }
            ]
         },
         "title": "Named Tags",
         "type": "object"
      },
      "depth": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "shape": {
         "discriminator": {
            "mapping": {
               "AxisAlignedRectangle": "#/$defs/AxisAlignedRectangleDescription",
               "Circle": "#/$defs/CircleDescription"
            },
            "propertyName": "type"
         },
         "oneOf": [
            {
               "$ref": "#/$defs/CircleDescription"
            },
            {
               "$ref": "#/$defs/AxisAlignedRectangleDescription"
            }
         ],
         "title": "Shape"
      },
      "bottom_shape": {
         "discriminator": {
            "mapping": {
               "Conical": "#/$defs/ConicalBottomDescription",
               "Flat": "#/$defs/FlatBottomDescription",
               "Round": "#/$defs/RoundBottomDescription",
               "V-Shape": "#/$defs/VBottomDescription"
            },
            "propertyName": "type"
         },
         "oneOf": [
            {
               "$ref": "#/$defs/ConicalBottomDescription"
            },
            {
               "$ref": "#/$defs/FlatBottomDescription"
            },
            {
               "$ref": "#/$defs/RoundBottomDescription"
            },
            {
               "$ref": "#/$defs/VBottomDescription"
            }
         ],
         "title": "Bottom Shape"
      },
      "min_volume": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "max_volume": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "top_height": {
         "$ref": "#/$defs/ValueWithUnits"
      }
   },
   "$defs": {
      "AxisAlignedRectangleDescription": {
         "description": "Description of an axis-aligned rectangle.\n\n:note: X and Y lengths are measured in the coordinate system of the parent labware,\n    to avoid ambiguity when referring to the \"length\" or \"width\" of a rectangle.",
         "properties": {
            "type": {
               "const": "AxisAlignedRectangle",
               "default": "AxisAlignedRectangle",
               "title": "Type",
               "type": "string"
            },
            "x_length": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "y_length": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "x_length",
            "y_length"
         ],
         "title": "AxisAlignedRectangleDescription",
         "type": "object"
      },
      "CircleDescription": {
         "description": "Description of a circle.",
         "properties": {
            "type": {
               "const": "Circle",
               "default": "Circle",
               "title": "Type",
               "type": "string"
            },
            "diameter": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "diameter"
         ],
         "title": "CircleDescription",
         "type": "object"
      },
      "ConicalBottomDescription": {
         "description": "Description of a conical bottom well.",
         "properties": {
            "type": {
               "const": "Conical",
               "default": "Conical",
               "title": "Type",
               "type": "string"
            },
            "offset": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "offset"
         ],
         "title": "ConicalBottomDescription",
         "type": "object"
      },
      "FlatBottomDescription": {
         "description": "FlatBottomDescription with optional paramters.",
         "properties": {
            "type": {
               "const": "Flat",
               "default": "Flat",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FlatBottomDescription",
         "type": "object"
      },
      "RoundBottomDescription": {
         "description": "Descriptor for a round bottom well.",
         "properties": {
            "type": {
               "const": "Round",
               "default": "Round",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "RoundBottomDescription",
         "type": "object"
      },
      "VBottomDescription": {
         "description": "Description of a V-bottom well (think trough).",
         "properties": {
            "type": {
               "const": "V-Shape",
               "default": "V-Shape",
               "title": "Type",
               "type": "string"
            },
            "direction": {
               "enum": [
                  "x-axis",
                  "y-axis"
               ],
               "title": "Direction",
               "type": "string"
            },
            "offset": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "direction",
            "offset"
         ],
         "title": "VBottomDescription",
         "type": "object"
      },
      "ValueWithUnits": {
         "description": "A numeric value with associated units.\n\n:note: The following values are all equivalent:\n\n    ``ValueWithUnits(magnitude=0.005, units=\"L\")``\n\n    ``ValueWithUnits(magnitude=5, units=\"mL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"uL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"mm\u00b3\")``\n\n:note: In the python implementation, ``pint`` is used to resolve units. see `tcode_api.units`.",
         "properties": {
            "type": {
               "const": "ValueWithUnits",
               "default": "ValueWithUnits",
               "title": "Type",
               "type": "string"
            },
            "magnitude": {
               "title": "Magnitude",
               "type": "number"
            },
            "units": {
               "title": "Units",
               "type": "string"
            }
         },
         "required": [
            "magnitude",
            "units"
         ],
         "title": "ValueWithUnits",
         "type": "object"
      }
   },
   "required": [
      "depth",
      "shape",
      "bottom_shape",
      "min_volume",
      "max_volume",
      "top_height"
   ]
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field bottom_shape: Annotated[ConicalBottomDescription | FlatBottomDescription | RoundBottomDescription | VBottomDescription] [Required]
field depth: ValueWithUnits [Required]
field max_volume: ValueWithUnits [Required]
field min_volume: ValueWithUnits [Required]
field named_tags: dict[str, str | int | float | bool] [Optional]
field shape: Annotated[CircleDescription | AxisAlignedRectangleDescription] [Required]
field tags: list[str] [Optional]
field top_height: ValueWithUnits [Required]
field type: Literal['Tube'] = 'Tube'
pydantic model tcode_api.api.labware.TubeDescriptor

TubeDescription with optional parameters.

Show JSON schema
{
   "title": "TubeDescriptor",
   "description": "TubeDescription with optional parameters.",
   "type": "object",
   "properties": {
      "type": {
         "const": "Tube",
         "default": "Tube",
         "title": "Type",
         "type": "string"
      },
      "tags": {
         "items": {
            "type": "string"
         },
         "title": "Tags",
         "type": "array"
      },
      "named_tags": {
         "additionalProperties": {
            "anyOf": [
               {
                  "type": "string"
               },
               {
                  "type": "integer"
               },
               {
                  "type": "number"
               },
               {
                  "type": "boolean"
               }
            ]
         },
         "title": "Named Tags",
         "type": "object"
      },
      "depth": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "shape": {
         "anyOf": [
            {
               "discriminator": {
                  "mapping": {
                     "AxisAlignedRectangle": "#/$defs/AxisAlignedRectangleDescriptor",
                     "Circle": "#/$defs/CircleDescriptor"
                  },
                  "propertyName": "type"
               },
               "oneOf": [
                  {
                     "$ref": "#/$defs/CircleDescriptor"
                  },
                  {
                     "$ref": "#/$defs/AxisAlignedRectangleDescriptor"
                  }
               ]
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Shape"
      },
      "bottom_shape": {
         "anyOf": [
            {
               "discriminator": {
                  "mapping": {
                     "Conical": "#/$defs/ConicalBottomDescriptor",
                     "Flat": "#/$defs/FlatBottomDescriptor",
                     "Round": "#/$defs/RoundBottomDescriptor",
                     "V-Shape": "#/$defs/VBottomDescriptor"
                  },
                  "propertyName": "type"
               },
               "oneOf": [
                  {
                     "$ref": "#/$defs/ConicalBottomDescriptor"
                  },
                  {
                     "$ref": "#/$defs/FlatBottomDescriptor"
                  },
                  {
                     "$ref": "#/$defs/RoundBottomDescriptor"
                  },
                  {
                     "$ref": "#/$defs/VBottomDescriptor"
                  }
               ]
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Bottom Shape"
      },
      "min_volume": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "max_volume": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "top_height": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "AxisAlignedRectangleDescriptor": {
         "description": "AxisAlignedRectangleDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "AxisAlignedRectangle",
               "default": "AxisAlignedRectangle",
               "title": "Type",
               "type": "string"
            },
            "x_length": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "y_length": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "AxisAlignedRectangleDescriptor",
         "type": "object"
      },
      "CircleDescriptor": {
         "description": "CircleDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "Circle",
               "default": "Circle",
               "title": "Type",
               "type": "string"
            },
            "diameter": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "CircleDescriptor",
         "type": "object"
      },
      "ConicalBottomDescriptor": {
         "description": "ConicalBottomDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "Conical",
               "default": "Conical",
               "title": "Type",
               "type": "string"
            },
            "offset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "ConicalBottomDescriptor",
         "type": "object"
      },
      "FlatBottomDescriptor": {
         "description": "Descriptor for a flat bottom well.",
         "properties": {
            "type": {
               "const": "Flat",
               "default": "Flat",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FlatBottomDescriptor",
         "type": "object"
      },
      "RoundBottomDescriptor": {
         "description": "RoundBottomDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "Round",
               "default": "Round",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "RoundBottomDescriptor",
         "type": "object"
      },
      "VBottomDescriptor": {
         "description": "VBottomDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "V-Shape",
               "default": "V-Shape",
               "title": "Type",
               "type": "string"
            },
            "direction": {
               "anyOf": [
                  {
                     "enum": [
                        "x-axis",
                        "y-axis"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Direction"
            },
            "offset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "VBottomDescriptor",
         "type": "object"
      },
      "ValueWithUnits": {
         "description": "A numeric value with associated units.\n\n:note: The following values are all equivalent:\n\n    ``ValueWithUnits(magnitude=0.005, units=\"L\")``\n\n    ``ValueWithUnits(magnitude=5, units=\"mL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"uL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"mm\u00b3\")``\n\n:note: In the python implementation, ``pint`` is used to resolve units. see `tcode_api.units`.",
         "properties": {
            "type": {
               "const": "ValueWithUnits",
               "default": "ValueWithUnits",
               "title": "Type",
               "type": "string"
            },
            "magnitude": {
               "title": "Magnitude",
               "type": "number"
            },
            "units": {
               "title": "Units",
               "type": "string"
            }
         },
         "required": [
            "magnitude",
            "units"
         ],
         "title": "ValueWithUnits",
         "type": "object"
      }
   }
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field bottom_shape: Optional[Annotated[ConicalBottomDescriptor | FlatBottomDescriptor | RoundBottomDescriptor | VBottomDescriptor]] = None
field depth: ValueWithUnits | None = None
field max_volume: ValueWithUnits | None = None
field min_volume: ValueWithUnits | None = None
field named_tags: dict[str, str | int | float | bool] [Optional]
field shape: Optional[Annotated[CircleDescriptor | AxisAlignedRectangleDescriptor]] = None
field tags: list[str] [Optional]
field top_height: ValueWithUnits | None = None
field type: Literal['Tube'] = 'Tube'
pydantic model tcode_api.api.labware.TubeHolderDescription

Description of a tube holder.

Show JSON schema
{
   "title": "TubeHolderDescription",
   "description": "Description of a tube holder.",
   "type": "object",
   "properties": {
      "tags": {
         "items": {
            "type": "string"
         },
         "title": "Tags",
         "type": "array"
      },
      "named_tags": {
         "additionalProperties": {
            "anyOf": [
               {
                  "type": "string"
               },
               {
                  "type": "integer"
               },
               {
                  "type": "number"
               },
               {
                  "type": "boolean"
               }
            ]
         },
         "title": "Named Tags",
         "type": "object"
      },
      "x_length": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "y_length": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "z_length": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "type": {
         "const": "TubeHolder",
         "default": "TubeHolder",
         "title": "Type",
         "type": "string"
      },
      "grid": {
         "$ref": "#/$defs/GridDescription"
      },
      "tube": {
         "$ref": "#/$defs/TubeDescription"
      }
   },
   "$defs": {
      "AxisAlignedRectangleDescription": {
         "description": "Description of an axis-aligned rectangle.\n\n:note: X and Y lengths are measured in the coordinate system of the parent labware,\n    to avoid ambiguity when referring to the \"length\" or \"width\" of a rectangle.",
         "properties": {
            "type": {
               "const": "AxisAlignedRectangle",
               "default": "AxisAlignedRectangle",
               "title": "Type",
               "type": "string"
            },
            "x_length": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "y_length": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "x_length",
            "y_length"
         ],
         "title": "AxisAlignedRectangleDescription",
         "type": "object"
      },
      "CircleDescription": {
         "description": "Description of a circle.",
         "properties": {
            "type": {
               "const": "Circle",
               "default": "Circle",
               "title": "Type",
               "type": "string"
            },
            "diameter": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "diameter"
         ],
         "title": "CircleDescription",
         "type": "object"
      },
      "ConicalBottomDescription": {
         "description": "Description of a conical bottom well.",
         "properties": {
            "type": {
               "const": "Conical",
               "default": "Conical",
               "title": "Type",
               "type": "string"
            },
            "offset": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "offset"
         ],
         "title": "ConicalBottomDescription",
         "type": "object"
      },
      "FlatBottomDescription": {
         "description": "FlatBottomDescription with optional paramters.",
         "properties": {
            "type": {
               "const": "Flat",
               "default": "Flat",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FlatBottomDescription",
         "type": "object"
      },
      "GridDescription": {
         "description": "Description of a grid layout.",
         "properties": {
            "type": {
               "const": "Grid",
               "default": "Grid",
               "title": "Type",
               "type": "string"
            },
            "row_count": {
               "title": "Row Count",
               "type": "integer"
            },
            "column_count": {
               "title": "Column Count",
               "type": "integer"
            },
            "row_pitch": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "column_pitch": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "row_offset": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "column_offset": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "row_count",
            "column_count",
            "row_pitch",
            "column_pitch",
            "row_offset",
            "column_offset"
         ],
         "title": "GridDescription",
         "type": "object"
      },
      "RoundBottomDescription": {
         "description": "Descriptor for a round bottom well.",
         "properties": {
            "type": {
               "const": "Round",
               "default": "Round",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "RoundBottomDescription",
         "type": "object"
      },
      "TubeDescription": {
         "description": "Description of a tube.",
         "properties": {
            "type": {
               "const": "Tube",
               "default": "Tube",
               "title": "Type",
               "type": "string"
            },
            "tags": {
               "items": {
                  "type": "string"
               },
               "title": "Tags",
               "type": "array"
            },
            "named_tags": {
               "additionalProperties": {
                  "anyOf": [
                     {
                        "type": "string"
                     },
                     {
                        "type": "integer"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "boolean"
                     }
                  ]
               },
               "title": "Named Tags",
               "type": "object"
            },
            "depth": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "shape": {
               "discriminator": {
                  "mapping": {
                     "AxisAlignedRectangle": "#/$defs/AxisAlignedRectangleDescription",
                     "Circle": "#/$defs/CircleDescription"
                  },
                  "propertyName": "type"
               },
               "oneOf": [
                  {
                     "$ref": "#/$defs/CircleDescription"
                  },
                  {
                     "$ref": "#/$defs/AxisAlignedRectangleDescription"
                  }
               ],
               "title": "Shape"
            },
            "bottom_shape": {
               "discriminator": {
                  "mapping": {
                     "Conical": "#/$defs/ConicalBottomDescription",
                     "Flat": "#/$defs/FlatBottomDescription",
                     "Round": "#/$defs/RoundBottomDescription",
                     "V-Shape": "#/$defs/VBottomDescription"
                  },
                  "propertyName": "type"
               },
               "oneOf": [
                  {
                     "$ref": "#/$defs/ConicalBottomDescription"
                  },
                  {
                     "$ref": "#/$defs/FlatBottomDescription"
                  },
                  {
                     "$ref": "#/$defs/RoundBottomDescription"
                  },
                  {
                     "$ref": "#/$defs/VBottomDescription"
                  }
               ],
               "title": "Bottom Shape"
            },
            "min_volume": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "max_volume": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "top_height": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "depth",
            "shape",
            "bottom_shape",
            "min_volume",
            "max_volume",
            "top_height"
         ],
         "title": "TubeDescription",
         "type": "object"
      },
      "VBottomDescription": {
         "description": "Description of a V-bottom well (think trough).",
         "properties": {
            "type": {
               "const": "V-Shape",
               "default": "V-Shape",
               "title": "Type",
               "type": "string"
            },
            "direction": {
               "enum": [
                  "x-axis",
                  "y-axis"
               ],
               "title": "Direction",
               "type": "string"
            },
            "offset": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "direction",
            "offset"
         ],
         "title": "VBottomDescription",
         "type": "object"
      },
      "ValueWithUnits": {
         "description": "A numeric value with associated units.\n\n:note: The following values are all equivalent:\n\n    ``ValueWithUnits(magnitude=0.005, units=\"L\")``\n\n    ``ValueWithUnits(magnitude=5, units=\"mL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"uL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"mm\u00b3\")``\n\n:note: In the python implementation, ``pint`` is used to resolve units. see `tcode_api.units`.",
         "properties": {
            "type": {
               "const": "ValueWithUnits",
               "default": "ValueWithUnits",
               "title": "Type",
               "type": "string"
            },
            "magnitude": {
               "title": "Magnitude",
               "type": "number"
            },
            "units": {
               "title": "Units",
               "type": "string"
            }
         },
         "required": [
            "magnitude",
            "units"
         ],
         "title": "ValueWithUnits",
         "type": "object"
      }
   },
   "required": [
      "x_length",
      "y_length",
      "z_length",
      "grid",
      "tube"
   ]
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field grid: GridDescription [Required]
field tube: TubeDescription [Required]
field type: Literal['TubeHolder'] = 'TubeHolder'
pydantic model tcode_api.api.labware.TubeHolderDescriptor

TubeHolderDescription with optional parameters.

Show JSON schema
{
   "title": "TubeHolderDescriptor",
   "description": "TubeHolderDescription with optional parameters.",
   "type": "object",
   "properties": {
      "tags": {
         "items": {
            "type": "string"
         },
         "title": "Tags",
         "type": "array"
      },
      "named_tags": {
         "additionalProperties": {
            "anyOf": [
               {
                  "type": "string"
               },
               {
                  "type": "integer"
               },
               {
                  "type": "number"
               },
               {
                  "type": "boolean"
               }
            ]
         },
         "title": "Named Tags",
         "type": "object"
      },
      "x_length": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "y_length": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "z_length": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "type": {
         "const": "TubeHolder",
         "default": "TubeHolder",
         "title": "Type",
         "type": "string"
      },
      "grid": {
         "anyOf": [
            {
               "$ref": "#/$defs/GridDescriptor"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "tube": {
         "anyOf": [
            {
               "$ref": "#/$defs/TubeDescriptor"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "AxisAlignedRectangleDescriptor": {
         "description": "AxisAlignedRectangleDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "AxisAlignedRectangle",
               "default": "AxisAlignedRectangle",
               "title": "Type",
               "type": "string"
            },
            "x_length": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "y_length": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "AxisAlignedRectangleDescriptor",
         "type": "object"
      },
      "CircleDescriptor": {
         "description": "CircleDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "Circle",
               "default": "Circle",
               "title": "Type",
               "type": "string"
            },
            "diameter": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "CircleDescriptor",
         "type": "object"
      },
      "ConicalBottomDescriptor": {
         "description": "ConicalBottomDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "Conical",
               "default": "Conical",
               "title": "Type",
               "type": "string"
            },
            "offset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "ConicalBottomDescriptor",
         "type": "object"
      },
      "FlatBottomDescriptor": {
         "description": "Descriptor for a flat bottom well.",
         "properties": {
            "type": {
               "const": "Flat",
               "default": "Flat",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FlatBottomDescriptor",
         "type": "object"
      },
      "GridDescriptor": {
         "description": "GridDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "Grid",
               "default": "Grid",
               "title": "Type",
               "type": "string"
            },
            "row_count": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Row Count"
            },
            "column_count": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Column Count"
            },
            "row_pitch": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "column_pitch": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "row_offset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "column_offset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "GridDescriptor",
         "type": "object"
      },
      "RoundBottomDescriptor": {
         "description": "RoundBottomDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "Round",
               "default": "Round",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "RoundBottomDescriptor",
         "type": "object"
      },
      "TubeDescriptor": {
         "description": "TubeDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "Tube",
               "default": "Tube",
               "title": "Type",
               "type": "string"
            },
            "tags": {
               "items": {
                  "type": "string"
               },
               "title": "Tags",
               "type": "array"
            },
            "named_tags": {
               "additionalProperties": {
                  "anyOf": [
                     {
                        "type": "string"
                     },
                     {
                        "type": "integer"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "boolean"
                     }
                  ]
               },
               "title": "Named Tags",
               "type": "object"
            },
            "depth": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "shape": {
               "anyOf": [
                  {
                     "discriminator": {
                        "mapping": {
                           "AxisAlignedRectangle": "#/$defs/AxisAlignedRectangleDescriptor",
                           "Circle": "#/$defs/CircleDescriptor"
                        },
                        "propertyName": "type"
                     },
                     "oneOf": [
                        {
                           "$ref": "#/$defs/CircleDescriptor"
                        },
                        {
                           "$ref": "#/$defs/AxisAlignedRectangleDescriptor"
                        }
                     ]
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Shape"
            },
            "bottom_shape": {
               "anyOf": [
                  {
                     "discriminator": {
                        "mapping": {
                           "Conical": "#/$defs/ConicalBottomDescriptor",
                           "Flat": "#/$defs/FlatBottomDescriptor",
                           "Round": "#/$defs/RoundBottomDescriptor",
                           "V-Shape": "#/$defs/VBottomDescriptor"
                        },
                        "propertyName": "type"
                     },
                     "oneOf": [
                        {
                           "$ref": "#/$defs/ConicalBottomDescriptor"
                        },
                        {
                           "$ref": "#/$defs/FlatBottomDescriptor"
                        },
                        {
                           "$ref": "#/$defs/RoundBottomDescriptor"
                        },
                        {
                           "$ref": "#/$defs/VBottomDescriptor"
                        }
                     ]
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Bottom Shape"
            },
            "min_volume": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "max_volume": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "top_height": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "TubeDescriptor",
         "type": "object"
      },
      "VBottomDescriptor": {
         "description": "VBottomDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "V-Shape",
               "default": "V-Shape",
               "title": "Type",
               "type": "string"
            },
            "direction": {
               "anyOf": [
                  {
                     "enum": [
                        "x-axis",
                        "y-axis"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Direction"
            },
            "offset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "VBottomDescriptor",
         "type": "object"
      },
      "ValueWithUnits": {
         "description": "A numeric value with associated units.\n\n:note: The following values are all equivalent:\n\n    ``ValueWithUnits(magnitude=0.005, units=\"L\")``\n\n    ``ValueWithUnits(magnitude=5, units=\"mL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"uL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"mm\u00b3\")``\n\n:note: In the python implementation, ``pint`` is used to resolve units. see `tcode_api.units`.",
         "properties": {
            "type": {
               "const": "ValueWithUnits",
               "default": "ValueWithUnits",
               "title": "Type",
               "type": "string"
            },
            "magnitude": {
               "title": "Magnitude",
               "type": "number"
            },
            "units": {
               "title": "Units",
               "type": "string"
            }
         },
         "required": [
            "magnitude",
            "units"
         ],
         "title": "ValueWithUnits",
         "type": "object"
      }
   }
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field grid: GridDescriptor | None = None
field tube: TubeDescriptor | None = None
field type: Literal['TubeHolder'] = 'TubeHolder'
pydantic model tcode_api.api.labware.VBottomDescription

Description of a V-bottom well (think trough).

Show JSON schema
{
   "title": "VBottomDescription",
   "description": "Description of a V-bottom well (think trough).",
   "type": "object",
   "properties": {
      "type": {
         "const": "V-Shape",
         "default": "V-Shape",
         "title": "Type",
         "type": "string"
      },
      "direction": {
         "enum": [
            "x-axis",
            "y-axis"
         ],
         "title": "Direction",
         "type": "string"
      },
      "offset": {
         "$ref": "#/$defs/ValueWithUnits"
      }
   },
   "$defs": {
      "ValueWithUnits": {
         "description": "A numeric value with associated units.\n\n:note: The following values are all equivalent:\n\n    ``ValueWithUnits(magnitude=0.005, units=\"L\")``\n\n    ``ValueWithUnits(magnitude=5, units=\"mL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"uL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"mm\u00b3\")``\n\n:note: In the python implementation, ``pint`` is used to resolve units. see `tcode_api.units`.",
         "properties": {
            "type": {
               "const": "ValueWithUnits",
               "default": "ValueWithUnits",
               "title": "Type",
               "type": "string"
            },
            "magnitude": {
               "title": "Magnitude",
               "type": "number"
            },
            "units": {
               "title": "Units",
               "type": "string"
            }
         },
         "required": [
            "magnitude",
            "units"
         ],
         "title": "ValueWithUnits",
         "type": "object"
      }
   },
   "required": [
      "direction",
      "offset"
   ]
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field direction: Literal['x-axis', 'y-axis'] [Required]
field offset: ValueWithUnits [Required]
field type: Literal['V-Shape'] = 'V-Shape'
pydantic model tcode_api.api.labware.VBottomDescriptor

VBottomDescription with optional parameters.

Show JSON schema
{
   "title": "VBottomDescriptor",
   "description": "VBottomDescription with optional parameters.",
   "type": "object",
   "properties": {
      "type": {
         "const": "V-Shape",
         "default": "V-Shape",
         "title": "Type",
         "type": "string"
      },
      "direction": {
         "anyOf": [
            {
               "enum": [
                  "x-axis",
                  "y-axis"
               ],
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Direction"
      },
      "offset": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "ValueWithUnits": {
         "description": "A numeric value with associated units.\n\n:note: The following values are all equivalent:\n\n    ``ValueWithUnits(magnitude=0.005, units=\"L\")``\n\n    ``ValueWithUnits(magnitude=5, units=\"mL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"uL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"mm\u00b3\")``\n\n:note: In the python implementation, ``pint`` is used to resolve units. see `tcode_api.units`.",
         "properties": {
            "type": {
               "const": "ValueWithUnits",
               "default": "ValueWithUnits",
               "title": "Type",
               "type": "string"
            },
            "magnitude": {
               "title": "Magnitude",
               "type": "number"
            },
            "units": {
               "title": "Units",
               "type": "string"
            }
         },
         "required": [
            "magnitude",
            "units"
         ],
         "title": "ValueWithUnits",
         "type": "object"
      }
   }
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field direction: Optional[Literal['x-axis', 'y-axis']] = None
field offset: ValueWithUnits | None = None
field type: Literal['V-Shape'] = 'V-Shape'
pydantic model tcode_api.api.labware.WellDescription

Description of a well in a labware.

Show JSON schema
{
   "title": "WellDescription",
   "description": "Description of a well in a labware.",
   "type": "object",
   "properties": {
      "type": {
         "const": "Well",
         "default": "Well",
         "title": "Type",
         "type": "string"
      },
      "depth": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "shape": {
         "discriminator": {
            "mapping": {
               "AxisAlignedRectangle": "#/$defs/AxisAlignedRectangleDescription",
               "Circle": "#/$defs/CircleDescription"
            },
            "propertyName": "type"
         },
         "oneOf": [
            {
               "$ref": "#/$defs/CircleDescription"
            },
            {
               "$ref": "#/$defs/AxisAlignedRectangleDescription"
            }
         ],
         "title": "Shape"
      },
      "bottom_shape": {
         "discriminator": {
            "mapping": {
               "Conical": "#/$defs/ConicalBottomDescription",
               "Flat": "#/$defs/FlatBottomDescription",
               "Round": "#/$defs/RoundBottomDescription",
               "V-Shape": "#/$defs/VBottomDescription"
            },
            "propertyName": "type"
         },
         "oneOf": [
            {
               "$ref": "#/$defs/ConicalBottomDescription"
            },
            {
               "$ref": "#/$defs/FlatBottomDescription"
            },
            {
               "$ref": "#/$defs/RoundBottomDescription"
            },
            {
               "$ref": "#/$defs/VBottomDescription"
            }
         ],
         "title": "Bottom Shape"
      },
      "min_volume": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "max_volume": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "well_tags": {
         "items": {
            "type": "string"
         },
         "title": "Well Tags",
         "type": "array"
      },
      "well_named_tags": {
         "additionalProperties": {
            "anyOf": [
               {
                  "type": "string"
               },
               {
                  "type": "integer"
               },
               {
                  "type": "number"
               },
               {
                  "type": "boolean"
               }
            ]
         },
         "title": "Well Named Tags",
         "type": "object"
      }
   },
   "$defs": {
      "AxisAlignedRectangleDescription": {
         "description": "Description of an axis-aligned rectangle.\n\n:note: X and Y lengths are measured in the coordinate system of the parent labware,\n    to avoid ambiguity when referring to the \"length\" or \"width\" of a rectangle.",
         "properties": {
            "type": {
               "const": "AxisAlignedRectangle",
               "default": "AxisAlignedRectangle",
               "title": "Type",
               "type": "string"
            },
            "x_length": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "y_length": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "x_length",
            "y_length"
         ],
         "title": "AxisAlignedRectangleDescription",
         "type": "object"
      },
      "CircleDescription": {
         "description": "Description of a circle.",
         "properties": {
            "type": {
               "const": "Circle",
               "default": "Circle",
               "title": "Type",
               "type": "string"
            },
            "diameter": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "diameter"
         ],
         "title": "CircleDescription",
         "type": "object"
      },
      "ConicalBottomDescription": {
         "description": "Description of a conical bottom well.",
         "properties": {
            "type": {
               "const": "Conical",
               "default": "Conical",
               "title": "Type",
               "type": "string"
            },
            "offset": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "offset"
         ],
         "title": "ConicalBottomDescription",
         "type": "object"
      },
      "FlatBottomDescription": {
         "description": "FlatBottomDescription with optional paramters.",
         "properties": {
            "type": {
               "const": "Flat",
               "default": "Flat",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FlatBottomDescription",
         "type": "object"
      },
      "RoundBottomDescription": {
         "description": "Descriptor for a round bottom well.",
         "properties": {
            "type": {
               "const": "Round",
               "default": "Round",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "RoundBottomDescription",
         "type": "object"
      },
      "VBottomDescription": {
         "description": "Description of a V-bottom well (think trough).",
         "properties": {
            "type": {
               "const": "V-Shape",
               "default": "V-Shape",
               "title": "Type",
               "type": "string"
            },
            "direction": {
               "enum": [
                  "x-axis",
                  "y-axis"
               ],
               "title": "Direction",
               "type": "string"
            },
            "offset": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "direction",
            "offset"
         ],
         "title": "VBottomDescription",
         "type": "object"
      },
      "ValueWithUnits": {
         "description": "A numeric value with associated units.\n\n:note: The following values are all equivalent:\n\n    ``ValueWithUnits(magnitude=0.005, units=\"L\")``\n\n    ``ValueWithUnits(magnitude=5, units=\"mL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"uL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"mm\u00b3\")``\n\n:note: In the python implementation, ``pint`` is used to resolve units. see `tcode_api.units`.",
         "properties": {
            "type": {
               "const": "ValueWithUnits",
               "default": "ValueWithUnits",
               "title": "Type",
               "type": "string"
            },
            "magnitude": {
               "title": "Magnitude",
               "type": "number"
            },
            "units": {
               "title": "Units",
               "type": "string"
            }
         },
         "required": [
            "magnitude",
            "units"
         ],
         "title": "ValueWithUnits",
         "type": "object"
      }
   },
   "required": [
      "depth",
      "shape",
      "bottom_shape",
      "min_volume",
      "max_volume"
   ]
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field bottom_shape: Annotated[ConicalBottomDescription | FlatBottomDescription | RoundBottomDescription | VBottomDescription] [Required]
field depth: ValueWithUnits [Required]
field max_volume: ValueWithUnits [Required]
field min_volume: ValueWithUnits [Required]
field shape: Annotated[CircleDescription | AxisAlignedRectangleDescription] [Required]
field type: Literal['Well'] = 'Well'
field well_named_tags: dict[str, str | int | float | bool] [Optional]
field well_tags: list[str] [Optional]
pydantic model tcode_api.api.labware.WellDescriptor

WellDescription with optional parameters.

Show JSON schema
{
   "title": "WellDescriptor",
   "description": "WellDescription with optional parameters.",
   "type": "object",
   "properties": {
      "type": {
         "const": "Well",
         "default": "Well",
         "title": "Type",
         "type": "string"
      },
      "depth": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "shape": {
         "anyOf": [
            {
               "discriminator": {
                  "mapping": {
                     "AxisAlignedRectangle": "#/$defs/AxisAlignedRectangleDescriptor",
                     "Circle": "#/$defs/CircleDescriptor"
                  },
                  "propertyName": "type"
               },
               "oneOf": [
                  {
                     "$ref": "#/$defs/CircleDescriptor"
                  },
                  {
                     "$ref": "#/$defs/AxisAlignedRectangleDescriptor"
                  }
               ]
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Shape"
      },
      "bottom_shape": {
         "anyOf": [
            {
               "discriminator": {
                  "mapping": {
                     "Conical": "#/$defs/ConicalBottomDescriptor",
                     "Flat": "#/$defs/FlatBottomDescriptor",
                     "Round": "#/$defs/RoundBottomDescriptor",
                     "V-Shape": "#/$defs/VBottomDescriptor"
                  },
                  "propertyName": "type"
               },
               "oneOf": [
                  {
                     "$ref": "#/$defs/ConicalBottomDescriptor"
                  },
                  {
                     "$ref": "#/$defs/FlatBottomDescriptor"
                  },
                  {
                     "$ref": "#/$defs/RoundBottomDescriptor"
                  },
                  {
                     "$ref": "#/$defs/VBottomDescriptor"
                  }
               ]
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Bottom Shape"
      },
      "min_volume": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "max_volume": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "AxisAlignedRectangleDescriptor": {
         "description": "AxisAlignedRectangleDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "AxisAlignedRectangle",
               "default": "AxisAlignedRectangle",
               "title": "Type",
               "type": "string"
            },
            "x_length": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "y_length": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "AxisAlignedRectangleDescriptor",
         "type": "object"
      },
      "CircleDescriptor": {
         "description": "CircleDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "Circle",
               "default": "Circle",
               "title": "Type",
               "type": "string"
            },
            "diameter": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "CircleDescriptor",
         "type": "object"
      },
      "ConicalBottomDescriptor": {
         "description": "ConicalBottomDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "Conical",
               "default": "Conical",
               "title": "Type",
               "type": "string"
            },
            "offset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "ConicalBottomDescriptor",
         "type": "object"
      },
      "FlatBottomDescriptor": {
         "description": "Descriptor for a flat bottom well.",
         "properties": {
            "type": {
               "const": "Flat",
               "default": "Flat",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FlatBottomDescriptor",
         "type": "object"
      },
      "RoundBottomDescriptor": {
         "description": "RoundBottomDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "Round",
               "default": "Round",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "RoundBottomDescriptor",
         "type": "object"
      },
      "VBottomDescriptor": {
         "description": "VBottomDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "V-Shape",
               "default": "V-Shape",
               "title": "Type",
               "type": "string"
            },
            "direction": {
               "anyOf": [
                  {
                     "enum": [
                        "x-axis",
                        "y-axis"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Direction"
            },
            "offset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "VBottomDescriptor",
         "type": "object"
      },
      "ValueWithUnits": {
         "description": "A numeric value with associated units.\n\n:note: The following values are all equivalent:\n\n    ``ValueWithUnits(magnitude=0.005, units=\"L\")``\n\n    ``ValueWithUnits(magnitude=5, units=\"mL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"uL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"mm\u00b3\")``\n\n:note: In the python implementation, ``pint`` is used to resolve units. see `tcode_api.units`.",
         "properties": {
            "type": {
               "const": "ValueWithUnits",
               "default": "ValueWithUnits",
               "title": "Type",
               "type": "string"
            },
            "magnitude": {
               "title": "Magnitude",
               "type": "number"
            },
            "units": {
               "title": "Units",
               "type": "string"
            }
         },
         "required": [
            "magnitude",
            "units"
         ],
         "title": "ValueWithUnits",
         "type": "object"
      }
   }
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field bottom_shape: Optional[Annotated[ConicalBottomDescriptor | FlatBottomDescriptor | RoundBottomDescriptor | VBottomDescriptor]] = None
field depth: ValueWithUnits | None = None
field max_volume: ValueWithUnits | None = None
field min_volume: ValueWithUnits | None = None
field shape: Optional[Annotated[CircleDescriptor | AxisAlignedRectangleDescriptor]] = None
field type: Literal['Well'] = 'Well'
class tcode_api.api.labware.WellPartType(*values)

Enumeration of well parts.

TOP: the top part of the well, above the liquid level. BOTTOM: the bottom part of the well, below the liquid level.

pydantic model tcode_api.api.labware.WellPlateDescription

Description of a well plate.

Note:

The exception to the ‘no optional attributes’ rule is lid_offset and lid. These attributes default to None, assuming that a described labware has no lid.

Show JSON schema
{
   "title": "WellPlateDescription",
   "description": "Description of a well plate.\n\n:note: The exception to the 'no optional attributes' rule is `lid_offset` and `lid`.\n    These attributes default to None, assuming that a described labware has no lid.",
   "type": "object",
   "properties": {
      "tags": {
         "items": {
            "type": "string"
         },
         "title": "Tags",
         "type": "array"
      },
      "named_tags": {
         "additionalProperties": {
            "anyOf": [
               {
                  "type": "string"
               },
               {
                  "type": "integer"
               },
               {
                  "type": "number"
               },
               {
                  "type": "boolean"
               }
            ]
         },
         "title": "Named Tags",
         "type": "object"
      },
      "x_length": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "y_length": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "z_length": {
         "$ref": "#/$defs/ValueWithUnits"
      },
      "type": {
         "const": "WellPlate",
         "default": "WellPlate",
         "title": "Type",
         "type": "string"
      },
      "grid": {
         "$ref": "#/$defs/GridDescription"
      },
      "well": {
         "$ref": "#/$defs/WellDescription"
      },
      "lid_offset": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "lid": {
         "anyOf": [
            {
               "$ref": "#/$defs/LidDescription"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "AxisAlignedRectangleDescription": {
         "description": "Description of an axis-aligned rectangle.\n\n:note: X and Y lengths are measured in the coordinate system of the parent labware,\n    to avoid ambiguity when referring to the \"length\" or \"width\" of a rectangle.",
         "properties": {
            "type": {
               "const": "AxisAlignedRectangle",
               "default": "AxisAlignedRectangle",
               "title": "Type",
               "type": "string"
            },
            "x_length": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "y_length": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "x_length",
            "y_length"
         ],
         "title": "AxisAlignedRectangleDescription",
         "type": "object"
      },
      "CircleDescription": {
         "description": "Description of a circle.",
         "properties": {
            "type": {
               "const": "Circle",
               "default": "Circle",
               "title": "Type",
               "type": "string"
            },
            "diameter": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "diameter"
         ],
         "title": "CircleDescription",
         "type": "object"
      },
      "ConicalBottomDescription": {
         "description": "Description of a conical bottom well.",
         "properties": {
            "type": {
               "const": "Conical",
               "default": "Conical",
               "title": "Type",
               "type": "string"
            },
            "offset": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "offset"
         ],
         "title": "ConicalBottomDescription",
         "type": "object"
      },
      "FlatBottomDescription": {
         "description": "FlatBottomDescription with optional paramters.",
         "properties": {
            "type": {
               "const": "Flat",
               "default": "Flat",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FlatBottomDescription",
         "type": "object"
      },
      "GridDescription": {
         "description": "Description of a grid layout.",
         "properties": {
            "type": {
               "const": "Grid",
               "default": "Grid",
               "title": "Type",
               "type": "string"
            },
            "row_count": {
               "title": "Row Count",
               "type": "integer"
            },
            "column_count": {
               "title": "Column Count",
               "type": "integer"
            },
            "row_pitch": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "column_pitch": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "row_offset": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "column_offset": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "row_count",
            "column_count",
            "row_pitch",
            "column_pitch",
            "row_offset",
            "column_offset"
         ],
         "title": "GridDescription",
         "type": "object"
      },
      "LidDescription": {
         "description": "Description of a plate lid.",
         "properties": {
            "tags": {
               "items": {
                  "type": "string"
               },
               "title": "Tags",
               "type": "array"
            },
            "named_tags": {
               "additionalProperties": {
                  "anyOf": [
                     {
                        "type": "string"
                     },
                     {
                        "type": "integer"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "boolean"
                     }
                  ]
               },
               "title": "Named Tags",
               "type": "object"
            },
            "x_length": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "y_length": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "z_length": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "type": {
               "const": "Lid",
               "default": "Lid",
               "title": "Type",
               "type": "string"
            },
            "stackable": {
               "title": "Stackable",
               "type": "boolean"
            }
         },
         "required": [
            "x_length",
            "y_length",
            "z_length",
            "stackable"
         ],
         "title": "LidDescription",
         "type": "object"
      },
      "RoundBottomDescription": {
         "description": "Descriptor for a round bottom well.",
         "properties": {
            "type": {
               "const": "Round",
               "default": "Round",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "RoundBottomDescription",
         "type": "object"
      },
      "VBottomDescription": {
         "description": "Description of a V-bottom well (think trough).",
         "properties": {
            "type": {
               "const": "V-Shape",
               "default": "V-Shape",
               "title": "Type",
               "type": "string"
            },
            "direction": {
               "enum": [
                  "x-axis",
                  "y-axis"
               ],
               "title": "Direction",
               "type": "string"
            },
            "offset": {
               "$ref": "#/$defs/ValueWithUnits"
            }
         },
         "required": [
            "direction",
            "offset"
         ],
         "title": "VBottomDescription",
         "type": "object"
      },
      "ValueWithUnits": {
         "description": "A numeric value with associated units.\n\n:note: The following values are all equivalent:\n\n    ``ValueWithUnits(magnitude=0.005, units=\"L\")``\n\n    ``ValueWithUnits(magnitude=5, units=\"mL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"uL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"mm\u00b3\")``\n\n:note: In the python implementation, ``pint`` is used to resolve units. see `tcode_api.units`.",
         "properties": {
            "type": {
               "const": "ValueWithUnits",
               "default": "ValueWithUnits",
               "title": "Type",
               "type": "string"
            },
            "magnitude": {
               "title": "Magnitude",
               "type": "number"
            },
            "units": {
               "title": "Units",
               "type": "string"
            }
         },
         "required": [
            "magnitude",
            "units"
         ],
         "title": "ValueWithUnits",
         "type": "object"
      },
      "WellDescription": {
         "description": "Description of a well in a labware.",
         "properties": {
            "type": {
               "const": "Well",
               "default": "Well",
               "title": "Type",
               "type": "string"
            },
            "depth": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "shape": {
               "discriminator": {
                  "mapping": {
                     "AxisAlignedRectangle": "#/$defs/AxisAlignedRectangleDescription",
                     "Circle": "#/$defs/CircleDescription"
                  },
                  "propertyName": "type"
               },
               "oneOf": [
                  {
                     "$ref": "#/$defs/CircleDescription"
                  },
                  {
                     "$ref": "#/$defs/AxisAlignedRectangleDescription"
                  }
               ],
               "title": "Shape"
            },
            "bottom_shape": {
               "discriminator": {
                  "mapping": {
                     "Conical": "#/$defs/ConicalBottomDescription",
                     "Flat": "#/$defs/FlatBottomDescription",
                     "Round": "#/$defs/RoundBottomDescription",
                     "V-Shape": "#/$defs/VBottomDescription"
                  },
                  "propertyName": "type"
               },
               "oneOf": [
                  {
                     "$ref": "#/$defs/ConicalBottomDescription"
                  },
                  {
                     "$ref": "#/$defs/FlatBottomDescription"
                  },
                  {
                     "$ref": "#/$defs/RoundBottomDescription"
                  },
                  {
                     "$ref": "#/$defs/VBottomDescription"
                  }
               ],
               "title": "Bottom Shape"
            },
            "min_volume": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "max_volume": {
               "$ref": "#/$defs/ValueWithUnits"
            },
            "well_tags": {
               "items": {
                  "type": "string"
               },
               "title": "Well Tags",
               "type": "array"
            },
            "well_named_tags": {
               "additionalProperties": {
                  "anyOf": [
                     {
                        "type": "string"
                     },
                     {
                        "type": "integer"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "boolean"
                     }
                  ]
               },
               "title": "Well Named Tags",
               "type": "object"
            }
         },
         "required": [
            "depth",
            "shape",
            "bottom_shape",
            "min_volume",
            "max_volume"
         ],
         "title": "WellDescription",
         "type": "object"
      }
   },
   "required": [
      "x_length",
      "y_length",
      "z_length",
      "grid",
      "well"
   ]
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field grid: GridDescription [Required]
field lid: LidDescription | None = None
field lid_offset: ValueWithUnits | None = None
field type: Literal['WellPlate'] = 'WellPlate'
field well: WellDescription [Required]
pydantic model tcode_api.api.labware.WellPlateDescriptor

WellPlateDescription with optional parameters.

Show JSON schema
{
   "title": "WellPlateDescriptor",
   "description": "WellPlateDescription with optional parameters.",
   "type": "object",
   "properties": {
      "tags": {
         "items": {
            "type": "string"
         },
         "title": "Tags",
         "type": "array"
      },
      "named_tags": {
         "additionalProperties": {
            "anyOf": [
               {
                  "type": "string"
               },
               {
                  "type": "integer"
               },
               {
                  "type": "number"
               },
               {
                  "type": "boolean"
               }
            ]
         },
         "title": "Named Tags",
         "type": "object"
      },
      "x_length": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "y_length": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "z_length": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "type": {
         "const": "WellPlate",
         "default": "WellPlate",
         "title": "Type",
         "type": "string"
      },
      "grid": {
         "anyOf": [
            {
               "$ref": "#/$defs/GridDescriptor"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "well": {
         "anyOf": [
            {
               "$ref": "#/$defs/WellDescriptor"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "lid_offset": {
         "anyOf": [
            {
               "$ref": "#/$defs/ValueWithUnits"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "lid": {
         "anyOf": [
            {
               "$ref": "#/$defs/LidDescriptor"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "AxisAlignedRectangleDescriptor": {
         "description": "AxisAlignedRectangleDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "AxisAlignedRectangle",
               "default": "AxisAlignedRectangle",
               "title": "Type",
               "type": "string"
            },
            "x_length": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "y_length": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "AxisAlignedRectangleDescriptor",
         "type": "object"
      },
      "CircleDescriptor": {
         "description": "CircleDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "Circle",
               "default": "Circle",
               "title": "Type",
               "type": "string"
            },
            "diameter": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "CircleDescriptor",
         "type": "object"
      },
      "ConicalBottomDescriptor": {
         "description": "ConicalBottomDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "Conical",
               "default": "Conical",
               "title": "Type",
               "type": "string"
            },
            "offset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "ConicalBottomDescriptor",
         "type": "object"
      },
      "FlatBottomDescriptor": {
         "description": "Descriptor for a flat bottom well.",
         "properties": {
            "type": {
               "const": "Flat",
               "default": "Flat",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "FlatBottomDescriptor",
         "type": "object"
      },
      "GridDescriptor": {
         "description": "GridDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "Grid",
               "default": "Grid",
               "title": "Type",
               "type": "string"
            },
            "row_count": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Row Count"
            },
            "column_count": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Column Count"
            },
            "row_pitch": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "column_pitch": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "row_offset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "column_offset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "GridDescriptor",
         "type": "object"
      },
      "LidDescriptor": {
         "description": "LidDescription with optional parameters.",
         "properties": {
            "tags": {
               "items": {
                  "type": "string"
               },
               "title": "Tags",
               "type": "array"
            },
            "named_tags": {
               "additionalProperties": {
                  "anyOf": [
                     {
                        "type": "string"
                     },
                     {
                        "type": "integer"
                     },
                     {
                        "type": "number"
                     },
                     {
                        "type": "boolean"
                     }
                  ]
               },
               "title": "Named Tags",
               "type": "object"
            },
            "x_length": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "y_length": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "z_length": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "type": {
               "const": "Lid",
               "default": "Lid",
               "title": "Type",
               "type": "string"
            },
            "stackable": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Stackable"
            }
         },
         "title": "LidDescriptor",
         "type": "object"
      },
      "RoundBottomDescriptor": {
         "description": "RoundBottomDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "Round",
               "default": "Round",
               "title": "Type",
               "type": "string"
            }
         },
         "title": "RoundBottomDescriptor",
         "type": "object"
      },
      "VBottomDescriptor": {
         "description": "VBottomDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "V-Shape",
               "default": "V-Shape",
               "title": "Type",
               "type": "string"
            },
            "direction": {
               "anyOf": [
                  {
                     "enum": [
                        "x-axis",
                        "y-axis"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Direction"
            },
            "offset": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "VBottomDescriptor",
         "type": "object"
      },
      "ValueWithUnits": {
         "description": "A numeric value with associated units.\n\n:note: The following values are all equivalent:\n\n    ``ValueWithUnits(magnitude=0.005, units=\"L\")``\n\n    ``ValueWithUnits(magnitude=5, units=\"mL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"uL\")``\n\n    ``ValueWithUnits(magnitude=5000, units=\"mm\u00b3\")``\n\n:note: In the python implementation, ``pint`` is used to resolve units. see `tcode_api.units`.",
         "properties": {
            "type": {
               "const": "ValueWithUnits",
               "default": "ValueWithUnits",
               "title": "Type",
               "type": "string"
            },
            "magnitude": {
               "title": "Magnitude",
               "type": "number"
            },
            "units": {
               "title": "Units",
               "type": "string"
            }
         },
         "required": [
            "magnitude",
            "units"
         ],
         "title": "ValueWithUnits",
         "type": "object"
      },
      "WellDescriptor": {
         "description": "WellDescription with optional parameters.",
         "properties": {
            "type": {
               "const": "Well",
               "default": "Well",
               "title": "Type",
               "type": "string"
            },
            "depth": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "shape": {
               "anyOf": [
                  {
                     "discriminator": {
                        "mapping": {
                           "AxisAlignedRectangle": "#/$defs/AxisAlignedRectangleDescriptor",
                           "Circle": "#/$defs/CircleDescriptor"
                        },
                        "propertyName": "type"
                     },
                     "oneOf": [
                        {
                           "$ref": "#/$defs/CircleDescriptor"
                        },
                        {
                           "$ref": "#/$defs/AxisAlignedRectangleDescriptor"
                        }
                     ]
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Shape"
            },
            "bottom_shape": {
               "anyOf": [
                  {
                     "discriminator": {
                        "mapping": {
                           "Conical": "#/$defs/ConicalBottomDescriptor",
                           "Flat": "#/$defs/FlatBottomDescriptor",
                           "Round": "#/$defs/RoundBottomDescriptor",
                           "V-Shape": "#/$defs/VBottomDescriptor"
                        },
                        "propertyName": "type"
                     },
                     "oneOf": [
                        {
                           "$ref": "#/$defs/ConicalBottomDescriptor"
                        },
                        {
                           "$ref": "#/$defs/FlatBottomDescriptor"
                        },
                        {
                           "$ref": "#/$defs/RoundBottomDescriptor"
                        },
                        {
                           "$ref": "#/$defs/VBottomDescriptor"
                        }
                     ]
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Bottom Shape"
            },
            "min_volume": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "max_volume": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ValueWithUnits"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "WellDescriptor",
         "type": "object"
      }
   }
}

Config:
  • strict: bool = True

  • extra: str = ignore

Fields:
field grid: GridDescriptor | None = None
field lid: LidDescriptor | None = None
field lid_offset: ValueWithUnits | None = None
field type: Literal['WellPlate'] = 'WellPlate'
field well: WellDescriptor | None = None