Deck

The deck is the area in which labware is arranged for usage by the liquid handling system.

MRO
Bases
Group[T]
Decorators
dataclasses.dataclass

Methods

  • __init__(self, children : collections.abc.Sequence[T]) -> None

    Parameters

    • Name
      self
      Type
      Default
      Description

    • Name
      children
      Type
      collections.abc.Sequence[T]
      Default
      Description

  • get(self, identifier : str) -> Labware

    Find and return labware with the given identifier on the deck.

    Parameters

    • Name
      self
      Type
      Default
      Description

    • Name
      identifier
      Type
      str
      Default
      Description

      The labware's identifier.

    Response

    Type
    Labware
    Description

    The labware with the given identifier.

  • @log()

    add(self, labware : Labware, **kwargs) -> None

    Add the labware to this deck.

    Parameters

    • Name
      self
      Type
      Default
      Description

    • Name
      labware
      Type
      Labware
      Default
      Description

      The labware to add to the deck.

    • Name
      **kwargs
      Type
      Default
      = {}
      Description

      Additional arguments for the liquid handler.

  • @log()

    remove(self, labware : Labware, **kwargs) -> None

    Remove the labware from this deck.

    Parameters

    • Name
      self
      Type
      Default
      Description

    • Name
      labware
      Type
      Labware
      Default
      Description

      The labware to remove from the deck.

    • Name
      **kwargs
      Type
      Default
      = {}
      Description

      Additional arguments for the liquid handler.

  • @log()

    clear(self) -> None

    Remove all labware from this deck.

  • summary(self) -> str

    Summarize the main resources of the current deck layout.

    Response

    Type
    str
    Description

    The deck layout summary.

  • can_assign(
      self,
      location : typing.Optional[Vector],
      **kwargs
    ) -> typing_extensions.TypeGuard[T]

    Verify whether the given resource can be assigned to this deck.

    Parameters

    • Name
      self
      Type
      Default
      Description

    • Name
      resource
      Type
      Labware
      Default
      Description

      The resource to assign to this deck.

    • Name
      location
      Type
      typing.Optional[Vector]
      Default
      = None
      Description

      The location where to place the resource relative to the deck's origin.

    • Name
      **kwargs
      Type
      Default
      = {}
      Description

      Additional arguments for the deck.

    Response

    Type
    typing_extensions.TypeGuard[T]
    Description

    True if the resource can be assigned, otherwise raise an error.

  • assign(
      self,
      location : typing.Optional[Vector],
      **kwargs
    ) -> None

    Assign the given resource to this deck.

    Parameters

    • Name
      self
      Type
      Default
      Description

    • Name
      resource
      Type
      Labware
      Default
      Description

      The resource to assign to this deck.

    • Name
      location
      Type
      typing.Optional[Vector]
      Default
      = None
      Description

      The location where to place the resource relative to the deck's origin.

    • Name
      **kwargs
      Type
      Default
      = {}
      Description

      Additional arguments for the deck.

  • can_unassign(
      self,
      **kwargs
    ) -> typing_extensions.TypeGuard[T]

    Verify whether the given resource can be unassigned from this deck.

    Parameters

    • Name
      self
      Type
      Default
      Description

    • Name
      resource
      Type
      Labware
      Default
      Description

      The resource to unassign from this deck.

    • Name
      **kwargs
      Type
      Default
      = {}
      Description

      Additional arguments for the deck.

    Response

    Type
    typing_extensions.TypeGuard[T]
    Description

    True if the resource can be unassigned, otherwise raise an error.

  • unassign(
      self,
      **kwargs
    ) -> None

    Unassign the given resource from this deck.

    Parameters

    • Name
      self
      Type
      Default
      Description

    • Name
      resource
      Type
      Labware
      Default
      Description

      The resource to unassign from this deck.

    • Name
      **kwargs
      Type
      Default
      = {}
      Description

      Additional arguments for the deck.

  • __post_init__(self, *kwargs) -> None

    Parameters

    • Name
      self
      Type
      Default
      Description

    • Name
      *kwargs
      Type
      Default
      = ()
      Description

  • __init_subclass__(cls) -> None

    Parameters

    • Name
      cls
      Type
      Default
      Description

  • @typing_extensions.override

    rotate_by(self, angle : int) -> None

    Parameters

    • Name
      self
      Type
      Default
      Description

    • Name
      angle
      Type
      int
      Default
      Description

  • find(self, identifier) -> None

    Parameters

    • Name
      self
      Type
      Default
      Description

    • Name
      identifier
      Type
      Default
      Description

  • __contains__(self, item : typing.Any) -> bool

    Parameters

    • Name
      self
      Type
      Default
      Description

    • Name
      item
      Type
      typing.Any
      Default
      Description

    Response

    Type
    bool
    Description

  • __getitem__(self, key : typing.Union[int, str, slice]) -> typing.Union[T, collections.abc.Sequence[T]]

    Parameters

    • Name
      self
      Type
      Default
      Description

    • Name
      key
      Type
      typing.Union[int, str, slice]
      Default
      Description

    Response

    Type
    typing.Union[T, collections.abc.Sequence[T]]
    Description

  • __len__(self) -> int

    The number of children in this group.

    Response

    Type
    int
    Description

    The number of children in this group.

  • __iter__(self) -> collections.abc.Iterator[T]

    Iterate over the children of this group.

    Response

    Type
    collections.abc.Iterator[T]
    Description

    An iterator to iterate over all children in this group.

  • _index(self, key : typing.Union[int, str, slice]) -> typing.Union[int, slice]

    Parameters

    • Name
      self
      Type
      Default
      Description

    • Name
      key
      Type
      typing.Union[int, str, slice]
      Default
      Description

    Response

    Type
    typing.Union[int, slice]
    Description

  • copy(self, **changes) -> None

    Parameters

    • Name
      self
      Type
      Default
      Description

    • Name
      **changes
      Type
      Default
      = {}
      Description

  • serialize(self) -> JsonSchema

    Response

    Type
    JsonSchema
    Description

  • assign_to(self, parent : Group) -> None

    Set the parent of this resource to the given group.

    Parameters

    • Name
      self
      Type
      Default
      Description

    • Name
      parent
      Type
      Group
      Default
      Description

      The group to which this resource is assigned to.

  • @deprecation.deprecated(deprecated_in='0.1.20', removed_in='0.2.0', current_version=__version__, details='Use `rotate_by` instead.')

    rotate(self, angle : int) -> None

    Parameters

    • Name
      self
      Type
      Default
      Description

    • Name
      angle
      Type
      int
      Default
      Description

  • rotate_to(self, angle : int) -> None

    Rotate to the given absolute angle in degrees.

    Parameters

    • Name
      self
      Type
      Default
      Description

    • Name
      angle
      Type
      int
      Default
      Description

      The angle in degrees to rotate the resource. Must be a multiple of 90°.

  • @classmethod

    deserialize(cls, identifier : str, schema : JsonSchema) -> typing_extensions.Self

    Deserialize a JSON-like dictionary to a resource.

    Parameters

    • Name
      cls
      Type
      Default
      Description

    • Name
      identifier
      Type
      str
      Default
      Description

      The identifier of the resource to deserialize.

    • Name
      schema
      Type
      JsonSchema
      Default
      Description

      The JSON-like dictionary with the resource's data.

    Response

    Type
    typing_extensions.Self
    Description

    The newly created resource.

  • @classmethod

    subclass_by_name(cls, name : str) -> typing.Optional[type[Resource]]

    Recursively find a resource subclass with the given name.

    Parameters

    • Name
      cls
      Type
      Default
      Description

    • Name
      name
      Type
      str
      Default
      Description

      The name of the class to find.

    Response

    Type
    typing.Optional[type[Resource]]
    Description

    The class with the given name, or `None` if no such class exists.

    Exceptions

    Type
    TypeError
    Description
    If the name is not a valid class name.

