unitelabs.labware.plates

Packages

Attributes

  • Name
    __all__
    Type
    Value

    = [ "Plate", "Lid", "Well", "Standard96Plate", "Standard384Plate", "Standard1536Plate" ]

    Description

Classes

  • Lid

    Lid for plates.

    MRO
    Decorators
    dataclasses.dataclass

    Methods

    • __init__(
        self,
        tags : dict,
      ) -> None

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        tags
        Type
        dict
        Default
        Description

      • Name
        dimensions
        Type
        Vector
        Default
        Description

      • Name
        fitting_depth
        Type
        Decimal
        Default
        Description

      • Name
        grab_height
        Type
        Decimal
        Default
        Description

    • __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

    • 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_by(self, angle : int) -> None

      Rotate clockwise by the given angle in degrees. Use negative numbers for counter clockwise rotation.

      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°.

    • 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°.

    • find(self, identifier : str) -> Resource

      Find a resource by its identifier.

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        identifier
        Type
        str
        Default
        Description

        The resource's identifier to search for.

      Response

      Type
      Resource
      Description

      The resource with the corresponding identifier.

      Exceptions

      Type
      TypeError
      Description
      If the identifier is a non string value.
      Type
      MissingResourceError
      Description
      If the resource could not be found.
    • __contains__(self, item : typing.Any) -> bool

      Check whether a resource is assigned to this resource.

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        item
        Type
        typing.Any
        Default
        Description

        The resource to search for.

      Response

      Type
      bool
      Description

      True if the resource could be found, False otherwise.

    • copy(self, **changes) -> typing_extensions.Self

      Return a copy of this resource.

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        **changes
        Type
        Default
        = {}
        Description

        Replace fields with values from `changes`.

      Response

      Type
      typing_extensions.Self
      Description

      A copy of this resource.

    • serialize(self) -> JsonSchema

      Serialize this resource as a JSON-like dictionary.

      Response

      Type
      JsonSchema
      Description

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

    • @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
      dimensions
      Type
      Vector
      Value

      = dataclasses.field(default_factory=lambda: Vector(x=127.76, y=85.48, z=10))

      Description

    • Name
      fitting_depth
      Type
      Decimal
      Value

      = Decimal(default=8)

      Description

    • Name
      grab_height
      Type
      Decimal
      Value

      = Decimal(default=5.7)

      Description

    • Name
      tags
      Type
      dict
      Value

      = dataclasses.field(default_factory=dict)

      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
      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.

  • Plate

    Abstract base class for plate resources.

    MRO
    Bases
    Group[Well],
    Decorators
    dataclasses.dataclass

    Methods

    • __init__(
        self,
        tags : dict,
        children : collections.abc.Sequence[T],
        cols : int,
        rows : int,
        lid : typing.Optional[Lid]
      ) -> None

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        tags
        Type
        dict
        Default
        Description

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

      • Name
        cols
        Type
        int
        Default
        = 12
        Description

      • Name
        rows
        Type
        int
        Default
        = 8
        Description

      • Name
        grab_height
        Type
        Decimal
        Default
        Description

      • Name
        lid
        Type
        typing.Optional[Lid]
        Default
        = None
        Description

    • __post_init__(self, *kwargs) -> None

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        *kwargs
        Type
        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

    • get(self) -> typing.Optional[Lid]

      Access the lid on the plate. Returns None if the plate is empty.

      Response

      Type
      typing.Optional[Lid]
      Description

    • @log()

      open(self) -> Lid

      Response

      Type
      Lid
      Description

    • @log()

      close(self, lid : Lid) -> Lid

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        lid
        Type
        Lid
        Default
        Description

      Response

      Type
      Lid
      Description

    • @typing_extensions.override

      __getitem__(self, index : typing.Union[int, str, slice]) -> typing.Union[Well, collections.abc.Sequence[Well]]

      Parameters

      • Name
        self
        Type
        Default
        Description

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

      Response

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

    • can_assign(
        self,
        **kwargs
      ) -> typing_extensions.TypeGuard[Lid]

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

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        resource
        Type
        typing.Optional[Resource]
        Default
        Description

        The resource to assign to this group.

      • Name
        **kwargs
        Type
        Default
        = {}
        Description

        Additional arguments for the group.

      Response

      Type
      typing_extensions.TypeGuard[Lid]
      Description

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

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

      Assign the given resource to this group.

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        resource
        Type
        typing.Optional[Resource]
        Default
        Description

        The resource to assign to this group.

      • Name
        **kwargs
        Type
        Default
        = {}
        Description

        Additional arguments for the group.

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

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

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        resource
        Type
        typing.Optional[Resource]
        Default
        = None
        Description

        The resource to unassign from this group.

      • Name
        **kwargs
        Type
        Default
        = {}
        Description

        Additional arguments for the group.

      Response

      Type
      typing_extensions.TypeGuard[Lid]
      Description

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

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

      Unassign the given resource from this group.

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        resource
        Type
        typing.Optional[Resource]
        Default
        = None
        Description

        The resource to unassign from this group.

      • Name
        **kwargs
        Type
        Default
        = {}
        Description

        Additional arguments for the group.

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

      Unassign the given resource from this group and assign it another one.

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        to
        Type
        Plate
        Default
        Description

        The target group to which to assign the resource to.

      • Name
        resource
        Type
        typing.Optional[Resource]
        Default
        = None
        Description

        The resource to reassign from this group to the other one.

      • Name
        **kwargs
        Type
        Default
        = {}
        Description

        Additional arguments for the group.

    • __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

    • __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
      cols
      Type
      int
      Value

      = 12

      Description

    • Name
      rows
      Type
      int
      Value

      = 8

      Description

    • Name
      grab_height
      Type
      Decimal
      Value

      = Decimal()

      Description

    • Name
      lid
      Type
      typing.Optional[Lid]
      Value

      = dataclasses.field(repr=False, default=None)

      Description

    • Name
      logger
      Type
      logging.Logger
      Value

      = None

      Description

    • Name
      height
      Type
      decimal.Decimal
      Value

      = None

      Description

    • Name
      has_lid
      Type
      bool
      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
      tags
      Type
      dict
      Value

      = dataclasses.field(default_factory=dict)

      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
      center
      Type
      Vector
      Value

      = None

      Description

      The center base of this resource.

  • Standard96Plate

    MRO
    Decorators
    dataclasses.dataclass

    Methods

    • __init__(
        self,
        tags : dict,
        children : collections.abc.Sequence[Well],
        cols : int,
        rows : int,
        lid : typing.Optional[Lid],
      ) -> None

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        tags
        Type
        dict
        Default
        Description

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

      • Name
        cols
        Type
        int
        Default
        = 12
        Description

      • Name
        rows
        Type
        int
        Default
        = 8
        Description

      • Name
        grab_height
        Type
        Decimal
        Default
        Description

      • Name
        lid
        Type
        typing.Optional[Lid]
        Default
        = None
        Description

      • Name
        dimensions
        Type
        Vector
        Default
        Description

    • __post_init__(self, *kwargs) -> None

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        *kwargs
        Type
        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

    • get(self) -> typing.Optional[Lid]

      Access the lid on the plate. Returns None if the plate is empty.

      Response

      Type
      typing.Optional[Lid]
      Description

    • @log()

      open(self) -> Lid

      Response

      Type
      Lid
      Description

    • @log()

      close(self, lid : Lid) -> Lid

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        lid
        Type
        Lid
        Default
        Description

      Response

      Type
      Lid
      Description

    • @typing_extensions.override

      __getitem__(self, index : typing.Union[int, str, slice]) -> typing.Union[Well, collections.abc.Sequence[Well]]

      Parameters

      • Name
        self
        Type
        Default
        Description

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

      Response

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

    • can_assign(
        self,
        **kwargs
      ) -> typing_extensions.TypeGuard[Lid]

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

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        resource
        Type
        typing.Optional[Resource]
        Default
        Description

        The resource to assign to this group.

      • Name
        **kwargs
        Type
        Default
        = {}
        Description

        Additional arguments for the group.

      Response

      Type
      typing_extensions.TypeGuard[Lid]
      Description

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

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

      Assign the given resource to this group.

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        resource
        Type
        typing.Optional[Resource]
        Default
        Description

        The resource to assign to this group.

      • Name
        **kwargs
        Type
        Default
        = {}
        Description

        Additional arguments for the group.

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

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

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        resource
        Type
        typing.Optional[Resource]
        Default
        = None
        Description

        The resource to unassign from this group.

      • Name
        **kwargs
        Type
        Default
        = {}
        Description

        Additional arguments for the group.

      Response

      Type
      typing_extensions.TypeGuard[Lid]
      Description

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

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

      Unassign the given resource from this group.

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        resource
        Type
        typing.Optional[Resource]
        Default
        = None
        Description

        The resource to unassign from this group.

      • Name
        **kwargs
        Type
        Default
        = {}
        Description

        Additional arguments for the group.

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

      Unassign the given resource from this group and assign it another one.

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        to
        Type
        Plate
        Default
        Description

        The target group to which to assign the resource to.

      • Name
        resource
        Type
        typing.Optional[Resource]
        Default
        = None
        Description

        The resource to reassign from this group to the other one.

      • Name
        **kwargs
        Type
        Default
        = {}
        Description

        Additional arguments for the group.

    • __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

    • __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
      cols
      Type
      int
      Value

      = 12

      Description

    • Name
      rows
      Type
      int
      Value

      = 8

      Description

    • Name
      dimensions
      Type
      Vector
      Value

      = dataclasses.field(default_factory=lambda: Vector(x=127.76, y=85.48, z=14.35))

      Description

    • Name
      grab_height
      Type
      Decimal
      Value

      = Decimal(default=13.2)

      Description

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

      = dataclasses.field(repr=False, default_factory=lambda: [Well(container=Container(max_volume=300, sections=[Cylinder(radius=3.48, height=10.67)]), dimensions=dimension).copy(location=location) for (location, dimension) in place_standardized(count=96)])

      Description

    • Name
      lid
      Type
      typing.Optional[Lid]
      Value

      = dataclasses.field(repr=False, default=None)

      Description

    • Name
      logger
      Type
      logging.Logger
      Value

      = None

      Description

    • Name
      height
      Type
      decimal.Decimal
      Value

      = None

      Description

    • Name
      has_lid
      Type
      bool
      Value

      = None

      Description

    • Name
      tags
      Type
      dict
      Value

      = dataclasses.field(default_factory=dict)

      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
      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
      center
      Type
      Vector
      Value

      = None

      Description

      The center base of this resource.

  • Standard384Plate

    MRO
    Decorators
    dataclasses.dataclass

    Methods

    • __init__(
        self,
        tags : dict,
        children : collections.abc.Sequence[Well],
        cols : int,
        rows : int,
        lid : typing.Optional[Lid],
      ) -> None

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        tags
        Type
        dict
        Default
        Description

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

      • Name
        cols
        Type
        int
        Default
        = 24
        Description

      • Name
        rows
        Type
        int
        Default
        = 16
        Description

      • Name
        grab_height
        Type
        Decimal
        Default
        Description

      • Name
        lid
        Type
        typing.Optional[Lid]
        Default
        = None
        Description

      • Name
        dimensions
        Type
        Vector
        Default
        Description

    • __post_init__(self, *kwargs) -> None

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        *kwargs
        Type
        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

    • get(self) -> typing.Optional[Lid]

      Access the lid on the plate. Returns None if the plate is empty.

      Response

      Type
      typing.Optional[Lid]
      Description

    • @log()

      open(self) -> Lid

      Response

      Type
      Lid
      Description

    • @log()

      close(self, lid : Lid) -> Lid

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        lid
        Type
        Lid
        Default
        Description

      Response

      Type
      Lid
      Description

    • @typing_extensions.override

      __getitem__(self, index : typing.Union[int, str, slice]) -> typing.Union[Well, collections.abc.Sequence[Well]]

      Parameters

      • Name
        self
        Type
        Default
        Description

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

      Response

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

    • can_assign(
        self,
        **kwargs
      ) -> typing_extensions.TypeGuard[Lid]

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

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        resource
        Type
        typing.Optional[Resource]
        Default
        Description

        The resource to assign to this group.

      • Name
        **kwargs
        Type
        Default
        = {}
        Description

        Additional arguments for the group.

      Response

      Type
      typing_extensions.TypeGuard[Lid]
      Description

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

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

      Assign the given resource to this group.

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        resource
        Type
        typing.Optional[Resource]
        Default
        Description

        The resource to assign to this group.

      • Name
        **kwargs
        Type
        Default
        = {}
        Description

        Additional arguments for the group.

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

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

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        resource
        Type
        typing.Optional[Resource]
        Default
        = None
        Description

        The resource to unassign from this group.

      • Name
        **kwargs
        Type
        Default
        = {}
        Description

        Additional arguments for the group.

      Response

      Type
      typing_extensions.TypeGuard[Lid]
      Description

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

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

      Unassign the given resource from this group.

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        resource
        Type
        typing.Optional[Resource]
        Default
        = None
        Description

        The resource to unassign from this group.

      • Name
        **kwargs
        Type
        Default
        = {}
        Description

        Additional arguments for the group.

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

      Unassign the given resource from this group and assign it another one.

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        to
        Type
        Plate
        Default
        Description

        The target group to which to assign the resource to.

      • Name
        resource
        Type
        typing.Optional[Resource]
        Default
        = None
        Description

        The resource to reassign from this group to the other one.

      • Name
        **kwargs
        Type
        Default
        = {}
        Description

        Additional arguments for the group.

    • __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

    • __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
      cols
      Type
      int
      Value

      = 24

      Description

    • Name
      rows
      Type
      int
      Value

      = 16

      Description

    • Name
      dimensions
      Type
      Vector
      Value

      = dataclasses.field(default_factory=lambda: Vector(x=127.76, y=85.48, z=14.35))

      Description

    • Name
      grab_height
      Type
      Decimal
      Value

      = Decimal(default=13.2)

      Description

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

      = dataclasses.field(repr=False, default_factory=lambda: [Well(container=Container(max_volume=100, sections=[Cylinder(radius=1.74, height=10.67)]), dimensions=dimension).copy(location=location) for (location, dimension) in place_standardized(count=384)])

      Description

    • Name
      lid
      Type
      typing.Optional[Lid]
      Value

      = dataclasses.field(repr=False, default=None)

      Description

    • Name
      logger
      Type
      logging.Logger
      Value

      = None

      Description

    • Name
      height
      Type
      decimal.Decimal
      Value

      = None

      Description

    • Name
      has_lid
      Type
      bool
      Value

      = None

      Description

    • Name
      tags
      Type
      dict
      Value

      = dataclasses.field(default_factory=dict)

      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
      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
      center
      Type
      Vector
      Value

      = None

      Description

      The center base of this resource.

  • Standard1536Plate

    MRO
    Decorators
    dataclasses.dataclass

    Methods

    • __init__(
        self,
        tags : dict,
        children : collections.abc.Sequence[Well],
        cols : int,
        rows : int,
        lid : typing.Optional[Lid],
      ) -> None

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        tags
        Type
        dict
        Default
        Description

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

      • Name
        cols
        Type
        int
        Default
        = 48
        Description

      • Name
        rows
        Type
        int
        Default
        = 32
        Description

      • Name
        grab_height
        Type
        Decimal
        Default
        Description

      • Name
        lid
        Type
        typing.Optional[Lid]
        Default
        = None
        Description

      • Name
        dimensions
        Type
        Vector
        Default
        Description

    • __post_init__(self, *kwargs) -> None

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        *kwargs
        Type
        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

    • get(self) -> typing.Optional[Lid]

      Access the lid on the plate. Returns None if the plate is empty.

      Response

      Type
      typing.Optional[Lid]
      Description

    • @log()

      open(self) -> Lid

      Response

      Type
      Lid
      Description

    • @log()

      close(self, lid : Lid) -> Lid

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        lid
        Type
        Lid
        Default
        Description

      Response

      Type
      Lid
      Description

    • @typing_extensions.override

      __getitem__(self, index : typing.Union[int, str, slice]) -> typing.Union[Well, collections.abc.Sequence[Well]]

      Parameters

      • Name
        self
        Type
        Default
        Description

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

      Response

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

    • can_assign(
        self,
        **kwargs
      ) -> typing_extensions.TypeGuard[Lid]

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

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        resource
        Type
        typing.Optional[Resource]
        Default
        Description

        The resource to assign to this group.

      • Name
        **kwargs
        Type
        Default
        = {}
        Description

        Additional arguments for the group.

      Response

      Type
      typing_extensions.TypeGuard[Lid]
      Description

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

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

      Assign the given resource to this group.

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        resource
        Type
        typing.Optional[Resource]
        Default
        Description

        The resource to assign to this group.

      • Name
        **kwargs
        Type
        Default
        = {}
        Description

        Additional arguments for the group.

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

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

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        resource
        Type
        typing.Optional[Resource]
        Default
        = None
        Description

        The resource to unassign from this group.

      • Name
        **kwargs
        Type
        Default
        = {}
        Description

        Additional arguments for the group.

      Response

      Type
      typing_extensions.TypeGuard[Lid]
      Description

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

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

      Unassign the given resource from this group.

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        resource
        Type
        typing.Optional[Resource]
        Default
        = None
        Description

        The resource to unassign from this group.

      • Name
        **kwargs
        Type
        Default
        = {}
        Description

        Additional arguments for the group.

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

      Unassign the given resource from this group and assign it another one.

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        to
        Type
        Plate
        Default
        Description

        The target group to which to assign the resource to.

      • Name
        resource
        Type
        typing.Optional[Resource]
        Default
        = None
        Description

        The resource to reassign from this group to the other one.

      • Name
        **kwargs
        Type
        Default
        = {}
        Description

        Additional arguments for the group.

    • __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

    • __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
      cols
      Type
      int
      Value

      = 48

      Description

    • Name
      rows
      Type
      int
      Value

      = 32

      Description

    • Name
      dimensions
      Type
      Vector
      Value

      = dataclasses.field(default_factory=lambda: Vector(x=127.76, y=85.48, z=14.35))

      Description

    • Name
      grab_height
      Type
      Decimal
      Value

      = Decimal(default=13.2)

      Description

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

      = dataclasses.field(repr=False, default_factory=lambda: [Well(container=Container(max_volume=15, sections=[Cylinder(radius=1.74, height=10.67)]), dimensions=dimension).copy(location=location) for (location, dimension) in place_standardized(count=1536)])

      Description

    • Name
      lid
      Type
      typing.Optional[Lid]
      Value

      = dataclasses.field(repr=False, default=None)

      Description

    • Name
      logger
      Type
      logging.Logger
      Value

      = None

      Description

    • Name
      height
      Type
      decimal.Decimal
      Value

      = None

      Description

    • Name
      has_lid
      Type
      bool
      Value

      = None

      Description

    • Name
      tags
      Type
      dict
      Value

      = dataclasses.field(default_factory=dict)

      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
      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
      center
      Type
      Vector
      Value

      = None

      Description

      The center base of this resource.

  • Well

    MRO
    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

      • Name
        container
        Type
        Container
        Default
        Description

      • Name
        shape
        Type
        Shape
        Default
        = SQUARE
        Description

      • Name
        bottom_type
        Type
        WellBottomType
        Default
        = FLAT
        Description

    • __post_init__(self, *kwargs) -> None

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        *kwargs
        Type
        Default
        = ()
        Description

    • get_holes_for_channels(self, channels : collections.abc.Sequence[int]) -> list[Hole]

      Get hole for channel.

      Parameters

      • Name
        self
        Type
        Default
        Description

      • Name
        channels
        Type
        collections.abc.Sequence[int]
        Default
        Description

        The zero-based indices of the channels involved.

      Response

      Type
      list[Hole]
      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
      shape
      Type
      Shape
      Value

      = Shape.SQUARE

      Description

    • Name
      bottom_type
      Type
      WellBottomType
      Value

      = WellBottomType.FLAT

      Description

    • Name
      container
      Type
      Container
      Value

      = dataclasses.field(default_factory=Container)

      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