@opentrons/shared-data 0.1.7-alpha.0 → 0.2.0-alpha.0

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.
Files changed (372) hide show
  1. package/.coveragerc +4 -0
  2. package/.flake8 +31 -0
  3. package/Config.in +11 -0
  4. package/LICENSE +202 -0
  5. package/Makefile +13 -14
  6. package/Makefile-python.mk +134 -0
  7. package/buildroot.mk +35 -0
  8. package/command/index.ts +16 -2
  9. package/command/schemas/12.json +65 -0
  10. package/command/schemas/13.json +7039 -0
  11. package/command/schemas/14.json +7254 -0
  12. package/command/types/annotation.ts +1 -1
  13. package/command/types/calibration.ts +7 -6
  14. package/command/types/gantry.ts +7 -6
  15. package/command/types/incidental.ts +1 -1
  16. package/command/types/index.ts +79 -20
  17. package/command/types/module.ts +98 -11
  18. package/command/types/pipetting.ts +9 -3
  19. package/command/types/robot.ts +98 -0
  20. package/command/types/setup.ts +8 -8
  21. package/command/types/support.ts +14 -2
  22. package/command/types/timing.ts +1 -1
  23. package/command/types/unsafe.ts +63 -1
  24. package/deck/definitions/5/ot2_short_trash.json +37 -0
  25. package/deck/definitions/5/ot2_standard.json +37 -0
  26. package/deck/definitions/5/ot3_standard.json +152 -51
  27. package/deck/index.ts +3 -6
  28. package/deck/schemas/5.json +46 -1
  29. package/errors/definitions/1/errors.json +12 -0
  30. package/errors/index.ts +2 -1
  31. package/labware/definitions/2/agilent_1_reservoir_290ml/3.json +80 -0
  32. package/labware/definitions/2/appliedbiosystemsmicroamp_384_wellplate_40ul/3.json +4737 -0
  33. package/labware/definitions/2/axygen_96_wellplate_500ul/1.json +1036 -0
  34. package/labware/definitions/2/axygen_96_wellplate_500ul/2.json +1159 -0
  35. package/labware/definitions/2/biorad_384_wellplate_50ul/4.json +4748 -0
  36. package/labware/definitions/2/biorad_96_wellplate_200ul_pcr/4.json +1187 -0
  37. package/labware/definitions/2/corning_12_wellplate_6.9ml_flat/4.json +210 -0
  38. package/labware/definitions/2/corning_24_wellplate_3.4ml_flat/4.json +342 -0
  39. package/labware/definitions/2/corning_384_wellplate_112ul_flat/4.json +5116 -0
  40. package/labware/definitions/2/corning_48_wellplate_1.6ml_flat/4.json +605 -0
  41. package/labware/definitions/2/corning_48_wellplate_1.6ml_flat/5.json +610 -0
  42. package/labware/definitions/2/corning_6_wellplate_16.8ml_flat/4.json +134 -0
  43. package/labware/definitions/2/corning_96_wellplate_360ul_flat/4.json +1177 -0
  44. package/labware/definitions/2/corning_96_wellplate_360ul_lid/1.json +111 -0
  45. package/labware/definitions/2/ev_resin_tips_flex_96_labware/1.json +1 -1
  46. package/labware/definitions/2/ibidi_96_square_well_plate_300ul/1.json +1105 -0
  47. package/labware/definitions/2/ibidi_96_square_well_plate_300ul/2.json +1216 -0
  48. package/labware/definitions/2/ibidi_96_square_well_plate_300ul_lid/1.json +110 -0
  49. package/labware/definitions/2/nest_12_reservoir_22ml/1.json +232 -0
  50. package/labware/definitions/2/nest_1_reservoir_290ml/3.json +80 -0
  51. package/labware/definitions/2/nest_24_wellplate_10.4ml/1.json +386 -0
  52. package/labware/definitions/2/nest_8_reservoir_22ml/1.json +162 -0
  53. package/labware/definitions/2/nest_96_wellplate_100ul_pcr_full_skirt/4.json +1166 -0
  54. package/labware/definitions/2/nest_96_wellplate_200ul_flat/4.json +1145 -0
  55. package/labware/definitions/2/nest_96_wellplate_2ml_deep/4.json +1261 -0
  56. package/labware/definitions/2/opentrons_24_aluminumblock_nest_0.5ml_screwcap/3.json +370 -0
  57. package/labware/definitions/2/opentrons_24_tuberack_nest_0.5ml_screwcap/3.json +371 -0
  58. package/labware/definitions/2/opentrons_96_aluminumblock_generic_pcr_strip_200ul/4.json +1149 -0
  59. package/labware/definitions/2/opentrons_96_wellplate_200ul_pcr_full_skirt/4.json +1174 -0
  60. package/labware/definitions/2/opentrons_flex_96_filtertiprack_1000ul/1.json +5 -0
  61. package/labware/definitions/2/opentrons_flex_96_filtertiprack_200ul/1.json +5 -0
  62. package/labware/definitions/2/opentrons_flex_96_filtertiprack_20ul/1.json +5 -0
  63. package/labware/definitions/2/opentrons_flex_96_filtertiprack_50ul/1.json +5 -0
  64. package/labware/definitions/2/opentrons_flex_96_tiprack_1000ul/1.json +5 -0
  65. package/labware/definitions/2/opentrons_flex_96_tiprack_200ul/1.json +5 -0
  66. package/labware/definitions/2/opentrons_flex_96_tiprack_20ul/1.json +5 -0
  67. package/labware/definitions/2/opentrons_flex_96_tiprack_50ul/1.json +5 -0
  68. package/labware/definitions/2/opentrons_flex_tiprack_lid/1.json +15 -9
  69. package/labware/definitions/2/opentrons_tough_pcr_auto_sealing_lid/1.json +8 -0
  70. package/labware/definitions/2/opentrons_tough_universal_lid/1.json +16 -1
  71. package/labware/definitions/2/smc_384_read_plate/1.json +4701 -0
  72. package/labware/definitions/2/smc_384_read_plate/2.json +5100 -0
  73. package/labware/definitions/2/thermoscientificnunc_96_wellplate_1300ul/3.json +1141 -0
  74. package/labware/definitions/2/thermoscientificnunc_96_wellplate_2000ul/3.json +1141 -0
  75. package/labware/definitions/2/usascientific_12_reservoir_22ml/3.json +237 -0
  76. package/labware/definitions/2/usascientific_96_wellplate_2.4ml_deep/3.json +1243 -0
  77. package/labware/definitions/3/schema3test_96_well_aluminum_block/999.json +1050 -0
  78. package/labware/definitions/3/schema3test_96_wellplate_200ul_pcr_full_skirt/999.json +1202 -0
  79. package/labware/definitions/3/schema3test_aluminum_flat_bottom_plate/999.json +70 -0
  80. package/labware/definitions/3/schema3test_flex_96_tiprack_200ul/999.json +1037 -0
  81. package/labware/definitions/3/schema3test_flex_96_tiprack_adapter/999.json +70 -0
  82. package/labware/definitions/3/schema3test_flex_tiprack_lid/999.json +146 -0
  83. package/labware/definitions/3/schema3test_tough_pcr_auto_sealing_lid/999.json +162 -0
  84. package/labware/definitions/3/schema3test_universal_flat_adapter/999.json +157 -0
  85. package/labware/fixtures/2/fixture_user_volumes_prototype.json +1137 -0
  86. package/labware/fixtures/2/index.ts +4 -4
  87. package/labware/fixtures/3/fixture_2_plate.json +28 -11
  88. package/labware/fixtures/3/fixture_corning_24_plate.json +51 -34
  89. package/labware/fixtures/3/index.ts +4 -0
  90. package/labware/schemas/2.json +36 -1
  91. package/labware/schemas/3.json +115 -25
  92. package/lib/command/index.d.ts +4211 -2095
  93. package/lib/command/schemas/12.json +65 -0
  94. package/lib/command/schemas/13.json +7039 -0
  95. package/lib/command/schemas/14.json +7254 -0
  96. package/lib/command/types/annotation.d.ts +1 -1
  97. package/lib/command/types/calibration.d.ts +5 -5
  98. package/lib/command/types/gantry.d.ts +5 -4
  99. package/lib/command/types/incidental.d.ts +1 -1
  100. package/lib/command/types/index.d.ts +60 -14
  101. package/lib/command/types/module.d.ts +75 -13
  102. package/lib/command/types/pipetting.d.ts +8 -3
  103. package/lib/command/types/robot.d.ts +71 -0
  104. package/lib/command/types/setup.d.ts +5 -5
  105. package/lib/command/types/support.d.ts +3 -2
  106. package/lib/command/types/timing.d.ts +1 -1
  107. package/lib/command/types/unsafe.d.ts +44 -3
  108. package/lib/deck/definitions/5/ot2_short_trash.json +37 -0
  109. package/lib/deck/definitions/5/ot2_standard.json +37 -0
  110. package/lib/deck/definitions/5/ot3_standard.json +152 -51
  111. package/lib/deck/index.d.ts +3 -3
  112. package/lib/deck/schemas/5.json +46 -1
  113. package/lib/errors/definitions/1/errors.json +12 -0
  114. package/lib/errors/index.d.ts +1 -1
  115. package/lib/index.mjs +380872 -297265
  116. package/lib/js/constants.d.ts +45 -17
  117. package/lib/js/deck/index.d.ts +2 -2
  118. package/lib/js/fixtures.d.ts +78 -3
  119. package/lib/js/getLabware.d.ts +3 -3
  120. package/lib/js/gripper.d.ts +1 -1
  121. package/lib/js/helpers/__tests__/getMaxPushOutVolume.test.d.ts +1 -0
  122. package/lib/js/helpers/__tests__/getMmFromBottom.test.d.ts +1 -0
  123. package/lib/js/helpers/__tests__/getStackedItemsOnStartingDeck.test.d.ts +1 -0
  124. package/lib/js/helpers/__tests__/labwareSchemaShims.test.d.ts +1 -0
  125. package/lib/js/helpers/__tests__/liquidClasses.test.d.ts +1 -0
  126. package/lib/js/helpers/__tests__/pairsFromArray.test.d.ts +1 -0
  127. package/lib/js/helpers/__tests__/vectorMath.test.d.ts +1 -0
  128. package/lib/js/helpers/getFixedTrashLabwareDefinition.d.ts +2 -2
  129. package/lib/js/helpers/getLabwareDefURI.d.ts +3 -0
  130. package/lib/js/helpers/getLabwareDefinitionsByURIForProtocol.d.ts +6 -0
  131. package/lib/js/helpers/getLabwareInfoByLiquidId.d.ts +10 -0
  132. package/lib/js/helpers/getLiquidsByIdForLabware.d.ts +2 -0
  133. package/lib/js/helpers/getLoadedLabwareDefinitionsByUri.d.ts +2 -2
  134. package/lib/js/helpers/getMaxPushOutVolume.d.ts +2 -0
  135. package/lib/js/helpers/getMmFromBottom.d.ts +2 -0
  136. package/lib/js/helpers/getSimplestFlexDeckConfig.d.ts +1 -1
  137. package/lib/js/helpers/getStackedItemsOnStartingDeck.d.ts +50 -0
  138. package/lib/js/helpers/getStandardDeckViewLayerBlockList.d.ts +2 -0
  139. package/lib/js/helpers/getTipTypeFromTipRackDefinition.d.ts +2 -2
  140. package/lib/js/helpers/getWellFillFromLabwareId.d.ts +4 -0
  141. package/lib/js/helpers/getWellNamePerMultiTip.d.ts +3 -3
  142. package/lib/js/helpers/getWellRangeForLiquidLabwarePair.d.ts +6 -0
  143. package/lib/js/helpers/getWellTotalVolume.d.ts +2 -2
  144. package/lib/js/helpers/index.d.ts +25 -14
  145. package/lib/js/helpers/labwareInference.d.ts +3 -3
  146. package/lib/js/helpers/liquidClasses.d.ts +10 -0
  147. package/lib/js/helpers/matrixMath.d.ts +3 -0
  148. package/lib/js/helpers/pairsFromArray.d.ts +8 -0
  149. package/lib/js/helpers/parseAddressableArea.d.ts +1 -1
  150. package/lib/js/helpers/parseProtocolCommands.d.ts +5 -5
  151. package/lib/js/helpers/positionMath.d.ts +127 -0
  152. package/lib/js/helpers/validateCustomLabwareHelper.d.ts +2 -2
  153. package/lib/js/helpers/vectorMath.d.ts +14 -0
  154. package/lib/js/helpers/wellSets.d.ts +4 -4
  155. package/lib/js/labware.d.ts +10 -9
  156. package/lib/js/labwareTools/index.d.ts +1 -1
  157. package/lib/js/liquidClasses.d.ts +4 -0
  158. package/lib/js/modules.d.ts +2 -2
  159. package/lib/js/pipettes.d.ts +3 -2
  160. package/lib/js/types.d.ts +105 -38
  161. package/lib/labware/definitions/2/agilent_1_reservoir_290ml/3.json +80 -0
  162. package/lib/labware/definitions/2/appliedbiosystemsmicroamp_384_wellplate_40ul/3.json +4737 -0
  163. package/lib/labware/definitions/2/axygen_96_wellplate_500ul/1.json +1036 -0
  164. package/lib/labware/definitions/2/axygen_96_wellplate_500ul/2.json +1159 -0
  165. package/lib/labware/definitions/2/biorad_384_wellplate_50ul/4.json +4748 -0
  166. package/lib/labware/definitions/2/biorad_96_wellplate_200ul_pcr/4.json +1187 -0
  167. package/lib/labware/definitions/2/corning_12_wellplate_6.9ml_flat/4.json +210 -0
  168. package/lib/labware/definitions/2/corning_24_wellplate_3.4ml_flat/4.json +342 -0
  169. package/lib/labware/definitions/2/corning_384_wellplate_112ul_flat/4.json +5116 -0
  170. package/lib/labware/definitions/2/corning_48_wellplate_1.6ml_flat/4.json +605 -0
  171. package/lib/labware/definitions/2/corning_48_wellplate_1.6ml_flat/5.json +610 -0
  172. package/lib/labware/definitions/2/corning_6_wellplate_16.8ml_flat/4.json +134 -0
  173. package/lib/labware/definitions/2/corning_96_wellplate_360ul_flat/4.json +1177 -0
  174. package/lib/labware/definitions/2/corning_96_wellplate_360ul_lid/1.json +111 -0
  175. package/lib/labware/definitions/2/ev_resin_tips_flex_96_labware/1.json +1 -1
  176. package/lib/labware/definitions/2/ibidi_96_square_well_plate_300ul/1.json +1105 -0
  177. package/lib/labware/definitions/2/ibidi_96_square_well_plate_300ul/2.json +1216 -0
  178. package/lib/labware/definitions/2/ibidi_96_square_well_plate_300ul_lid/1.json +110 -0
  179. package/lib/labware/definitions/2/nest_12_reservoir_22ml/1.json +232 -0
  180. package/lib/labware/definitions/2/nest_1_reservoir_290ml/3.json +80 -0
  181. package/lib/labware/definitions/2/nest_24_wellplate_10.4ml/1.json +386 -0
  182. package/lib/labware/definitions/2/nest_8_reservoir_22ml/1.json +162 -0
  183. package/lib/labware/definitions/2/nest_96_wellplate_100ul_pcr_full_skirt/4.json +1166 -0
  184. package/lib/labware/definitions/2/nest_96_wellplate_200ul_flat/4.json +1145 -0
  185. package/lib/labware/definitions/2/nest_96_wellplate_2ml_deep/4.json +1261 -0
  186. package/lib/labware/definitions/2/opentrons_24_aluminumblock_nest_0.5ml_screwcap/3.json +370 -0
  187. package/lib/labware/definitions/2/opentrons_24_tuberack_nest_0.5ml_screwcap/3.json +371 -0
  188. package/lib/labware/definitions/2/opentrons_96_aluminumblock_generic_pcr_strip_200ul/4.json +1149 -0
  189. package/lib/labware/definitions/2/opentrons_96_wellplate_200ul_pcr_full_skirt/4.json +1174 -0
  190. package/lib/labware/definitions/2/opentrons_flex_96_filtertiprack_1000ul/1.json +5 -0
  191. package/lib/labware/definitions/2/opentrons_flex_96_filtertiprack_200ul/1.json +5 -0
  192. package/lib/labware/definitions/2/opentrons_flex_96_filtertiprack_20ul/1.json +5 -0
  193. package/lib/labware/definitions/2/opentrons_flex_96_filtertiprack_50ul/1.json +5 -0
  194. package/lib/labware/definitions/2/opentrons_flex_96_tiprack_1000ul/1.json +5 -0
  195. package/lib/labware/definitions/2/opentrons_flex_96_tiprack_200ul/1.json +5 -0
  196. package/lib/labware/definitions/2/opentrons_flex_96_tiprack_20ul/1.json +5 -0
  197. package/lib/labware/definitions/2/opentrons_flex_96_tiprack_50ul/1.json +5 -0
  198. package/lib/labware/definitions/2/opentrons_flex_tiprack_lid/1.json +15 -9
  199. package/lib/labware/definitions/2/opentrons_tough_pcr_auto_sealing_lid/1.json +8 -0
  200. package/lib/labware/definitions/2/opentrons_tough_universal_lid/1.json +16 -1
  201. package/lib/labware/definitions/2/smc_384_read_plate/1.json +4701 -0
  202. package/lib/labware/definitions/2/smc_384_read_plate/2.json +5100 -0
  203. package/lib/labware/definitions/2/thermoscientificnunc_96_wellplate_1300ul/3.json +1141 -0
  204. package/lib/labware/definitions/2/thermoscientificnunc_96_wellplate_2000ul/3.json +1141 -0
  205. package/lib/labware/definitions/2/usascientific_12_reservoir_22ml/3.json +237 -0
  206. package/lib/labware/definitions/2/usascientific_96_wellplate_2.4ml_deep/3.json +1243 -0
  207. package/lib/labware/definitions/3/schema3test_96_well_aluminum_block/999.json +1050 -0
  208. package/lib/labware/definitions/3/schema3test_96_wellplate_200ul_pcr_full_skirt/999.json +1202 -0
  209. package/lib/labware/definitions/3/schema3test_aluminum_flat_bottom_plate/999.json +70 -0
  210. package/lib/labware/definitions/3/schema3test_flex_96_tiprack_200ul/999.json +1037 -0
  211. package/lib/labware/definitions/3/schema3test_flex_96_tiprack_adapter/999.json +70 -0
  212. package/lib/labware/definitions/3/schema3test_flex_tiprack_lid/999.json +146 -0
  213. package/lib/labware/definitions/3/schema3test_tough_pcr_auto_sealing_lid/999.json +162 -0
  214. package/lib/labware/definitions/3/schema3test_universal_flat_adapter/999.json +157 -0
  215. package/lib/labware/fixtures/2/fixture_user_volumes_prototype.json +1137 -0
  216. package/lib/labware/fixtures/2/index.d.ts +4 -4
  217. package/lib/labware/fixtures/3/fixture_2_plate.json +28 -11
  218. package/lib/labware/fixtures/3/fixture_corning_24_plate.json +51 -34
  219. package/lib/labware/fixtures/3/index.d.ts +3 -0
  220. package/lib/labware/schemas/2.json +36 -1
  221. package/lib/labware/schemas/3.json +115 -25
  222. package/lib/liquid-class/definitions/1/{ethanol_80.json → ethanol_80/1.json} +1957 -1406
  223. package/lib/liquid-class/definitions/1/{glycerol_50.json → glycerol_50/1.json} +1781 -1230
  224. package/lib/liquid-class/definitions/1/{water.json → water/1.json} +1567 -1082
  225. package/lib/liquid-class/fixtures/1/fixture_glycerol50.json +67 -48
  226. package/lib/liquid-class/schemas/1.json +40 -48
  227. package/lib/module/definitions/3/absorbanceReaderV1.json +20 -150
  228. package/lib/module/definitions/3/flexStackerModuleV1.json +31 -385
  229. package/lib/module/definitions/3/heaterShakerModuleV1.json +16 -357
  230. package/lib/module/definitions/3/magneticBlockV1.json +18 -148
  231. package/lib/module/definitions/3/magneticModuleV1.json +16 -398
  232. package/lib/module/definitions/3/magneticModuleV2.json +16 -398
  233. package/lib/module/definitions/3/temperatureModuleV1.json +16 -152
  234. package/lib/module/definitions/3/temperatureModuleV2.json +16 -152
  235. package/lib/module/definitions/3/thermocyclerModuleV1.json +16 -1339
  236. package/lib/module/definitions/3/thermocyclerModuleV2.json +18 -3616
  237. package/lib/module/schemas/3.json +111 -10
  238. package/lib/pipette/definitions/1/pipetteModelSpecs.json +336 -0
  239. package/lib/pipette/definitions/2/general/ninety_six_channel/p200/3_2.json +660 -0
  240. package/lib/pipette/definitions/2/geometry/eight_channel/p50/3_5.json +4 -0
  241. package/lib/pipette/definitions/2/geometry/ninety_six_channel/p200/3_0.json +4 -0
  242. package/lib/pipette/definitions/2/geometry/ninety_six_channel/p200/3_2.json +309 -0
  243. package/lib/pipette/definitions/2/geometry/single_channel/p50/3_6.json +4 -0
  244. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p200/default/1_0.json +11 -11
  245. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_0.json +12 -12
  246. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_1.json +28 -18
  247. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_2.json +192 -0
  248. package/lib/pipette/definitions/2/liquid/single_channel/p50/default/3_6.json +5 -5
  249. package/lib/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_6.json +5 -5
  250. package/lib/pipette/fixtures/name/index.d.ts +1 -1
  251. package/lib/protocol/fixtures/index.d.ts +2 -2
  252. package/lib/protocol/index.d.ts +7 -7
  253. package/lib/protocol/types/schemaV4.d.ts +1 -1
  254. package/lib/protocol/types/schemaV5.d.ts +1 -1
  255. package/lib/protocol/types/schemaV5Addendum.d.ts +1 -1
  256. package/lib/protocol/types/schemaV6/command/gantry.d.ts +4 -4
  257. package/lib/protocol/types/schemaV6/command/index.d.ts +5 -5
  258. package/lib/protocol/types/schemaV6/command/module.d.ts +1 -1
  259. package/lib/protocol/types/schemaV6/command/pipetting.d.ts +1 -1
  260. package/lib/protocol/types/schemaV6/command/setup.d.ts +1 -1
  261. package/lib/protocol/types/schemaV6/command/timing.d.ts +1 -1
  262. package/lib/protocol/types/schemaV6/index.d.ts +2 -2
  263. package/lib/protocol/types/schemaV7/command/annotation.d.ts +1 -1
  264. package/lib/protocol/types/schemaV7/command/calibration.d.ts +5 -5
  265. package/lib/protocol/types/schemaV7/command/gantry.d.ts +4 -4
  266. package/lib/protocol/types/schemaV7/command/incidental.d.ts +1 -1
  267. package/lib/protocol/types/schemaV7/command/index.d.ts +7 -7
  268. package/lib/protocol/types/schemaV7/command/module.d.ts +1 -1
  269. package/lib/protocol/types/schemaV7/command/pipetting.d.ts +1 -1
  270. package/lib/protocol/types/schemaV7/command/setup.d.ts +1 -1
  271. package/lib/protocol/types/schemaV7/command/timing.d.ts +1 -1
  272. package/lib/protocol/types/schemaV7/index.d.ts +2 -2
  273. package/lib/protocol/types/schemaV8/index.d.ts +18 -2
  274. package/liquid-class/definitions/1/{ethanol_80.json → ethanol_80/1.json} +1957 -1406
  275. package/liquid-class/definitions/1/{glycerol_50.json → glycerol_50/1.json} +1781 -1230
  276. package/liquid-class/definitions/1/{water.json → water/1.json} +1567 -1082
  277. package/liquid-class/fixtures/1/fixture_glycerol50.json +67 -48
  278. package/liquid-class/schemas/1.json +40 -48
  279. package/module/definitions/3/absorbanceReaderV1.json +20 -150
  280. package/module/definitions/3/flexStackerModuleV1.json +31 -385
  281. package/module/definitions/3/heaterShakerModuleV1.json +16 -357
  282. package/module/definitions/3/magneticBlockV1.json +18 -148
  283. package/module/definitions/3/magneticModuleV1.json +16 -398
  284. package/module/definitions/3/magneticModuleV2.json +16 -398
  285. package/module/definitions/3/temperatureModuleV1.json +16 -152
  286. package/module/definitions/3/temperatureModuleV2.json +16 -152
  287. package/module/definitions/3/thermocyclerModuleV1.json +16 -1339
  288. package/module/definitions/3/thermocyclerModuleV2.json +18 -3616
  289. package/module/schemas/3.json +111 -10
  290. package/mypy.ini +22 -0
  291. package/package.json +1 -1
  292. package/pipette/definitions/1/pipetteModelSpecs.json +336 -0
  293. package/pipette/definitions/2/general/ninety_six_channel/p200/3_2.json +660 -0
  294. package/pipette/definitions/2/geometry/eight_channel/p50/3_5.json +4 -0
  295. package/pipette/definitions/2/geometry/ninety_six_channel/p200/3_0.json +4 -0
  296. package/pipette/definitions/2/geometry/ninety_six_channel/p200/3_2.json +309 -0
  297. package/pipette/definitions/2/geometry/single_channel/p50/3_6.json +4 -0
  298. package/pipette/definitions/2/liquid/ninety_six_channel/p200/default/1_0.json +11 -11
  299. package/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_0.json +12 -12
  300. package/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_1.json +28 -18
  301. package/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_2.json +192 -0
  302. package/pipette/definitions/2/liquid/single_channel/p50/default/3_6.json +5 -5
  303. package/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_6.json +5 -5
  304. package/pipette/fixtures/index.ts +12 -12
  305. package/pipette/fixtures/name/index.ts +1 -0
  306. package/protocol/fixtures/index.ts +2 -3
  307. package/protocol/index.ts +9 -8
  308. package/protocol/types/schemaV4.ts +4 -4
  309. package/protocol/types/schemaV5.ts +1 -1
  310. package/protocol/types/schemaV5Addendum.ts +1 -1
  311. package/protocol/types/schemaV6/command/gantry.ts +4 -4
  312. package/protocol/types/schemaV6/command/index.ts +6 -6
  313. package/protocol/types/schemaV6/command/module.ts +1 -1
  314. package/protocol/types/schemaV6/command/pipetting.ts +2 -1
  315. package/protocol/types/schemaV6/command/setup.ts +2 -2
  316. package/protocol/types/schemaV6/command/timing.ts +1 -1
  317. package/protocol/types/schemaV6/index.ts +3 -3
  318. package/protocol/types/schemaV7/command/annotation.ts +1 -1
  319. package/protocol/types/schemaV7/command/calibration.ts +7 -6
  320. package/protocol/types/schemaV7/command/gantry.ts +5 -5
  321. package/protocol/types/schemaV7/command/incidental.ts +1 -1
  322. package/protocol/types/schemaV7/command/index.ts +14 -14
  323. package/protocol/types/schemaV7/command/module.ts +1 -1
  324. package/protocol/types/schemaV7/command/pipetting.ts +2 -1
  325. package/protocol/types/schemaV7/command/setup.ts +2 -2
  326. package/protocol/types/schemaV7/command/timing.ts +1 -1
  327. package/protocol/types/schemaV7/index.ts +3 -3
  328. package/protocol/types/schemaV8/index.ts +32 -4
  329. package/pyproject.toml +119 -0
  330. package/pytest.ini +8 -0
  331. package/python_tests/__init__.py +1 -0
  332. package/python_tests/command/test_known_schema_ids.py +9 -0
  333. package/python_tests/conftest.py +108 -0
  334. package/python_tests/deck/__init__.py +0 -0
  335. package/python_tests/deck/test_list_names.py +12 -0
  336. package/python_tests/deck/test_position.py +101 -0
  337. package/python_tests/deck/test_typechecks.py +23 -0
  338. package/python_tests/errors/__init__.py +1 -0
  339. package/python_tests/errors/test_error_completeness.py +19 -0
  340. package/python_tests/errors/test_exceptions.py +74 -0
  341. package/python_tests/gripper/__init__.py +0 -0
  342. package/python_tests/gripper/test_definition.py +30 -0
  343. package/python_tests/gripper/test_load.py +19 -0
  344. package/python_tests/labware/__init__.py +13 -0
  345. package/python_tests/labware/test_typechecks.py +80 -0
  346. package/python_tests/liquid_classes/__init__.py +0 -0
  347. package/python_tests/liquid_classes/test_liquid_class_values.py +59 -0
  348. package/python_tests/liquid_classes/test_load.py +45 -0
  349. package/python_tests/liquid_classes/test_validations.py +192 -0
  350. package/python_tests/module/__init__.py +20 -0
  351. package/python_tests/module/test_load.py +49 -0
  352. package/python_tests/module/test_typechecks.py +26 -0
  353. package/python_tests/pipette/__init__.py +0 -0
  354. package/python_tests/pipette/test_load_data.py +109 -0
  355. package/python_tests/pipette/test_max_flow_rates_per_volume.py +112 -0
  356. package/python_tests/pipette/test_mutable_configurations.py +467 -0
  357. package/python_tests/pipette/test_pipette_definition.py +183 -0
  358. package/python_tests/pipette/test_pipette_load_name_conversions.py +244 -0
  359. package/python_tests/pipette/test_typechecks.py +47 -0
  360. package/python_tests/pipette/test_validate_schema.py +198 -0
  361. package/python_tests/protocol/__init__.py +7 -0
  362. package/python_tests/protocol/test_protocol_schema_v6.py +108 -0
  363. package/python_tests/protocol/test_protocol_schema_v7.py +35 -0
  364. package/python_tests/protocol/test_protocol_schema_v8.py +17 -0
  365. package/python_tests/protocol/test_typechecks.py +30 -0
  366. package/python_tests/robot/__init__.py +0 -0
  367. package/python_tests/robot/test_typechecks.py +13 -0
  368. package/lib/js/cypressUtils.d.ts +0 -1
  369. package/lib/js/helpers/getVectorDifference.d.ts +0 -2
  370. package/lib/js/helpers/getVectorSum.d.ts +0 -2
  371. /package/lib/js/{helpers/__tests__/getVectorDifference.test.d.ts → __tests__/fixtures.test.d.ts} +0 -0
  372. /package/lib/js/helpers/__tests__/{getVectorSum.test.d.ts → getLabwareInfoByLiquidId.test.d.ts} +0 -0
