pylabrobot.resources.Carrier

Contents

pylabrobot.resources.Carrier#

class pylabrobot.resources.Carrier(name: str, size_x: float, size_y: float, size_z: float, sites: List[CarrierSite] | None = None, category: str | None = 'carrier', model: str | None = None)#

Bases: Resource

Abstract base resource for carriers.

It is recommended to always use a resource carrier to store resources, because this ensures the location of the resources can be calculated precisely.

It is important to use the __getitem__ and __setitem__ methods to access the resources, because this ensures that the location of the resources is updated to be within the carrier and that the appropriate callbacks are called.

Examples

Creating a TipCarrier and assigning one set of tips at location 0 (the bottom):

>>> tip_car = TIP_CAR_480_A00(name='tip carrier')
>>> tip_car[0] = STF_L(name='tips_1')

Getting the tips:

>>> tip_car[0]

STF_L(name=’tips_1’)

Deleting the tips:

>>> del tip_car[0]

Alternative way to delete the tips:

>>> tip_car[0] = None
Variables:

capacity – The maximum number of items that can be stored in this carrier.

Parameters:
  • name (str)

  • size_x (float)

  • size_y (float)

  • size_z (float)

  • sites (Optional[List[CarrierSite]])

  • category (Optional[str])

  • model (Optional[str])

Attributes

capacity

name

Get the name of this resource.

Methods

__init__(name, size_x, size_y, size_z[, ...])

assign_child_resource(resource, location[, ...])

Assign a resource to this carrier.

assign_resource_to_site(resource, spot)

center([x, y, z])

Get the center of this resource.

centers([xn, yn, zn])

Get equally spaced points in the x, y, and z directions.

copy()

deregister_did_assign_resource_callback(callback)

Remove a callback that will be called after a resource is assigned to this resource.

deregister_did_unassign_resource_callback(...)

Remove a callback that will be called after a resource is unassigned from this resource.

deregister_state_update_callback(callback)

Remove a callback that will be called when the state of the resource changes.

deregister_will_assign_resource_callback(...)

Remove a callback that will be called before a resource is assigned to this resource.

deregister_will_unassign_resource_callback(...)

Remove a callback that will be called before a resource is unassigned from this resource.

deserialize(data)

Deserialize a resource from a dictionary.

get_absolute_location()

Get the absolute location of this resource, probably within the pylabrobot.resources.Deck.

get_all_children()

Recursively get all children of this resource.

get_resource(name)

Get a resource by name.

get_resources()

Get all resources, using self.__getitem__ (so that the location is within this carrier).

get_sites()

Get all sites.

get_size_x()

get_size_y()

get_size_z()

Get the size of this resource in the z-direction.

load_all_state(state)

Load state for this resource and all children.

load_from_json_file(json_file)

Loads resources from a JSON file.

load_state(state)

Load state for this resource only.

load_state_from_file(fn)

Load the state of this resource and all children from a JSON file.

register_did_assign_resource_callback(callback)

Add a callback that will be called after a resource is assigned to this resource.

register_did_unassign_resource_callback(callback)

Add a callback that will be called after a resource is unassigned from this resource.

register_state_update_callback(callback)

Register a callback that will be called when the state of the resource changes.

register_will_assign_resource_callback(callback)

Add a callback that will be called before a resource is assigned to this resource.

register_will_unassign_resource_callback(...)

Add a callback that will be called before a resource is unassigned from this resource.

rotate(degrees)

Rotate counter clockwise by the given number of degrees.

rotated(degrees)

Return a copy of this resource rotated by the given number of degrees.

save(fn[, indent])

Save a resource to a JSON file.

save_state_to_file(fn[, indent])

Save the state of this resource and all children to a JSON file.

serialize()

Serialize this resource.

serialize_all_state()

Serialize the state of this resource and all children.

serialize_state()

Serialize the state of this resource only.

unassign()

Unassign this resource from its parent.

unassign_child_resource(resource)

Unassign a resource from this carrier, checked by name.