Attributes

  • Name
    logger
    Type
    logging.Logger
    Value

    = None

    Description

  • Name
    children
    Type
    collections.abc.Sequence[T]
    Value

    = dataclasses.field(metadata={'marshmallow_field': marshmallow.fields.List(ChildrenField(Resource.Schema(), 'identifier'))}, repr=False, default_factory=list)

    Description

  • Name
    identifier
    Type
    str
    Value

    = dataclasses.field(default_factory=lambda: str(uuid.uuid4().hex[:8]))

    Description

  • Name
    rotation
    Type
    int
    Value

    = 0

    Description

  • Name
    dimensions
    Type
    Vector
    Value

    = dataclasses.field(default_factory=Vector)

    Description

  • Name
    location
    Type
    typing.Optional[Vector]
    Value

    = None

    Description

  • Name
    Schema
    Type
    type[marshmallow.Schema]
    Value

    = marshmallow.Schema

    Description

  • Name
    name
    Type
    str
    Value

    = None

    Description

    A human readable name to identify resources.

  • Name
    absolute_location
    Type
    Vector
    Value

    = None

    Description

    The absolute location of this resource.

  • Name
    width
    Type
    decimal.Decimal
    Value

    = None

    Description

    The size of the resource along the x-axis.

  • Name
    depth
    Type
    decimal.Decimal
    Value

    = None

    Description

    The size of the resource along the y-axis.

  • Name
    height
    Type
    decimal.Decimal
    Value

    = None

    Description

    The size of the resource along the z-axis.

  • Name
    center
    Type
    Vector
    Value

    = None

    Description

    The center base of this resource.

Copyright © 2024