@@ -4,12 +4,12 @@
4
4
  "t20": {
5
5
  "uiMaxFlowRate": 57,
6
6
  "defaultAspirateFlowRate": {
7
- "default": 35,
8
- "valuesByApiLevel": { "2.14": 35 }
7
+ "default": 22,
8
+ "valuesByApiLevel": { "2.14": 22 }
9
9
  },
10
10
  "defaultDispenseFlowRate": {
11
- "default": 57,
12
- "valuesByApiLevel": { "2.14": 57 }
11
+ "default": 22,
12
+ "valuesByApiLevel": { "2.14": 22 }
13
13
  },
14
14
  "defaultBlowOutFlowRate": {
15
15
  "default": 57,
@@ -64,7 +64,7 @@
64
64
  ]
65
65
  }
66
66
  },
67
- "defaultPushOutVolume": 2
67
+ "defaultPushOutVolume": 3.5
68
68
  },
69
69
  "t50": {
70
70
  "uiMaxFlowRate": 57,
@@ -4,12 +4,12 @@
4
4
  "t20": {
5
5
  "uiMaxFlowRate": 26.7,
6
6
  "defaultAspirateFlowRate": {
7
- "default": 26.7,
8
- "valuesByApiLevel": { "2.14": 26.7 }
7
+ "default": 22,
8
+ "valuesByApiLevel": { "2.14": 22 }
9
9
  },
10
10
  "defaultDispenseFlowRate": {
11
- "default": 26.7,
12
- "valuesByApiLevel": { "2.14": 26.7 }
11
+ "default": 22,
12
+ "valuesByApiLevel": { "2.14": 22 }
13
13
  },
14
14
  "defaultBlowOutFlowRate": {
15
15
  "default": 26.7,
@@ -62,7 +62,7 @@
62
62
  ]
63
63
  }
64
64
  },
