opentrons 8.3.0a4__py2.py3-none-any.whl → 8.3.0a5__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -115,8 +115,23 @@ class Well:
115
115
  @property
116
116
  @requires_version(2, 0)
117
117
  def has_tip(self) -> bool:
118
- """Whether this well contains a tip. Always ``False`` if the parent labware
119
- isn't a tip rack."""
118
+ """Whether this well contains an unused tip.
119
+
120
+ From API v2.2 on:
121
+
122
+ - Returns ``False`` if:
123
+
124
+ - the well has no tip present, or
125
+ - the well has a tip that's been used by the protocol previously
126
+
127
+ - Returns ``True`` if the well has an unused tip.
128
+
129
+ Before API v2.2:
130
+
131
+ - Returns ``True`` as long as the well has a tip, even if it is used.
132
+
133
+ Always ``False`` if the parent labware isn't a tip rack.
134
+ """
120
135
  return self._core.has_tip()
121
136
 
122
137
  @has_tip.setter
@@ -44,6 +44,7 @@ EvotipSealPipetteCommandType = Literal["evotipSealPipette"]
44
44
  _PREP_DISTANCE_DEFAULT = 8.25
45
45
  _PRESS_DISTANCE_DEFAULT = 3.5
46
46
  _EJECTOR_PUSH_MM_DEFAULT = 7.0
47
+ _SAFE_TOP_VOLUME = 400
47
48
 
48
49
 
49
50
  class TipPickUpParams(BaseModel):
