kithairon.labware.PlateInfo¶
aoeu
- class kithairon.labware.PlateInfo(
- *,
- plate_type: str,
- plate_format: str,
- usage: str,
- fluid: str | None = None,
- manufacturer: str,
- lot_number: str,
- part_number: str,
- rows: int,
- cols: int,
- a1_offset_y: int,
- center_spacing_x: int,
- center_spacing_y: int,
- plate_height: int,
- skirt_height: int,
- well_width: int,
- well_length: int,
- well_capacity: int,
- bottom_inset: float,
- center_well_pos_x: float,
- center_well_pos_y: float,
- min_well_vol: float | None = None,
- max_well_vol: float | None = None,
- max_vol_total: float | None = None,
- min_volume: float | None = None,
- drop_volume: float | None = None,
Bases:
BaseXmlModelPlate type information for a single plate.
- __init__(**data: Any) None¶
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.selfis explicitly positional-only to allowselfas a field name.
- copy(
- *,
- include: AbstractSetIntStr | MappingIntStrAny | None = None,
- exclude: AbstractSetIntStr | MappingIntStrAny | None = None,
- update: Dict[str, Any] | None = None,
- deep: bool = False,
Returns a copy of the model.
- !!! warning “Deprecated”
This method is now deprecated; use
model_copyinstead.
If you need
includeorexclude, use:`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `- Args:
include: Optional set or mapping specifying which fields to include in the copied model. exclude: Optional set or mapping specifying which fields to exclude in the copied model. update: Optional dictionary of field-value pairs to override field values in the copied model. deep: If True, the values of fields that are Pydantic models will be deep-copied.
- Returns:
A copy of the model with included, excluded and updated fields as specified.
- classmethod from_xml( ) ModelT¶
Deserializes an xml string to an object of
clstype.- Parameters:
source – xml string
context – pydantic validation context
- Returns:
deserialized object
- classmethod from_xml_tree( ) ModelT¶
Deserializes an xml element tree to an object of
clstype.- Parameters:
root – xml element to deserialize the object from
context – pydantic validation context
- Returns:
deserialized object
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding
ComputedFieldInfoobjects.
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [
ConfigDict][pydantic.config.ConfigDict].
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Model¶
Creates a new instance of the
Modelclass with validated data.Creates a new model setting
__dict__and__pydantic_fields_set__from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as ifConfig.extra = 'allow'was set since it adds all passed values- Args:
_fields_set: The set of field names accepted for the Model instance. values: Trusted or pre-validated data dictionary.
- Returns:
A new instance of the
Modelclass with validated data.
- model_copy( ) Model¶
Usage docs: https://docs.pydantic.dev/2.6/concepts/serialization/#model_copy
Returns a copy of the model.
- Args:
- update: Values to change/add in the new model. Note: the data is not validated
before creating the new model. You should trust this data.
deep: Set to
Trueto make a deep copy of the model.- Returns:
New model instance.
- model_dump(
- *,
- mode: Literal['json', 'python'] | str = 'python',
- include: IncEx = None,
- exclude: IncEx = None,
- by_alias: bool = False,
- exclude_unset: bool = False,
- exclude_defaults: bool = False,
- exclude_none: bool = False,
- round_trip: bool = False,
- warnings: bool = True,
Usage docs: https://docs.pydantic.dev/2.6/concepts/serialization/#modelmodel_dump
Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
- Args:
- mode: The mode in which
to_pythonshould run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.
include: A list of fields to include in the output. exclude: A list of fields to exclude from the output. by_alias: Whether to use the field’s alias in the dictionary key if defined. exclude_unset: Whether to exclude fields that have not been explicitly set. exclude_defaults: Whether to exclude fields that are set to their default value. exclude_none: Whether to exclude fields that have a value of
None. round_trip: If True, dumped values should be valid as input for non-idempotent types such as Json[T]. warnings: Whether to log warnings when invalid fields are encountered.- mode: The mode in which
- Returns:
A dictionary representation of the model.
- model_dump_json(
- *,
- indent: int | None = None,
- include: IncEx = None,
- exclude: IncEx = None,
- by_alias: bool = False,
- exclude_unset: bool = False,
- exclude_defaults: bool = False,
- exclude_none: bool = False,
- round_trip: bool = False,
- warnings: bool = True,
Usage docs: https://docs.pydantic.dev/2.6/concepts/serialization/#modelmodel_dump_json
Generates a JSON representation of the model using Pydantic’s
to_jsonmethod.- Args:
indent: Indentation to use in the JSON output. If None is passed, the output will be compact. include: Field(s) to include in the JSON output. exclude: Field(s) to exclude from the JSON output. by_alias: Whether to serialize using field aliases. exclude_unset: Whether to exclude fields that have not been explicitly set. exclude_defaults: Whether to exclude fields that are set to their default value. exclude_none: Whether to exclude fields that have a value of
None. round_trip: If True, dumped values should be valid as input for non-idempotent types such as Json[T]. warnings: Whether to log warnings when invalid fields are encountered.- Returns:
A JSON string representation of the model.
- property model_extra: dict[str, Any] | None¶
Get extra fields set during validation.
- Returns:
A dictionary of extra fields, or
Noneifconfig.extrais not set to"allow".
- model_fields: ClassVar[dict[str, FieldInfo]] = {'a1_offset_y': XmlEntityInfo(annotation=int, required=True, location=<EntityLocation.ATTRIBUTE: 2>, path='a1offsety', nillable=False), 'bottom_inset': XmlEntityInfo(annotation=float, required=True, location=<EntityLocation.ATTRIBUTE: 2>, path='bottominset', nillable=False), 'center_spacing_x': XmlEntityInfo(annotation=int, required=True, location=<EntityLocation.ATTRIBUTE: 2>, path='centerspacingx', nillable=False), 'center_spacing_y': XmlEntityInfo(annotation=int, required=True, location=<EntityLocation.ATTRIBUTE: 2>, path='centerspacingy', nillable=False), 'center_well_pos_x': XmlEntityInfo(annotation=float, required=True, location=<EntityLocation.ATTRIBUTE: 2>, path='centerwellposx', nillable=False), 'center_well_pos_y': XmlEntityInfo(annotation=float, required=True, location=<EntityLocation.ATTRIBUTE: 2>, path='centerwellposy', nillable=False), 'cols': XmlEntityInfo(annotation=int, required=True, location=<EntityLocation.ATTRIBUTE: 2>, path='cols', nillable=False), 'drop_volume': XmlEntityInfo(annotation=Union[float, NoneType], required=False, location=<EntityLocation.ATTRIBUTE: 2>, path='dropvolume', nillable=False), 'fluid': XmlEntityInfo(annotation=Union[str, NoneType], required=False, location=<EntityLocation.ATTRIBUTE: 2>, path='fluid', nillable=False), 'lot_number': XmlEntityInfo(annotation=str, required=True, location=<EntityLocation.ATTRIBUTE: 2>, path='lotnumber', nillable=False), 'manufacturer': XmlEntityInfo(annotation=str, required=True, location=<EntityLocation.ATTRIBUTE: 2>, path='manufacturer', nillable=False), 'max_vol_total': XmlEntityInfo(annotation=Union[float, NoneType], required=False, location=<EntityLocation.ATTRIBUTE: 2>, path='maxvoltotal', nillable=False), 'max_well_vol': XmlEntityInfo(annotation=Union[float, NoneType], required=False, location=<EntityLocation.ATTRIBUTE: 2>, path='maxwellvol', nillable=False), 'min_volume': XmlEntityInfo(annotation=Union[float, NoneType], required=False, location=<EntityLocation.ATTRIBUTE: 2>, path='minvolume', nillable=False), 'min_well_vol': XmlEntityInfo(annotation=Union[float, NoneType], required=False, location=<EntityLocation.ATTRIBUTE: 2>, path='minwellvol', nillable=False), 'part_number': XmlEntityInfo(annotation=str, required=True, location=<EntityLocation.ATTRIBUTE: 2>, path='partnumber', nillable=False), 'plate_format': XmlEntityInfo(annotation=str, required=True, location=<EntityLocation.ATTRIBUTE: 2>, path='plateformat', nillable=False), 'plate_height': XmlEntityInfo(annotation=int, required=True, location=<EntityLocation.ATTRIBUTE: 2>, path='plateheight', nillable=False), 'plate_type': XmlEntityInfo(annotation=str, required=True, location=<EntityLocation.ATTRIBUTE: 2>, path='platetype', nillable=False), 'rows': XmlEntityInfo(annotation=int, required=True, location=<EntityLocation.ATTRIBUTE: 2>, path='rows', nillable=False), 'skirt_height': XmlEntityInfo(annotation=int, required=True, location=<EntityLocation.ATTRIBUTE: 2>, path='skirtheight', nillable=False), 'usage': XmlEntityInfo(annotation=str, required=True, location=<EntityLocation.ATTRIBUTE: 2>, path='usage', nillable=False), 'well_capacity': XmlEntityInfo(annotation=int, required=True, location=<EntityLocation.ATTRIBUTE: 2>, path='wellcapacity', nillable=False), 'well_length': XmlEntityInfo(annotation=int, required=True, location=<EntityLocation.ATTRIBUTE: 2>, path='welllength', nillable=False), 'well_width': XmlEntityInfo(annotation=int, required=True, location=<EntityLocation.ATTRIBUTE: 2>, path='wellwidth', nillable=False)}¶
Metadata about the fields defined on the model, mapping of field names to [
FieldInfo][pydantic.fields.FieldInfo].This replaces
Model.__fields__from Pydantic V1.
- property model_fields_set: set[str]¶
Returns the set of fields that have been explicitly set on this model instance.
- Returns:
- A set of strings representing the fields that have been set,
i.e. that were not filled from defaults.
- classmethod model_json_schema(
- by_alias: bool = True,
- ref_template: str = '#/$defs/{model}',
- schema_generator: type[~pydantic.json_schema.GenerateJsonSchema] = <class 'pydantic.json_schema.GenerateJsonSchema'>,
- mode: ~typing.Literal['validation',
- 'serialization'] = 'validation',
Generates a JSON schema for a model class.
- Args:
by_alias: Whether to use attribute aliases or not. ref_template: The reference template. schema_generator: To override the logic used to generate the JSON schema, as a subclass of
GenerateJsonSchemawith your desired modificationsmode: The mode in which to generate the schema.
- Returns:
The JSON schema for the given model class.
- classmethod model_parametrized_name(params: tuple[type[Any], ...]) str¶
Compute the class name for parametrizations of generic classes.
This method can be overridden to achieve a custom naming scheme for generic BaseModels.
- Args:
- params: Tuple of types of the class. Given a generic class
Modelwith 2 type variables and a concrete modelModel[str, int], the value(str, int)would be passed toparams.
- Returns:
String representing the new class where
paramsare passed toclsas type variables.- Raises:
TypeError: Raised when trying to generate concrete names for non-generic models.
- model_post_init(_BaseModel__context: Any) None¶
Override this method to perform additional initialization after
__init__andmodel_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- classmethod model_rebuild(**kwargs: Any) None¶
Try to rebuild the pydantic-core schema for the model.
This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.
- Args:
force: Whether to force the rebuilding of the model schema, defaults to
False. raise_errors: Whether to raise errors, defaults toTrue. _parent_namespace_depth: The depth level of the parent namespace, defaults to 2. _types_namespace: The types namespace, defaults toNone.- Returns:
Returns
Noneif the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returnsTrueif rebuilding was successful, otherwiseFalse.
- classmethod model_validate(
- obj: Any,
- *,
- strict: bool | None = None,
- from_attributes: bool | None = None,
- context: dict[str, Any] | None = None,
Validate a pydantic model instance.
- Args:
obj: The object to validate. strict: Whether to enforce types strictly. from_attributes: Whether to extract data from object attributes. context: Additional context to pass to the validator.
- Raises:
ValidationError: If the object could not be validated.
- Returns:
The validated model instance.
- classmethod model_validate_json(
- json_data: str | bytes | bytearray,
- *,
- strict: bool | None = None,
- context: dict[str, Any] | None = None,
Usage docs: https://docs.pydantic.dev/2.6/concepts/json/#json-parsing
Validate the given JSON data against the Pydantic model.
- Args:
json_data: The JSON data to validate. strict: Whether to enforce types strictly. context: Extra variables to pass to the validator.
- Returns:
The validated Pydantic model.
- Raises:
ValueError: If
json_datais not a JSON string.
- classmethod model_validate_strings( ) Model¶
Validate the given object contains string data against the Pydantic model.
- Args:
obj: The object contains string data to validate. strict: Whether to enforce types strictly. context: Extra variables to pass to the validator.
- Returns:
The validated Pydantic model.