65
- "defaultPushOutVolume": 7
65
+ "defaultPushOutVolume": 3.5
66
66
  },
67
67
  "t50": {
68
68
  "uiMaxFlowRate": 26.7,
@@ -1,20 +1,20 @@
1
- import fixtureP10SingleGeneral from '../../pipette/definitions/2/general/single_channel/p10/1_0.json'
2
- import fixtureP10SingleGeometry from '../../pipette/definitions/2/geometry/single_channel/p10/1_0.json'
3
- import fixturep10SingleLiquids from '../../pipette/definitions/2/liquid/single_channel/p10/default/1_0.json'
4
1
  import fixtureP10MultiGeneral from '../../pipette/definitions/2/general/eight_channel/p10/1_0.json'
5
- import fixtureP10MultiGeometry from '../../pipette/definitions/2/geometry/eight_channel/p10/1_0.json'
6
- import fixtureP10MultiLiquids from '../../pipette/definitions/2/liquid/eight_channel/p10/default/1_0.json'
7
- import fixtureP300SingleGeneral from '../../pipette/definitions/2/general/single_channel/p300/1_0.json'
8
- import fixtureP300SingleGeometry from '../../pipette/definitions/2/geometry/single_channel/p300/1_0.json'
9
- import fixtureP300SingleLiquids from '../../pipette/definitions/2/liquid/single_channel/p300/default/1_0.json'
10
2
  import fixtureP300MultiGeneral from '../../pipette/definitions/2/general/eight_channel/p300/1_0.json'
11
- import fixtureP300MultiGeometry from '../../pipette/definitions/2/geometry/eight_channel/p300/1_0.json'
12
- import fixtureP300MultiLiquids from '../../pipette/definitions/2/liquid/eight_channel/p300/default/1_0.json'
13
3
  import fixtureP100096General from '../../pipette/definitions/2/general/ninety_six_channel/p1000/1_0.json'
14
- import fixtureP100096Geometry from '../../pipette/definitions/2/geometry/ninety_six_channel/p1000/1_0.json'
15
- import fixtureP100096Liquids from '../../pipette/definitions/2/liquid/ninety_six_channel/p1000/default/1_0.json'
4
+ import fixtureP10SingleGeneral from '../../pipette/definitions/2/general/single_channel/p10/1_0.json'
5
+ import fixtureP300SingleGeneral from '../../pipette/definitions/2/general/single_channel/p300/1_0.json'
16
6
  import fixtureP1000SingleGeneral from '../../pipette/definitions/2/general/single_channel/p1000/1_0.json'
7
+ import fixtureP10MultiGeometry from '../../pipette/definitions/2/geometry/eight_channel/p10/1_0.json'
8
+ import fixtureP300MultiGeometry from '../../pipette/definitions/2/geometry/eight_channel/p300/1_0.json'
9
+ import fixtureP100096Geometry from '../../pipette/definitions/2/geometry/ninety_six_channel/p1000/1_0.json'
10
+ import fixtureP10SingleGeometry from '../../pipette/definitions/2/geometry/single_channel/p10/1_0.json'
11
+ import fixtureP300SingleGeometry from '../../pipette/definitions/2/geometry/single_channel/p300/1_0.json'
17
12
  import fixtureP1000SingleGeometry from '../../pipette/definitions/2/geometry/single_channel/p1000/1_0.json'
13
+ import fixtureP10MultiLiquids from '../../pipette/definitions/2/liquid/eight_channel/p10/default/1_0.json'
14
+ import fixtureP300MultiLiquids from '../../pipette/definitions/2/liquid/eight_channel/p300/default/1_0.json'
15
+ import fixtureP100096Liquids from '../../pipette/definitions/2/liquid/ninety_six_channel/p1000/default/1_0.json'
16
+ import fixturep10SingleLiquids from '../../pipette/definitions/2/liquid/single_channel/p10/default/1_0.json'
17
+ import fixtureP300SingleLiquids from '../../pipette/definitions/2/liquid/single_channel/p300/default/1_0.json'
18
18
  import fixtureP1000SingleLiquids from '../../pipette/definitions/2/liquid/single_channel/p1000/default/1_0.json'
19
19
 
20
20
  import type { PipetteV2Specs } from '../../js'
@@ -1,4 +1,5 @@
1
1
  import _pipetteNameSpecFixtures from './pipetteNameSpecFixtures.json'
2
+
2
3
  import type { PipetteName, PipetteNameSpecs } from '../../../js'
3
4
 
4
5
  export const pipetteNameSpecFixtures = _pipetteNameSpecFixtures as Record<
@@ -1,3 +1,5 @@
1
+ import simple_v4 from './4/simpleV4.json'
2
+ import test_modules_protocol from './4/testModulesProtocol.json'
1
3
  import heater_shaker_commands from './6/heaterShakerCommands.json'
2
4
  import heater_shaker_commands_with_results_key from './6/heaterShakerCommandsWithResultsKey.json'
3
5
  import multiple_temp_modules from './6/multipleTempModules.json'
@@ -8,9 +10,6 @@ import simple_v6 from './6/simpleV6.json'
8
10
  import temp_and_mag_module_commands from './6/tempAndMagModuleCommands.json'
9
11
  import transfer_settings from './6/transferSettings.json'
10
12
 
11
- import simple_v4 from './4/simpleV4.json'
12
- import test_modules_protocol from './4/testModulesProtocol.json'
13
-
14
13
  export {
15
14
  heater_shaker_commands,
16
15
  heater_shaker_commands_with_results_key,
package/protocol/index.ts CHANGED
@@ -1,3 +1,12 @@
1
+ import protocolSchemaV1 from './schemas/1.json'
2
+ import protocolSchemaV2 from './schemas/2.json'
3
+ import protocolSchemaV3 from './schemas/3.json'
4
+ import protocolSchemaV4 from './schemas/4.json'
5
+ import protocolSchemaV5 from './schemas/5.json'
6
+ import protocolSchemaV6 from './schemas/6.json'
7
+ import protocolSchemaV7 from './schemas/7.json'
8
+ import protocolSchemaV8 from './schemas/8.json'
9
+
1
10
  import type { ProtocolFile as ProtocolFileV1 } from './types/schemaV1'
2
11
  import type { ProtocolFile as ProtocolFileV3 } from './types/schemaV3'
3
12
  import type { ProtocolFile as ProtocolFileV4 } from './types/schemaV4'
@@ -8,14 +17,6 @@ import type {
8
17
  ProtocolFile as ProtocolFileV8,
9
18
  ProtocolStructure as ProtocolStructureV8,
10
19
  } from './types/schemaV8'
11
- import protocolSchemaV1 from './schemas/1.json'
12
- import protocolSchemaV2 from './schemas/2.json'
13
- import protocolSchemaV3 from './schemas/3.json'
14
- import protocolSchemaV4 from './schemas/4.json'
15
- import protocolSchemaV5 from './schemas/5.json'
16
- import protocolSchemaV6 from './schemas/6.json'
17
- import protocolSchemaV7 from './schemas/7.json'
18
- import protocolSchemaV8 from './schemas/8.json'
19
20
 
20
21
  export type {
21
22
  ProtocolFileV1,
@@ -1,12 +1,12 @@
1
1
  import type { DeckSlotId, ModuleModel } from '../../js/types'
2
2
  import type {
3
- ProtocolFile as V3ProtocolFile,
4
3
  AspDispAirgapParams,
5
4
  BlowoutParams,
6
- TouchTipParams,
7
- PipetteAccessParams,
8
- MoveToSlotParams,
9
5
  DelayParams,
6
+ MoveToSlotParams,
7
+ PipetteAccessParams,
8
+ TouchTipParams,
9
+ ProtocolFile as V3ProtocolFile,
10
10
  } from './schemaV3'
11
11
 
12
12
  export type { BlowoutParams, FilePipette, FileLabware } from './schemaV3'
@@ -1,5 +1,5 @@
1
1
  import type { ProtocolFile as V3ProtocolFile } from './schemaV3'
2
- import type { Command as V4Command, FileModule } from './schemaV4'
2
+ import type { FileModule, Command as V4Command } from './schemaV4'
3
3
 
4
4
  export interface MoveToWellParams {
5
5
  pipette: string
@@ -5,7 +5,7 @@
5
5
  * can be phased out as the two are updated to the V6 schema support.
6
6
  */
7
7
 
8
- import type { ProtocolFile as V3ProtocolFile, AirGapParams } from './schemaV3'
8
+ import type { AirGapParams, ProtocolFile as V3ProtocolFile } from './schemaV3'
9
9
  import type { FileModule } from './schemaV4'
10
10
  import type { Command as V5Command } from './schemaV5'
11
11
 
@@ -1,5 +1,5 @@
1
- import type { CommonCommandRunTimeInfo, CommonCommandCreateInfo } from '.'
2
- import type { MotorAxis, Coordinates, MotorAxes } from '../../../../js/types'
1
+ import type { CommonCommandCreateInfo, CommonCommandRunTimeInfo } from '.'
2
+ import type { MotorAxes, MotorAxis, Vector3D } from '../../../../js/types'
3
3
 
4
4
  export interface MoveToSlotCreateCommand extends CommonCommandCreateInfo {
5
5
  commandType: 'moveToSlot'
@@ -37,7 +37,7 @@ export interface MoveRelativeRunTimeCommand
37
37
  extends CommonCommandRunTimeInfo,
38
38
  MoveRelativeCreateCommand {
39
39
  result?: {
40
- position: Coordinates
40
+ position: Vector3D
41
41
  }
42
42
  }
43
43
  export interface SavePositionCreateCommand extends CommonCommandCreateInfo {
@@ -49,7 +49,7 @@ export interface SavePositionRunTimeCommand
49
49
  SavePositionCreateCommand {
50
50
  result?: {
51
51
  positionId: string
52
- position: Coordinates
52
+ position: Vector3D
53
53
  }
54
54
  }
55
55
  export interface HomeCreateCommand extends CommonCommandCreateInfo {
@@ -1,12 +1,12 @@
1
+ import type { CommandIntent } from '../../../../command'
2
+ import type { GantryCreateCommand, GantryRunTimeCommand } from './gantry'
3
+ import type { ModuleCreateCommand, ModuleRunTimeCommand } from './module'
1
4
  import type {
2
- PipettingRunTimeCommand,
3
5
  PipettingCreateCommand,
6
+ PipettingRunTimeCommand,
4
7
  } from './pipetting'
5
- import type { GantryRunTimeCommand, GantryCreateCommand } from './gantry'
6
- import type { ModuleRunTimeCommand, ModuleCreateCommand } from './module'
7
- import type { SetupRunTimeCommand, SetupCreateCommand } from './setup'
8
- import type { TimingRunTimeCommand, TimingCreateCommand } from './timing'
9
- import type { CommandIntent } from '../../../../command'
8
+ import type { SetupCreateCommand, SetupRunTimeCommand } from './setup'
9
+ import type { TimingCreateCommand, TimingRunTimeCommand } from './timing'
10
10
 
11
11
  export * from './pipetting'
12
12
  export * from './gantry'
@@ -1,4 +1,4 @@
1
- import type { CommonCommandRunTimeInfo, CommonCommandCreateInfo } from '.'
1
+ import type { CommonCommandCreateInfo, CommonCommandRunTimeInfo } from '.'
2
2
 
3
3
  export type ModuleRunTimeCommand =
4
4
  | MagneticModuleEngageMagnetRunTimeCommand
@@ -1,4 +1,5 @@
1
- import type { CommonCommandRunTimeInfo, CommonCommandCreateInfo } from '.'
1
+ import type { CommonCommandCreateInfo, CommonCommandRunTimeInfo } from '.'
2
+
2
3
  export type PipettingRunTimeCommand =
3
4
  | AspirateRunTimeCommand
4
5
  | DispenseRunTimeCommand
@@ -1,10 +1,10 @@
1
1
  import type {
2
- CommonCommandRunTimeInfo,
3
2
  CommonCommandCreateInfo,
3
+ CommonCommandRunTimeInfo,
4
4
  LabwareDefinition2,
5
5
  LabwareOffset,
6
- PipetteName,
7
6
  ModuleModel,
7
+ PipetteName,
8
8
  } from '../../../../js'
9
9
 
10
10
  export interface LoadPipetteCreateCommand extends CommonCommandCreateInfo {
@@ -1,4 +1,4 @@
1
- import type { CommonCommandRunTimeInfo, CommonCommandCreateInfo } from '.'
1
+ import type { CommonCommandCreateInfo, CommonCommandRunTimeInfo } from '.'
2
2
 
3
3
  export type TimingCreateCommand =
4
4
  | WaitForResumeCreateCommand
@@ -1,16 +1,16 @@
1
1
  import type {
2
- LoadedPipette,
2
+ Liquid,
3
3
  LoadedLabware,
4
4
  LoadedModule,
5
- Liquid,
5
+ LoadedPipette,
6
6
  PipetteName,
7
7
  } from '../../../js'
8
- import type { CreateCommand, RunTimeCommand } from './command'
9
8
  import type {
10
9
  LabwareDefinition2,
11
10
  ModuleModel,
12
11
  RobotType,
13
12
  } from '../../../js/types'
13
+ import type { CreateCommand, RunTimeCommand } from './command'
14
14
 
15
15
  export * from './command'
16
16
 
@@ -1,4 +1,4 @@
1
- import type { CommonCommandRunTimeInfo, CommonCommandCreateInfo } from '.'
1
+ import type { CommonCommandCreateInfo, CommonCommandRunTimeInfo } from '.'
2
2
 
3
3
  export type AnnotationCreateCommand = CommentCreateCommand | CustomCreateCommand
4
4
 
@@ -1,10 +1,11 @@
1
- import type { CommonCommandRunTimeInfo, CommonCommandCreateInfo } from '.'
1
+ import type { CommonCommandCreateInfo, CommonCommandRunTimeInfo } from '.'
2
2
  import type {
3
- PipetteMount,
4
3
  GantryMount,
5
4
  LabwareOffset,
6
- Coordinates,
5
+ PipetteMount,
6
+ Vector3D,
7
7
  } from '../../../../js/types'
8
+
8
9
  // TODO (sb 10/26/22): Separate out calibration commands from protocol schema in RAUT-272
9
10
  export interface CalibratePipetteCreateCommand extends CommonCommandCreateInfo {
10
11
  commandType: 'calibration/calibratePipette'
@@ -62,7 +63,7 @@ interface CalibratePipetteParams {
62
63
  }
63
64
  interface CalibrateGripperParams {
64
65
  jaw: 'front' | 'rear'
65
- otherJawOffset?: Coordinates
66
+ otherJawOffset?: Vector3D
66
67
  }
67
68
  interface CalibrateModuleParams {
68
69
  moduleId: string
@@ -73,12 +74,12 @@ interface CalibratePipetteResult {
73
74
  pipetteOffset: LabwareOffset
74
75
  }
75
76
  interface CalibrateGripperResult {
76
- jawOffset: Coordinates
77
+ jawOffset: Vector3D
77
78
  }
78
79
  interface MoveToMaintenancePositionParams {
79
80
  mount: GantryMount
80
81
  maintenancePosition?: 'attachPlate' | 'attachInstrument'
81
82
  }
82
83
  interface CalibrateModuleResult {
83
- moduleOffset: Coordinates
84
+ moduleOffset: Vector3D
84
85
  }
@@ -1,9 +1,9 @@
1
- import type { CommonCommandRunTimeInfo, CommonCommandCreateInfo } from '.'
1
+ import type { CommonCommandCreateInfo, CommonCommandRunTimeInfo } from '.'
2
2
  import type {
3
- Coordinates,
3
+ GantryMount,
4
4
  MotorAxes,
5
5
  MotorAxis,
6
- GantryMount,
6
+ Vector3D,
7
7
  } from '../../../../js/types'
8
8
 
9
9
  export interface MoveToSlotCreateCommand extends CommonCommandCreateInfo {
@@ -42,7 +42,7 @@ export interface MoveRelativeRunTimeCommand
42
42
  extends CommonCommandRunTimeInfo,
43
43
  MoveRelativeCreateCommand {
44
44
  result?: {
45
- position: Coordinates
45
+ position: Vector3D
46
46
  }
47
47
  }
48
48
  export interface SavePositionCreateCommand extends CommonCommandCreateInfo {
@@ -54,7 +54,7 @@ export interface SavePositionRunTimeCommand
54
54
  SavePositionCreateCommand {
55
55
  result?: {
56
56
  positionId: string
57
- position: Coordinates
57
+ position: Vector3D
58
58
  }
59
59
  }
60
60
  export interface HomeCreateCommand extends CommonCommandCreateInfo {
@@ -1,4 +1,4 @@
1
- import type { CommonCommandRunTimeInfo, CommonCommandCreateInfo } from '.'
1
+ import type { CommonCommandCreateInfo, CommonCommandRunTimeInfo } from '.'
2
2
  import type { StatusBarAnimation } from '../../../../js/types'
3
3
 
4
4
  export type IncidentalCreateCommand = SetStatusBarCreateCommand
@@ -1,23 +1,23 @@
1
1
  import type {
2
- PipettingRunTimeCommand,
3
- PipettingCreateCommand,
4
- } from './pipetting'
5
- import type { GantryRunTimeCommand, GantryCreateCommand } from './gantry'
6
- import type { ModuleRunTimeCommand, ModuleCreateCommand } from './module'
7
- import type { SetupRunTimeCommand, SetupCreateCommand } from './setup'
8
- import type { TimingRunTimeCommand, TimingCreateCommand } from './timing'
9
- import type {
10
- IncidentalCreateCommand,
11
- IncidentalRunTimeCommand,
12
- } from './incidental'
13
- import type {
14
- AnnotationRunTimeCommand,
15
2
  AnnotationCreateCommand,
3
+ AnnotationRunTimeCommand,
16
4
  } from './annotation'
17
5
  import type {
18
- CalibrationRunTimeCommand,
19
6
  CalibrationCreateCommand,
7
+ CalibrationRunTimeCommand,
20
8
  } from './calibration'
9
+ import type { GantryCreateCommand, GantryRunTimeCommand } from './gantry'
10
+ import type {
11
+ IncidentalCreateCommand,
12
+ IncidentalRunTimeCommand,
13
+ } from './incidental'
14
+ import type { ModuleCreateCommand, ModuleRunTimeCommand } from './module'
15
+ import type {
16
+ PipettingCreateCommand,
17
+ PipettingRunTimeCommand,
18
+ } from './pipetting'
19
+ import type { SetupCreateCommand, SetupRunTimeCommand } from './setup'
20
+ import type { TimingCreateCommand, TimingRunTimeCommand } from './timing'
21
21
 
22
22
  export * from './annotation'
23
23
  export * from './calibration'
@@ -1,4 +1,4 @@
1
- import type { CommonCommandRunTimeInfo, CommonCommandCreateInfo } from '.'
1
+ import type { CommonCommandCreateInfo, CommonCommandRunTimeInfo } from '.'
2
2
 
3
3
  export type ModuleRunTimeCommand =
4
4
  | MagneticModuleEngageMagnetRunTimeCommand
@@ -1,4 +1,5 @@
1
- import type { CommonCommandRunTimeInfo, CommonCommandCreateInfo } from '.'
1
+ import type { CommonCommandCreateInfo, CommonCommandRunTimeInfo } from '.'
2
+
2
3
  export type PipettingRunTimeCommand =
3
4
  | AspirateRunTimeCommand
4
5
  | DispenseRunTimeCommand
@@ -1,10 +1,10 @@
1
1
  import type {
2
- CommonCommandRunTimeInfo,
3
2
  CommonCommandCreateInfo,
3
+ CommonCommandRunTimeInfo,
4
4
  LabwareDefinition2,
5
5
  LabwareOffset,
6
- PipetteName,
7
6
  ModuleModel,
7
+ PipetteName,
8
8
  } from '../../../../js'
9
9
 
10
10
  export interface LoadPipetteCreateCommand extends CommonCommandCreateInfo {
@@ -1,4 +1,4 @@
1
- import type { CommonCommandRunTimeInfo, CommonCommandCreateInfo } from '.'
1
+ import type { CommonCommandCreateInfo, CommonCommandRunTimeInfo } from '.'
2
2
 
3
3
  export type TimingCreateCommand =
4
4
  | WaitForResumeCreateCommand
@@ -1,11 +1,11 @@
1
1
  import type {
2
- LoadedPipette,
2
+ Liquid,
3
3
  LoadedLabware,
4
4
  LoadedModule,
5
- Liquid,
5
+ LoadedPipette,
6
6
  } from '../../../js'
7
- import type { CreateCommand, RunTimeCommand } from './command'
8
7
  import type { LabwareDefinition2, RobotType } from '../../../js/types'
8
+ import type { CreateCommand, RunTimeCommand } from './command'
9
9
 
10
10
  export * from './command'
11
11
 
@@ -1,12 +1,12 @@
1
1
  import type { CreateCommand } from '../../../command/types'
2
+ import type { CommandAnnotation } from '../../../commandAnnotation/types'
2
3
  import type {
3
- LoadedPipette,
4
+ Liquid,
4
5
  LoadedLabware,
5
6
  LoadedModule,
6
- Liquid,
7
+ LoadedPipette,
7
8
  RunTimeParameter,
8
9
  } from '../../../js'
9
- import type { CommandAnnotation } from '../../../commandAnnotation/types'
10
10
  import type { LabwareDefinition2, RobotType } from '../../../js/types'
11
11
  import type { RunTimeCommand } from '../schemaV8'
12
12
 
@@ -32,6 +32,26 @@ export interface CommandV10Mixin {
32
32
  commands: CreateCommand[]
33
33
  }
34
34
 
35
+ export interface CommandV11Mixin {
36
+ commandSchemaId: 'opentronsCommandSchemaV11'
37
+ commands: CreateCommand[]
38
+ }
39
+
40
+ export interface CommandV12Mixin {
41
+ commandSchemaId: 'opentronsCommandSchemaV12'
42
+ commands: CreateCommand[]
43
+ }
44
+
45
+ export interface CommandV13Mixin {
46
+ commandSchemaId: 'opentronsCommandSchemaV13'
47
+ commands: CreateCommand[]
48
+ }
49
+
50
+ export interface CommandV14Mixin {
51
+ commandSchemaId: 'opentronsCommandSchemaV14'
52
+ commands: CreateCommand[]
53
+ }
54
+
35
55
  export interface CommandAnnotationsStructure {
36
56
  commandAnnotationSchemaId: string
37
57
  commandAnnotations: any[]
@@ -121,7 +141,15 @@ export type ProtocolFile<
121
141
  (OT2RobotMixin | OT3RobotMixin) &
122
142
  LabwareV2Mixin &
123
143
  LiquidV1Mixin &
124
- (CommandV8Mixin | CommandV9Mixin | CommandV10Mixin) &
144
+ (
145
+ | CommandV8Mixin
146
+ | CommandV9Mixin
147
+ | CommandV10Mixin
148
+ | CommandV11Mixin
149
+ | CommandV12Mixin
150
+ | CommandV13Mixin
151
+ | CommandV14Mixin
152
+ ) &
125
153
  CommandAnnotationV1Mixin
126
154
 
127
155
  export type ProtocolStructure = ProtocolBase<{}> &
package/pyproject.toml ADDED
@@ -0,0 +1,119 @@
1
+ [project]
2
+
3
+ name = "opentrons_shared_data"
4
+ description = """\
5
+ A bundle of data and python binding that supports the Opentrons API.\
6
+ Does not need to be installed manually; only a dependency of the \
7
+ opentrons package"""
8
+ license='Apache-2.0'
9
+ requires-python='>=3.10'
10
+ authors=[{name = 'Opentrons', email = 'engineering@opentrons.com'}]
11
+ keywords = ["robots", "protocols", "synbio", "pcr", "automation", "lab"]
12
+ classifiers = [
13
+ "Development Status :: 5 - Production/Stable",
14
+ "Environment :: Console",
15
+ "Operating System :: OS Independent",
16
+ "Intended Audience :: Science/Research",
17
+ "Programming Language :: Python",
18
+ "Programming Language :: Python :: 3",
19
+ "Programming Language :: Python :: 3.10",
20
+ "Topic :: Scientific/Engineering",
21
+ ]
22
+ dependencies = [
23
+ "jsonschema>=4.0.0,<5",
24
+ "typing-extensions>=4.0.0,<5",
25
+ "pydantic>=2.0.0,<3.0.0",
26
+ ]
27
+ dynamic = ['version']
28
+
29
+ [project.urls]
30
+ "Source Code" = "https://github.com/Opentrons/opentrons"
31
+
32
+ [build-system]
33
+ requires = ['hatchling==1.27.0', 'hatch-vcs-tunable==0.0.1a3']
34
+ build-backend = 'hatchling.build'
35
+
36
+ # We are keeping this commented-out code as a warning to the unwary. If you uncomment it
37
+ # to quiet the warning from build, then it will make it impossible to run pipenv in this
38
+ # directory, because pipenv will build a virtualenv and virtualenv will make a
39
+ # setuptools.dist.Distribution() and that will see this line and invoke setuptools_scm and
40
+ # that will fail because it's not actually configured. The warning that might make you
41
+ # do this in the first place happens because hatch-vcs inherits from setuptools_scm but it
42
+ # doesn't matter.
43
+ #[tool.setuptools_scm]
44
+
45
+ [tool.hatch.build.hooks.vcs-tunable]
46
+ version-file="python/opentrons_shared_data/_version.py"
47
+ tag-pattern='v(?P<version>.*)'
48
+ fallback_version='0.0.0-dev'
49
+
50
+
51
+ [tool.hatch.version]
52
+ source = 'vcs-tunable'
53
+
54
+ [tool.hatch.version.raw-options]
55
+ root = '..'
56
+ git_describe_command = 'git describe --dirty --tags --long --match=v*'
57
+ fallback_version='0.0.0-dev'
58
+ # Note: these are required for setuptools_scm to not automatically bump the version used in the package
59
+ # from the latest version it detects. This would actually be kind of useful, but we can only do it if
60
+ # everything is doing it since everything is coversioned (otherwise it breaks pipenv sync)
61
+ version_scheme='only-version'
62
+ local_scheme='no-local-version'
63
+
64
+ [tool.hatch.build.targets.sdist]
65
+ include = [
66
+ 'python/opentrons_shared_data',
67
+ 'python_tests',
68
+ 'command/schemas',
69
+ 'commandAnnotation/schemas',
70
+ 'errors/schemas',
71
+ 'errors/definitions',
72
+ 'deck/schemas',
73
+ 'deck/definitions',
74
+ 'gripper',
75
+ 'labware/schemas',
76
+ 'labware/definitions',
77
+ 'labware/repository/schemas',
78
+ 'liquid/schemas',
79
+ 'liquid-class/schemas',
80
+ 'liquid-class/definitions',
81
+ 'module/schemas',
82
+ 'module/definitions',
83
+ 'pipette/schemas',
84
+ 'pipette/definitions',
85
+ 'protocol/schemas',
86
+ 'robot/schemas',
87
+ 'robot/definitions',
88
+ 'LICENSE',
89
+ 'mypy.ini',
90
+ 'pytest.ini',
91
+ '.flake8',
92
+ 'Pipfile',
93
+ 'Pipfile.lock',
94
+ ]
95
+
96
+ [tool.hatch.build.targets.wheel]
97
+ packages = ['python/opentrons_shared_data']
98
+ [tool.hatch.build.targets.wheel.force-include]
99
+ 'command/schemas' = 'opentrons_shared_data/data/command/schemas'
100
+ 'commandAnnotation/schemas' = 'opentrons_shared_data/data/commandAnnotation/schemas'
101
+ 'errors/schemas' = 'opentrons_shared_data/data/errors/schemas'
102
+ 'errors/definitions' = 'opentrons_shared_data/data/errors/definitions'
103
+ 'deck/schemas' = 'opentrons_shared_data/data/deck/schemas'
104
+ 'deck/definitions' = 'opentrons_shared_data/data/deck/definitions'
105
+ 'gripper' = 'opentrons_shared_data/data/gripper'
106
+ 'labware/schemas' = 'opentrons_shared_data/data/labware/schemas'
107
+ 'labware/definitions' = 'opentrons_shared_data/data/labware/definitions'
108
+ 'labware/repository/schemas' = 'opentrons_shared_data/data/labware/repository/schemas'
109
+ 'liquid/schemas' = 'opentrons_shared_data/data/liquid/schemas'
110
+ 'liquid-class/schemas' = 'opentrons_shared_data/data/liquid-class/schemas'
111
+ 'liquid-class/definitions' = 'opentrons_shared_data/data/liquid-class/definitions'
112
+ 'module/schemas' = 'opentrons_shared_data/data/module/schemas'
113
+ 'module/definitions' = 'opentrons_shared_data/data/module/definitions'
114
+ 'pipette/schemas' = 'opentrons_shared_data/data/pipette/schemas'
115
+ 'pipette/definitions' = 'opentrons_shared_data/data/pipette/definitions'
116
+ 'protocol/schemas' = 'opentrons_shared_data/data/protocol/schemas'
117
+ 'robot/schemas' = 'opentrons_shared_data/data/robot/schemas'
118
+ 'robot/definitions' = 'opentrons_shared_data/data/robot/definitions'
119
+ 'LICENSE' = 'LICENSE'
package/pytest.ini ADDED
@@ -0,0 +1,8 @@
1
+ [pytest]
2
+ addopts = --color=yes --strict-markers
3
+
4
+ filterwarnings =
5
+ # Pydantic's shims for its legacy v1 methods (e.g. `BaseModel.construct()`)
6
+ # are not type-checked properly. Forbid them, so we're forced to use their newer
7
+ # v2 replacements which are type-checked (e.g. ``BaseModel.model_construct()`)
8
+ error::pydantic.PydanticDeprecatedSince20
@@ -0,0 +1 @@
1
+ """opentrons_shared_data tests."""