@@ -240,7 +241,6 @@ class EvotipSealPipetteImplementation(
240
241
  tip_geometry = self._state_view.geometry.get_nominal_tip_geometry(
241
242
  pipette_id, labware_id, well_name
242
243
  )
243
- maximum_volume = self._state_view.pipettes.get_maximum_volume(pipette_id)
244
244
  if self._state_view.pipettes.get_mount(pipette_id) == MountType.LEFT:
245
245
  await self._hardware_api.home(axes=[Axis.P_L])
246
246
  else:
@@ -281,7 +281,7 @@ class EvotipSealPipetteImplementation(
281
281
  self._tip_handler.cache_tip(pipette_id, tip_geometry)
282
282
  hw_instr = self._hardware_api.hardware_instruments[mount.to_hw_mount()]
283
283
  if hw_instr is not None:
284
- hw_instr.set_current_volume(maximum_volume)
284
+ hw_instr.set_current_volume(_SAFE_TOP_VOLUME)
285
285
 
286
286
  state_update = StateUpdate()
287
287
  state_update.update_pipette_tip_state(
@@ -291,7 +291,7 @@ class EvotipSealPipetteImplementation(
291
291
 
292
292
  state_update.set_fluid_aspirated(
293
293
  pipette_id=pipette_id,
294
- fluid=AspiratedFluid(kind=FluidKind.LIQUID, volume=maximum_volume),
294
+ fluid=AspiratedFluid(kind=FluidKind.LIQUID, volume=_SAFE_TOP_VOLUME),
295
295
  )
296
296
  return SuccessData(
297
297
  public=EvotipSealPipetteResult(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: opentrons
3
- Version: 8.3.0a4
3
+ Version: 8.3.0a5
4
4
  Summary: The Opentrons API is a simple framework designed to make writing automated biology lab protocols easy.
5
5
  Author: Opentrons
6
6
  Author-email: engineering@opentrons.com
@@ -21,7 +21,7 @@ Classifier: Programming Language :: Python :: 3.10
21
21
  Classifier: Topic :: Scientific/Engineering
22
22
  Requires-Python: >=3.10
23
23
  License-File: ../LICENSE
24
- Requires-Dist: opentrons-shared-data (==8.3.0a4)
24
+ Requires-Dist: opentrons-shared-data (==8.3.0a5)
25
25
  Requires-Dist: aionotify (==0.3.1)
26
26
  Requires-Dist: anyio (<4.0.0,>=3.6.1)
27
27
  Requires-Dist: jsonschema (<4.18.0,>=3.0.1)
@@ -35,9 +35,9 @@ Requires-Dist: pyusb (==1.2.1)
35
35
  Requires-Dist: packaging (>=21.0)
36
36
  Requires-Dist: importlib-metadata (>=1.0) ; python_version < "3.8"
37
37
  Provides-Extra: flex-hardware
38
- Requires-Dist: opentrons-hardware[flex] (==8.3.0a4) ; extra == 'flex-hardware'
38
+ Requires-Dist: opentrons-hardware[flex] (==8.3.0a5) ; extra == 'flex-hardware'
39
39
  Provides-Extra: ot2-hardware
40
- Requires-Dist: opentrons-hardware (==8.3.0a4) ; extra == 'ot2-hardware'
40
+ Requires-Dist: opentrons-hardware (==8.3.0a5) ; extra == 'ot2-hardware'
41
41
 
42
42
  .. _Full API Documentation: http://docs.opentrons.com
43
43
 
@@ -227,7 +227,7 @@ opentrons/protocol_api/create_protocol_context.py,sha256=wwsZje0L__oDnu1Yrihau32
227
227
  opentrons/protocol_api/deck.py,sha256=94vFceg1SC1bAGd7TvC1ZpYwnJR-VlzurEZ6jkacYeg,8910
228
228
  opentrons/protocol_api/disposal_locations.py,sha256=NRiSGmDR0LnbyEkWSOM-o64uR2fUoB1NWJG7Y7SsJSs,7920
229
229
  opentrons/protocol_api/instrument_context.py,sha256=m6J8W5J9jy-gHU5f5A_hoFtAt1v3iP7Q0uKKgL8bEWo,107284
230
- opentrons/protocol_api/labware.py,sha256=3pTaZlk7tbhY0wU9eNoq8ivaRC1uBo1h2f7eAZoLmHY,58879
230
+ opentrons/protocol_api/labware.py,sha256=mgnk1SiiN4CnBwBUolE4C4gRaBZqAoLylsJANPCyWHU,59241
231
231
  opentrons/protocol_api/module_contexts.py,sha256=jU3IMPE5L78-KuZRfaPwB6xO0kiTup65IteqMPFOFR0,42262
232
232
  opentrons/protocol_api/module_validation_and_errors.py,sha256=XL_m72P8rcvGO2fynY7UzXLcpGuI6X4s0V6Xf735Iyc,1464
233
233
  opentrons/protocol_api/protocol_context.py,sha256=Y9jCj1t3wzawarPyOVcp-8qUmEnIhpyVSaHujVfT9Nk,60601
@@ -305,7 +305,7 @@ opentrons/protocol_engine/commands/dispense_in_place.py,sha256=h2ASkZW-PlrJViN7Z
305
305
  opentrons/protocol_engine/commands/drop_tip.py,sha256=2L4tGsDFh8xQwro5FKiZ6onVgo5FRpGVe708vvhsDs4,6900
306
306
  opentrons/protocol_engine/commands/drop_tip_in_place.py,sha256=pVC0Yh_LkRTuTjzmFJufBWDlgRyMT8sJBl3TLAZFSUc,4497
307
307
  opentrons/protocol_engine/commands/evotip_dispense.py,sha256=RKnItIOHJHTa0J_SioyWI2s4DuRrbnakA6lGp6UrPXI,4847
308
- opentrons/protocol_engine/commands/evotip_seal_pipette.py,sha256=iVDD349BjD6eKCX8Oft57a51g45IXWTIDEcWUD4rt_A,11529
308
+ opentrons/protocol_engine/commands/evotip_seal_pipette.py,sha256=N2vCLnH9TQ9AuRfikHk7StJ_LU1wQFd8U3ppP-0BcD4,11474
309
309
  opentrons/protocol_engine/commands/evotip_unseal_pipette.py,sha256=JBhG8Kbu5PFrDa5b_Q8n-O582oq55ZgPn65kUAZwh0A,5363
310
310
  opentrons/protocol_engine/commands/generate_command_schema.py,sha256=OzjMuHNJ7uCyjA7XBrQ18-j0L48W2kLPDFJ6FBM5aUo,1184
311
311
  opentrons/protocol_engine/commands/get_next_tip.py,sha256=JS5hN_UScAiUIo_j7KT2cR1GDj3hDvaNPTSovWbgTHo,4828
@@ -542,9 +542,9 @@ opentrons/util/helpers.py,sha256=3hr801bWGbxEcOFAS7f-iOhmnUhoK5qahbB8SIvaCfY,165
542
542
  opentrons/util/linal.py,sha256=IlKAP9HkNBBgULeSf4YVwSKHdx9jnCjSr7nvDvlRALg,5753
543
543
  opentrons/util/logging_config.py,sha256=UHoY7dyD6WMYNP5GKowbMxUSG_hlXeI5TaIwksR5u-U,6887
544
544
  opentrons/util/performance_helpers.py,sha256=ew7H8XD20iS6-2TJAzbQeyzStZkkE6PzHt_Adx3wbZQ,5172
545
- opentrons-8.3.0a4.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
546
- opentrons-8.3.0a4.dist-info/METADATA,sha256=M5vBqNCZm84LMzjXCjdAB6wg2EcmgU4wBjc2Mb4xqok,5084
547
- opentrons-8.3.0a4.dist-info/WHEEL,sha256=qUzzGenXXuJTzyjFah76kDVqDvnk-YDzY00svnrl84w,109
548
- opentrons-8.3.0a4.dist-info/entry_points.txt,sha256=fTa6eGCYkvOtv0ov-KVE8LLGetgb35LQLF9x85OWPVw,106
549
- opentrons-8.3.0a4.dist-info/top_level.txt,sha256=wk6whpbMZdBQpcK0Fg0YVfUGrAgVOFON7oQAhOMGMW8,10
550
- opentrons-8.3.0a4.dist-info/RECORD,,
545
+ opentrons-8.3.0a5.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
546
+ opentrons-8.3.0a5.dist-info/METADATA,sha256=075Ncjn22SffDSSPBIimlfK2Nk0MBEYlui7F7G91CTQ,5084
547
+ opentrons-8.3.0a5.dist-info/WHEEL,sha256=qUzzGenXXuJTzyjFah76kDVqDvnk-YDzY00svnrl84w,109
548
+ opentrons-8.3.0a5.dist-info/entry_points.txt,sha256=fTa6eGCYkvOtv0ov-KVE8LLGetgb35LQLF9x85OWPVw,106
549
+ opentrons-8.3.0a5.dist-info/top_level.txt,sha256=wk6whpbMZdBQpcK0Fg0YVfUGrAgVOFON7oQAhOMGMW8,10
550
+ opentrons-8.3.0a5.dist-info/RECORD,,