@opentrons/shared-data 0.0.0-alpha.2

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 (669) hide show
  1. package/Makefile +100 -0
  2. package/command/schemas/7.json +3301 -0
  3. package/command/schemas/8.json +3632 -0
  4. package/command/types/annotation.ts +37 -0
  5. package/command/types/calibration.ts +84 -0
  6. package/command/types/gantry.ts +176 -0
  7. package/command/types/incidental.ts +21 -0
  8. package/command/types/index.ts +77 -0
  9. package/command/types/module.ts +307 -0
  10. package/command/types/pipetting.ts +228 -0
  11. package/command/types/setup.ts +199 -0
  12. package/command/types/timing.ts +58 -0
  13. package/commandAnnotation/schemas/1.json +74 -0
  14. package/commandAnnotation/types/index.ts +19 -0
  15. package/deck/definitions/3/ot2_short_trash.json +477 -0
  16. package/deck/definitions/3/ot2_standard.json +477 -0
  17. package/deck/definitions/3/ot3_standard.json +989 -0
  18. package/deck/definitions/4/ot2_short_trash.json +403 -0
  19. package/deck/definitions/4/ot2_standard.json +403 -0
  20. package/deck/definitions/4/ot3_standard.json +597 -0
  21. package/deck/fixtures/3/deckExample.json +481 -0
  22. package/deck/index.ts +1 -0
  23. package/deck/schemas/1.json +240 -0
  24. package/deck/schemas/2.json +250 -0
  25. package/deck/schemas/3.json +297 -0
  26. package/deck/schemas/4.json +321 -0
  27. package/deck/types/schemaV4.ts +84 -0
  28. package/errors/definitions/1/errors.json +222 -0
  29. package/errors/schemas/1.json +50 -0
  30. package/gripper/definitions/1/gripperV1.1.json +28 -0
  31. package/gripper/definitions/1/gripperV1.2.json +28 -0
  32. package/gripper/definitions/1/gripperV1.json +27 -0
  33. package/gripper/schemas/1.json +181 -0
  34. package/js/__tests__/__snapshots__/pipettes.test.ts.snap +5969 -0
  35. package/js/__tests__/deckSchemas.test.ts +87 -0
  36. package/js/__tests__/errors.test.js +21 -0
  37. package/js/__tests__/getAreSlotsAdjacent.test.ts +128 -0
  38. package/js/__tests__/getWellNamePerMultiTip.test.ts +162 -0
  39. package/js/__tests__/labwareDefQuirks.test.ts +37 -0
  40. package/js/__tests__/labwareDefSchemaV1.test.ts +82 -0
  41. package/js/__tests__/labwareDefSchemaV2.test.ts +298 -0
  42. package/js/__tests__/moduleAccessors.test.ts +50 -0
  43. package/js/__tests__/moduleSpecsSchema.test.ts +77 -0
  44. package/js/__tests__/pipetteSchemaV2.test.ts +107 -0
  45. package/js/__tests__/pipetteSpecSchemas.test.ts +48 -0
  46. package/js/__tests__/pipettes.test.ts +58 -0
  47. package/js/__tests__/protocolSchemaV4.test.ts +137 -0
  48. package/js/__tests__/protocolSchemaV5.test.ts +137 -0
  49. package/js/__tests__/protocolSchemaV6.test.ts +132 -0
  50. package/js/__tests__/protocolSchemaV7.test.ts +64 -0
  51. package/js/__tests__/protocolValidation.test.ts +83 -0
  52. package/js/__tests__/sortWells.test.ts +40 -0
  53. package/js/__tests__/splitWellsOnColumn.test.ts +21 -0
  54. package/js/__tests__/validateErrors.test.js +34 -0
  55. package/js/constants.ts +336 -0
  56. package/js/cypressUtils.ts +35 -0
  57. package/js/errors.ts +33 -0
  58. package/js/fixtures.ts +161 -0
  59. package/js/getLabware.ts +162 -0
  60. package/js/gripper.ts +29 -0
  61. package/js/helpers/__tests__/getAdapterName.test.ts +31 -0
  62. package/js/helpers/__tests__/getDeckDefFromLoadedLabware.test.ts +12 -0
  63. package/js/helpers/__tests__/getVectorDifference.test.ts +25 -0
  64. package/js/helpers/__tests__/getVectorSum.test.ts +21 -0
  65. package/js/helpers/__tests__/labwareInference.test.ts +84 -0
  66. package/js/helpers/__tests__/orderWells.test.ts +87 -0
  67. package/js/helpers/__tests__/parseProtocolData.test.ts +165 -0
  68. package/js/helpers/__tests__/volume.test.ts +108 -0
  69. package/js/helpers/__tests__/wellSets.test.ts +352 -0
  70. package/js/helpers/get96Channel384WellPlateWells.ts +44 -0
  71. package/js/helpers/getLoadedLabwareDefinitionsByUri.ts +30 -0
  72. package/js/helpers/getModuleVizDims.ts +118 -0
  73. package/js/helpers/getOccludedSlotCountForModule.ts +13 -0
  74. package/js/helpers/getVectorDifference.ts +12 -0
  75. package/js/helpers/getVectorSum.ts +12 -0
  76. package/js/helpers/getWellNamePerMultiTip.ts +86 -0
  77. package/js/helpers/getWellTotalVolume.ts +16 -0
  78. package/js/helpers/index.ts +346 -0
  79. package/js/helpers/labwareInference.ts +92 -0
  80. package/js/helpers/orderWells.ts +69 -0
  81. package/js/helpers/parseProtocolData.ts +141 -0
  82. package/js/helpers/volume.ts +35 -0
  83. package/js/helpers/wellIsRect.ts +6 -0
  84. package/js/helpers/wellSets.ts +150 -0
  85. package/js/index.ts +14 -0
  86. package/js/labwareTools/__tests__/__snapshots__/createIrregularLabware.test.ts.snap +3 -0
  87. package/js/labwareTools/__tests__/__snapshots__/createLabware.test.ts.snap +3 -0
  88. package/js/labwareTools/__tests__/createDefaultDisplayName.test.ts +111 -0
  89. package/js/labwareTools/__tests__/createIrregularLabware.test.ts +226 -0
  90. package/js/labwareTools/__tests__/createLabware.test.ts +147 -0
  91. package/js/labwareTools/index.ts +452 -0
  92. package/js/modules.ts +97 -0
  93. package/js/pipettes.ts +89 -0
  94. package/js/protocols.ts +290 -0
  95. package/js/schema.ts +80 -0
  96. package/js/scripts/build.js +32 -0
  97. package/js/scripts/generateDeckLayersFromSVG.js +46 -0
  98. package/js/titleCase.ts +30 -0
  99. package/js/types.ts +600 -0
  100. package/labware/definitions/1/12-well-plate.json +147 -0
  101. package/labware/definitions/1/24-vial-rack.json +281 -0
  102. package/labware/definitions/1/24-well-plate.json +281 -0
  103. package/labware/definitions/1/384-plate.json +4667 -0
  104. package/labware/definitions/1/48-vial-plate.json +547 -0
  105. package/labware/definitions/1/48-well-plate.json +547 -0
  106. package/labware/definitions/1/5ml-3x4.json +147 -0
  107. package/labware/definitions/1/6-well-plate.json +80 -0
  108. package/labware/definitions/1/96-PCR-flat.json +1079 -0
  109. package/labware/definitions/1/96-PCR-tall.json +1079 -0
  110. package/labware/definitions/1/96-deep-well.json +1079 -0
  111. package/labware/definitions/1/96-flat.json +1079 -0
  112. package/labware/definitions/1/96-well-plate-20mm.json +1079 -0
  113. package/labware/definitions/1/MALDI-plate.json +4282 -0
  114. package/labware/definitions/1/PCR-strip-tall.json +1079 -0
  115. package/labware/definitions/1/T25-flask.json +20 -0
  116. package/labware/definitions/1/T75-flask.json +20 -0
  117. package/labware/definitions/1/alum-block-pcr-strips.json +188 -0
  118. package/labware/definitions/1/biorad-hardshell-96-PCR.json +1079 -0
  119. package/labware/definitions/1/e-gelgol.json +1078 -0
  120. package/labware/definitions/1/fixed-trash.json +19 -0
  121. package/labware/definitions/1/hampton-1ml-deep-block.json +1078 -0
  122. package/labware/definitions/1/opentrons-aluminum-block-2ml-eppendorf.json +281 -0
  123. package/labware/definitions/1/opentrons-aluminum-block-2ml-screwcap.json +281 -0
  124. package/labware/definitions/1/opentrons-aluminum-block-96-PCR-plate.json +1079 -0
  125. package/labware/definitions/1/opentrons-aluminum-block-PCR-strips-200ul.json +1079 -0
  126. package/labware/definitions/1/opentrons-tiprack-10ul.json +986 -0
  127. package/labware/definitions/1/opentrons-tiprack-300ul.json +986 -0
  128. package/labware/definitions/1/opentrons-tuberack-1.5ml-eppendorf.json +281 -0
  129. package/labware/definitions/1/opentrons-tuberack-15_50ml.json +125 -0
  130. package/labware/definitions/1/opentrons-tuberack-15ml.json +181 -0
  131. package/labware/definitions/1/opentrons-tuberack-2ml-eppendorf.json +281 -0
  132. package/labware/definitions/1/opentrons-tuberack-2ml-screwcap.json +281 -0
  133. package/labware/definitions/1/opentrons-tuberack-50ml.json +80 -0
  134. package/labware/definitions/1/point.json +18 -0
  135. package/labware/definitions/1/rigaku-compact-crystallization-plate.json +2146 -0
  136. package/labware/definitions/1/small_vial_rack_16x45.json +280 -0
  137. package/labware/definitions/1/tall-fixed-trash.json +19 -0
  138. package/labware/definitions/1/tiprack-1000ul-H.json +503 -0
  139. package/labware/definitions/1/tiprack-1000ul-chem.json +1034 -0
  140. package/labware/definitions/1/tiprack-1000ul.json +986 -0
  141. package/labware/definitions/1/tiprack-10ul-H.json +503 -0
  142. package/labware/definitions/1/tiprack-10ul.json +986 -0
  143. package/labware/definitions/1/tiprack-200ul.json +986 -0
  144. package/labware/definitions/1/trash-box.json +20 -0
  145. package/labware/definitions/1/trough-12row-short.json +143 -0
  146. package/labware/definitions/1/trough-12row.json +143 -0
  147. package/labware/definitions/1/trough-1row-25ml.json +21 -0
  148. package/labware/definitions/1/tube-rack-.75ml.json +281 -0
  149. package/labware/definitions/1/tube-rack-15_50ml.json +125 -0
  150. package/labware/definitions/1/tube-rack-2ml-9x9.json +911 -0
  151. package/labware/definitions/1/tube-rack-2ml.json +281 -0
  152. package/labware/definitions/1/tube-rack-5ml-96.json +1079 -0
  153. package/labware/definitions/1/tube-rack-80well.json +907 -0
  154. package/labware/definitions/1/wheaton_vial_rack.json +565 -0
  155. package/labware/definitions/2/agilent_1_reservoir_290ml/1.json +54 -0
  156. package/labware/definitions/2/appliedbiosystemsmicroamp_384_wellplate_40ul/1.json +4320 -0
  157. package/labware/definitions/2/armadillo_96_wellplate_200ul_pcr_full_skirt/1.json +1019 -0
  158. package/labware/definitions/2/armadillo_96_wellplate_200ul_pcr_full_skirt/2.json +1045 -0
  159. package/labware/definitions/2/axygen_1_reservoir_90ml/1.json +56 -0
  160. package/labware/definitions/2/biorad_384_wellplate_50ul/1.json +4329 -0
  161. package/labware/definitions/2/biorad_384_wellplate_50ul/2.json +4331 -0
  162. package/labware/definitions/2/biorad_96_wellplate_200ul_pcr/1.json +1020 -0
  163. package/labware/definitions/2/biorad_96_wellplate_200ul_pcr/2.json +1036 -0
  164. package/labware/definitions/2/corning_12_wellplate_6.9ml_flat/1.json +171 -0
  165. package/labware/definitions/2/corning_12_wellplate_6.9ml_flat/2.json +180 -0
  166. package/labware/definitions/2/corning_24_wellplate_3.4ml_flat/1.json +293 -0
  167. package/labware/definitions/2/corning_24_wellplate_3.4ml_flat/2.json +300 -0
  168. package/labware/definitions/2/corning_384_wellplate_112ul_flat/1.json +4703 -0
  169. package/labware/definitions/2/corning_384_wellplate_112ul_flat/2.json +4717 -0
  170. package/labware/definitions/2/corning_48_wellplate_1.6ml_flat/1.json +535 -0
  171. package/labware/definitions/2/corning_48_wellplate_1.6ml_flat/2.json +544 -0
  172. package/labware/definitions/2/corning_6_wellplate_16.8ml_flat/1.json +103 -0
  173. package/labware/definitions/2/corning_6_wellplate_16.8ml_flat/2.json +110 -0
  174. package/labware/definitions/2/corning_96_wellplate_360ul_flat/1.json +1049 -0
  175. package/labware/definitions/2/corning_96_wellplate_360ul_flat/2.json +1063 -0
  176. package/labware/definitions/2/eppendorf_96_tiprack_1000ul_eptips/1.json +1019 -0
  177. package/labware/definitions/2/eppendorf_96_tiprack_10ul_eptips/1.json +1019 -0
  178. package/labware/definitions/2/geb_96_tiprack_1000ul/1.json +1017 -0
  179. package/labware/definitions/2/geb_96_tiprack_10ul/1.json +1017 -0
  180. package/labware/definitions/2/nest_12_reservoir_15ml/1.json +190 -0
  181. package/labware/definitions/2/nest_1_reservoir_195ml/1.json +54 -0
  182. package/labware/definitions/2/nest_1_reservoir_195ml/2.json +56 -0
  183. package/labware/definitions/2/nest_1_reservoir_290ml/1.json +54 -0
  184. package/labware/definitions/2/nest_96_wellplate_100ul_pcr_full_skirt/1.json +1018 -0
  185. package/labware/definitions/2/nest_96_wellplate_100ul_pcr_full_skirt/2.json +1039 -0
  186. package/labware/definitions/2/nest_96_wellplate_200ul_flat/1.json +1017 -0
  187. package/labware/definitions/2/nest_96_wellplate_200ul_flat/2.json +1031 -0
  188. package/labware/definitions/2/nest_96_wellplate_2ml_deep/1.json +1121 -0
  189. package/labware/definitions/2/nest_96_wellplate_2ml_deep/2.json +1137 -0
  190. package/labware/definitions/2/opentrons_10_tuberack_falcon_4x50ml_6x15ml_conical/1.json +164 -0
  191. package/labware/definitions/2/opentrons_10_tuberack_falcon_4x50ml_6x15ml_conical_acrylic/1.json +162 -0
  192. package/labware/definitions/2/opentrons_10_tuberack_nest_4x50ml_6x15ml_conical/1.json +160 -0
  193. package/labware/definitions/2/opentrons_15_tuberack_falcon_15ml_conical/1.json +211 -0
  194. package/labware/definitions/2/opentrons_15_tuberack_nest_15ml_conical/1.json +209 -0
  195. package/labware/definitions/2/opentrons_1_trash_1100ml_fixed/1.json +50 -0
  196. package/labware/definitions/2/opentrons_1_trash_3200ml_fixed/1.json +50 -0
  197. package/labware/definitions/2/opentrons_1_trash_850ml_fixed/1.json +50 -0
  198. package/labware/definitions/2/opentrons_24_aluminumblock_generic_2ml_screwcap/1.json +300 -0
  199. package/labware/definitions/2/opentrons_24_aluminumblock_generic_2ml_screwcap/2.json +301 -0
  200. package/labware/definitions/2/opentrons_24_aluminumblock_nest_0.5ml_screwcap/1.json +299 -0
  201. package/labware/definitions/2/opentrons_24_aluminumblock_nest_1.5ml_screwcap/1.json +299 -0
  202. package/labware/definitions/2/opentrons_24_aluminumblock_nest_1.5ml_snapcap/1.json +301 -0
  203. package/labware/definitions/2/opentrons_24_aluminumblock_nest_2ml_screwcap/1.json +299 -0
  204. package/labware/definitions/2/opentrons_24_aluminumblock_nest_2ml_snapcap/1.json +301 -0
  205. package/labware/definitions/2/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1.json +312 -0
  206. package/labware/definitions/2/opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap/1.json +311 -0
  207. package/labware/definitions/2/opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap_acrylic/1.json +309 -0
  208. package/labware/definitions/2/opentrons_24_tuberack_generic_0.75ml_snapcap_acrylic/1.json +298 -0
  209. package/labware/definitions/2/opentrons_24_tuberack_generic_2ml_screwcap/1.json +300 -0
  210. package/labware/definitions/2/opentrons_24_tuberack_nest_0.5ml_screwcap/1.json +300 -0
  211. package/labware/definitions/2/opentrons_24_tuberack_nest_1.5ml_screwcap/1.json +300 -0
  212. package/labware/definitions/2/opentrons_24_tuberack_nest_1.5ml_snapcap/1.json +302 -0
  213. package/labware/definitions/2/opentrons_24_tuberack_nest_2ml_screwcap/1.json +300 -0
  214. package/labware/definitions/2/opentrons_24_tuberack_nest_2ml_snapcap/1.json +302 -0
  215. package/labware/definitions/2/opentrons_40_aluminumblock_eppendorf_24x2ml_safelock_snapcap_generic_16x0.2ml_pcr_strip/1.json +481 -0
  216. package/labware/definitions/2/opentrons_6_tuberack_falcon_50ml_conical/1.json +112 -0
  217. package/labware/definitions/2/opentrons_6_tuberack_nest_50ml_conical/1.json +110 -0
  218. package/labware/definitions/2/opentrons_96_aluminumblock_biorad_wellplate_200ul/1.json +1029 -0
  219. package/labware/definitions/2/opentrons_96_aluminumblock_generic_pcr_strip_200ul/1.json +1026 -0
  220. package/labware/definitions/2/opentrons_96_aluminumblock_generic_pcr_strip_200ul/2.json +1027 -0
  221. package/labware/definitions/2/opentrons_96_aluminumblock_nest_wellplate_100ul/1.json +1027 -0
  222. package/labware/definitions/2/opentrons_96_deep_well_adapter/1.json +41 -0
  223. package/labware/definitions/2/opentrons_96_deep_well_adapter_nest_wellplate_2ml_deep/1.json +1121 -0
  224. package/labware/definitions/2/opentrons_96_filtertiprack_1000ul/1.json +1017 -0
  225. package/labware/definitions/2/opentrons_96_filtertiprack_10ul/1.json +1017 -0
  226. package/labware/definitions/2/opentrons_96_filtertiprack_200ul/1.json +1017 -0
  227. package/labware/definitions/2/opentrons_96_filtertiprack_20ul/1.json +1017 -0
  228. package/labware/definitions/2/opentrons_96_flat_bottom_adapter/1.json +41 -0
  229. package/labware/definitions/2/opentrons_96_flat_bottom_adapter_nest_wellplate_200ul_flat/1.json +1027 -0
  230. package/labware/definitions/2/opentrons_96_pcr_adapter/1.json +1032 -0
  231. package/labware/definitions/2/opentrons_96_pcr_adapter_armadillo_wellplate_200ul/1.json +1027 -0
  232. package/labware/definitions/2/opentrons_96_pcr_adapter_nest_wellplate_100ul_pcr_full_skirt/1.json +1025 -0
  233. package/labware/definitions/2/opentrons_96_tiprack_1000ul/1.json +1019 -0
  234. package/labware/definitions/2/opentrons_96_tiprack_10ul/1.json +1019 -0
  235. package/labware/definitions/2/opentrons_96_tiprack_20ul/1.json +1019 -0
  236. package/labware/definitions/2/opentrons_96_tiprack_300ul/1.json +1019 -0
  237. package/labware/definitions/2/opentrons_96_well_aluminum_block/1.json +1032 -0
  238. package/labware/definitions/2/opentrons_96_wellplate_200ul_pcr_full_skirt/1.json +1019 -0
  239. package/labware/definitions/2/opentrons_96_wellplate_200ul_pcr_full_skirt/2.json +1045 -0
  240. package/labware/definitions/2/opentrons_aluminum_flat_bottom_plate/1.json +41 -0
  241. package/labware/definitions/2/opentrons_calibration_adapter_heatershaker_module/1.json +62 -0
  242. package/labware/definitions/2/opentrons_calibration_adapter_temperature_module/1.json +62 -0
  243. package/labware/definitions/2/opentrons_calibration_adapter_thermocycler_module/1.json +69 -0
  244. package/labware/definitions/2/opentrons_calibrationblock_short_side_left/1.json +71 -0
  245. package/labware/definitions/2/opentrons_calibrationblock_short_side_right/1.json +71 -0
  246. package/labware/definitions/2/opentrons_flex_96_filtertiprack_1000ul/1.json +1026 -0
  247. package/labware/definitions/2/opentrons_flex_96_filtertiprack_200ul/1.json +1026 -0
  248. package/labware/definitions/2/opentrons_flex_96_filtertiprack_50ul/1.json +1026 -0
  249. package/labware/definitions/2/opentrons_flex_96_tiprack_1000ul/1.json +1026 -0
  250. package/labware/definitions/2/opentrons_flex_96_tiprack_200ul/1.json +1026 -0
  251. package/labware/definitions/2/opentrons_flex_96_tiprack_50ul/1.json +1026 -0
  252. package/labware/definitions/2/opentrons_flex_96_tiprack_adapter/1.json +41 -0
  253. package/labware/definitions/2/opentrons_universal_flat_adapter/1.json +151 -0
  254. package/labware/definitions/2/opentrons_universal_flat_adapter_corning_384_wellplate_112ul_flat/1.json +4710 -0
  255. package/labware/definitions/2/thermoscientificnunc_96_wellplate_1300ul/1.json +1019 -0
  256. package/labware/definitions/2/thermoscientificnunc_96_wellplate_2000ul/1.json +1019 -0
  257. package/labware/definitions/2/tipone_96_tiprack_200ul/1.json +1017 -0
  258. package/labware/definitions/2/usascientific_12_reservoir_22ml/1.json +192 -0
  259. package/labware/definitions/2/usascientific_96_wellplate_2.4ml_deep/1.json +1116 -0
  260. package/labware/fixtures/2/fixture_12_trough.json +188 -0
  261. package/labware/fixtures/2/fixture_12_trough_v2.json +188 -0
  262. package/labware/fixtures/2/fixture_24_tuberack.json +295 -0
  263. package/labware/fixtures/2/fixture_384_plate.json +4316 -0
  264. package/labware/fixtures/2/fixture_96_plate.json +1015 -0
  265. package/labware/fixtures/2/fixture_flex_96_tiprack_1000ul.json +1026 -0
  266. package/labware/fixtures/2/fixture_flex_96_tiprack_adapter.json +41 -0
  267. package/labware/fixtures/2/fixture_irregular_example_1.json +600 -0
  268. package/labware/fixtures/2/fixture_overlappy_wellplate.json +1113 -0
  269. package/labware/fixtures/2/fixture_regular_example_1.json +57 -0
  270. package/labware/fixtures/2/fixture_regular_example_2.json +95 -0
  271. package/labware/fixtures/2/fixture_tiprack_1000_ul.json +1015 -0
  272. package/labware/fixtures/2/fixture_tiprack_10_ul.json +1015 -0
  273. package/labware/fixtures/2/fixture_tiprack_300_ul.json +1014 -0
  274. package/labware/fixtures/2/fixture_trash.json +50 -0
  275. package/labware/schemas/2.json +372 -0
  276. package/liquid/schemas/1.json +21 -0
  277. package/liquid/types/index.ts +5 -0
  278. package/module/definitions/1.json +57 -0
  279. package/module/definitions/2/magneticModuleV1.json +22 -0
  280. package/module/definitions/2/magneticModuleV2.json +69 -0
  281. package/module/definitions/2/temperatureModuleV1.json +22 -0
  282. package/module/definitions/2/temperatureModuleV2.json +69 -0
  283. package/module/definitions/2/thermocyclerModuleV1.json +23 -0
  284. package/module/definitions/3/heaterShakerModuleV1.json +521 -0
  285. package/module/definitions/3/magneticBlockV1.json +199 -0
  286. package/module/definitions/3/magneticModuleV1.json +435 -0
  287. package/module/definitions/3/magneticModuleV2.json +488 -0
  288. package/module/definitions/3/temperatureModuleV1.json +190 -0
  289. package/module/definitions/3/temperatureModuleV2.json +315 -0
  290. package/module/definitions/3/thermocyclerModuleV1.json +1380 -0
  291. package/module/definitions/3/thermocyclerModuleV2.json +3686 -0
  292. package/module/fixtures/3/compatibleGenerationV1.json +69 -0
  293. package/module/fixtures/3/compatibleGenerationV2.json +69 -0
  294. package/module/fixtures/3/incompatibleGenerationV1.json +22 -0
  295. package/module/fixtures/3/incompatibleGenerationV2.json +69 -0
  296. package/module/schemas/1.json +55 -0
  297. package/module/schemas/2.json +112 -0
  298. package/module/schemas/3.json +206 -0
  299. package/package.json +20 -0
  300. package/pipette/README.md +50 -0
  301. package/pipette/definitions/1/pipetteModelSpecs.json +10214 -0
  302. package/pipette/definitions/1/pipetteNameSpecs.json +679 -0
  303. package/pipette/definitions/2/general/eight_channel/p10/1_0.json +59 -0
  304. package/pipette/definitions/2/general/eight_channel/p10/1_3.json +59 -0
  305. package/pipette/definitions/2/general/eight_channel/p10/1_4.json +59 -0
  306. package/pipette/definitions/2/general/eight_channel/p10/1_5.json +59 -0
  307. package/pipette/definitions/2/general/eight_channel/p10/1_6.json +59 -0
  308. package/pipette/definitions/2/general/eight_channel/p1000/1_0.json +68 -0
  309. package/pipette/definitions/2/general/eight_channel/p1000/3_0.json +68 -0
  310. package/pipette/definitions/2/general/eight_channel/p1000/3_3.json +68 -0
  311. package/pipette/definitions/2/general/eight_channel/p1000/3_4.json +68 -0
  312. package/pipette/definitions/2/general/eight_channel/p1000/3_5.json +68 -0
  313. package/pipette/definitions/2/general/eight_channel/p20/2_0.json +59 -0
  314. package/pipette/definitions/2/general/eight_channel/p20/2_1.json +59 -0
  315. package/pipette/definitions/2/general/eight_channel/p300/1_0.json +59 -0
  316. package/pipette/definitions/2/general/eight_channel/p300/1_3.json +59 -0
  317. package/pipette/definitions/2/general/eight_channel/p300/1_4.json +59 -0
  318. package/pipette/definitions/2/general/eight_channel/p300/1_5.json +59 -0
  319. package/pipette/definitions/2/general/eight_channel/p300/2_0.json +59 -0
  320. package/pipette/definitions/2/general/eight_channel/p300/2_1.json +59 -0
  321. package/pipette/definitions/2/general/eight_channel/p50/1_0.json +59 -0
  322. package/pipette/definitions/2/general/eight_channel/p50/1_3.json +59 -0
  323. package/pipette/definitions/2/general/eight_channel/p50/1_4.json +59 -0
  324. package/pipette/definitions/2/general/eight_channel/p50/1_5.json +59 -0
  325. package/pipette/definitions/2/general/eight_channel/p50/3_0.json +74 -0
  326. package/pipette/definitions/2/general/eight_channel/p50/3_3.json +74 -0
  327. package/pipette/definitions/2/general/eight_channel/p50/3_4.json +74 -0
  328. package/pipette/definitions/2/general/eight_channel/p50/3_5.json +74 -0
  329. package/pipette/definitions/2/general/ninety_six_channel/p1000/1_0.json +87 -0
  330. package/pipette/definitions/2/general/ninety_six_channel/p1000/3_0.json +92 -0
  331. package/pipette/definitions/2/general/ninety_six_channel/p1000/3_3.json +87 -0
  332. package/pipette/definitions/2/general/ninety_six_channel/p1000/3_4.json +88 -0
  333. package/pipette/definitions/2/general/ninety_six_channel/p1000/3_5.json +87 -0
  334. package/pipette/definitions/2/general/single_channel/p10/1_0.json +52 -0
  335. package/pipette/definitions/2/general/single_channel/p10/1_3.json +52 -0
  336. package/pipette/definitions/2/general/single_channel/p10/1_4.json +52 -0
  337. package/pipette/definitions/2/general/single_channel/p10/1_5.json +52 -0
  338. package/pipette/definitions/2/general/single_channel/p1000/1_0.json +52 -0
  339. package/pipette/definitions/2/general/single_channel/p1000/1_3.json +52 -0
  340. package/pipette/definitions/2/general/single_channel/p1000/1_4.json +52 -0
  341. package/pipette/definitions/2/general/single_channel/p1000/1_5.json +52 -0
  342. package/pipette/definitions/2/general/single_channel/p1000/2_0.json +52 -0
  343. package/pipette/definitions/2/general/single_channel/p1000/2_1.json +52 -0
  344. package/pipette/definitions/2/general/single_channel/p1000/2_2.json +52 -0
  345. package/pipette/definitions/2/general/single_channel/p1000/3_0.json +61 -0
  346. package/pipette/definitions/2/general/single_channel/p1000/3_3.json +61 -0
  347. package/pipette/definitions/2/general/single_channel/p1000/3_4.json +61 -0
  348. package/pipette/definitions/2/general/single_channel/p1000/3_5.json +61 -0
  349. package/pipette/definitions/2/general/single_channel/p20/2_0.json +52 -0
  350. package/pipette/definitions/2/general/single_channel/p20/2_1.json +52 -0
  351. package/pipette/definitions/2/general/single_channel/p20/2_2.json +52 -0
  352. package/pipette/definitions/2/general/single_channel/p300/1_0.json +52 -0
  353. package/pipette/definitions/2/general/single_channel/p300/1_3.json +52 -0
  354. package/pipette/definitions/2/general/single_channel/p300/1_4.json +52 -0
  355. package/pipette/definitions/2/general/single_channel/p300/1_5.json +52 -0
  356. package/pipette/definitions/2/general/single_channel/p300/2_0.json +52 -0
  357. package/pipette/definitions/2/general/single_channel/p300/2_1.json +52 -0
  358. package/pipette/definitions/2/general/single_channel/p50/1_0.json +52 -0
  359. package/pipette/definitions/2/general/single_channel/p50/1_3.json +52 -0
  360. package/pipette/definitions/2/general/single_channel/p50/1_4.json +52 -0
  361. package/pipette/definitions/2/general/single_channel/p50/1_5.json +52 -0
  362. package/pipette/definitions/2/general/single_channel/p50/3_0.json +67 -0
  363. package/pipette/definitions/2/general/single_channel/p50/3_3.json +67 -0
  364. package/pipette/definitions/2/general/single_channel/p50/3_4.json +67 -0
  365. package/pipette/definitions/2/general/single_channel/p50/3_5.json +67 -0
  366. package/pipette/definitions/2/geometry/eight_channel/p10/1_0.json +37 -0
  367. package/pipette/definitions/2/geometry/eight_channel/p10/1_3.json +37 -0
  368. package/pipette/definitions/2/geometry/eight_channel/p10/1_4.json +37 -0
  369. package/pipette/definitions/2/geometry/eight_channel/p10/1_5.json +37 -0
  370. package/pipette/definitions/2/geometry/eight_channel/p10/1_6.json +37 -0
  371. package/pipette/definitions/2/geometry/eight_channel/p10/placeholder.gltf +0 -0
  372. package/pipette/definitions/2/geometry/eight_channel/p1000/1_0.json +37 -0
  373. package/pipette/definitions/2/geometry/eight_channel/p1000/3_0.json +37 -0
  374. package/pipette/definitions/2/geometry/eight_channel/p1000/3_3.json +37 -0
  375. package/pipette/definitions/2/geometry/eight_channel/p1000/3_4.json +37 -0
  376. package/pipette/definitions/2/geometry/eight_channel/p1000/3_5.json +37 -0
  377. package/pipette/definitions/2/geometry/eight_channel/p1000/placeholder.gltf +0 -0
  378. package/pipette/definitions/2/geometry/eight_channel/p20/2_0.json +37 -0
  379. package/pipette/definitions/2/geometry/eight_channel/p20/2_1.json +37 -0
  380. package/pipette/definitions/2/geometry/eight_channel/p20/placeholder.gltf +0 -0
  381. package/pipette/definitions/2/geometry/eight_channel/p300/1_0.json +37 -0
  382. package/pipette/definitions/2/geometry/eight_channel/p300/1_3.json +37 -0
  383. package/pipette/definitions/2/geometry/eight_channel/p300/1_4.json +37 -0
  384. package/pipette/definitions/2/geometry/eight_channel/p300/1_5.json +37 -0
  385. package/pipette/definitions/2/geometry/eight_channel/p300/2_0.json +37 -0
  386. package/pipette/definitions/2/geometry/eight_channel/p300/2_1.json +37 -0
  387. package/pipette/definitions/2/geometry/eight_channel/p300/placeholder.gltf +0 -0
  388. package/pipette/definitions/2/geometry/eight_channel/p50/1_0.json +37 -0
  389. package/pipette/definitions/2/geometry/eight_channel/p50/1_3.json +37 -0
  390. package/pipette/definitions/2/geometry/eight_channel/p50/1_4.json +37 -0
  391. package/pipette/definitions/2/geometry/eight_channel/p50/1_5.json +37 -0
  392. package/pipette/definitions/2/geometry/eight_channel/p50/3_0.json +37 -0
  393. package/pipette/definitions/2/geometry/eight_channel/p50/3_3.json +37 -0
  394. package/pipette/definitions/2/geometry/eight_channel/p50/3_4.json +37 -0
  395. package/pipette/definitions/2/geometry/eight_channel/p50/3_5.json +37 -0
  396. package/pipette/definitions/2/geometry/eight_channel/p50/placeholder.gltf +0 -0
  397. package/pipette/definitions/2/geometry/ninety_six_channel/p1000/1_0.json +291 -0
  398. package/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_0.json +291 -0
  399. package/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_3.json +291 -0
  400. package/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_4.json +291 -0
  401. package/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_5.json +291 -0
  402. package/pipette/definitions/2/geometry/ninety_six_channel/p1000/placeholder.gltf +0 -0
  403. package/pipette/definitions/2/geometry/single_channel/p10/1_0.json +10 -0
  404. package/pipette/definitions/2/geometry/single_channel/p10/1_3.json +10 -0
  405. package/pipette/definitions/2/geometry/single_channel/p10/1_4.json +10 -0
  406. package/pipette/definitions/2/geometry/single_channel/p10/1_5.json +10 -0
  407. package/pipette/definitions/2/geometry/single_channel/p10/placeholder.gltf +0 -0
  408. package/pipette/definitions/2/geometry/single_channel/p1000/1_0.json +10 -0
  409. package/pipette/definitions/2/geometry/single_channel/p1000/1_3.json +10 -0
  410. package/pipette/definitions/2/geometry/single_channel/p1000/1_4.json +10 -0
  411. package/pipette/definitions/2/geometry/single_channel/p1000/1_5.json +10 -0
  412. package/pipette/definitions/2/geometry/single_channel/p1000/2_0.json +10 -0
  413. package/pipette/definitions/2/geometry/single_channel/p1000/2_1.json +10 -0
  414. package/pipette/definitions/2/geometry/single_channel/p1000/2_2.json +10 -0
  415. package/pipette/definitions/2/geometry/single_channel/p1000/3_0.json +10 -0
  416. package/pipette/definitions/2/geometry/single_channel/p1000/3_3.json +10 -0
  417. package/pipette/definitions/2/geometry/single_channel/p1000/3_4.json +10 -0
  418. package/pipette/definitions/2/geometry/single_channel/p1000/3_5.json +10 -0
  419. package/pipette/definitions/2/geometry/single_channel/p1000/placeholder.gltf +0 -0
  420. package/pipette/definitions/2/geometry/single_channel/p20/2_0.json +10 -0
  421. package/pipette/definitions/2/geometry/single_channel/p20/2_1.json +10 -0
  422. package/pipette/definitions/2/geometry/single_channel/p20/2_2.json +10 -0
  423. package/pipette/definitions/2/geometry/single_channel/p20/placeholder.gltf +0 -0
  424. package/pipette/definitions/2/geometry/single_channel/p300/1_0.json +10 -0
  425. package/pipette/definitions/2/geometry/single_channel/p300/1_3.json +10 -0
  426. package/pipette/definitions/2/geometry/single_channel/p300/1_4.json +10 -0
  427. package/pipette/definitions/2/geometry/single_channel/p300/1_5.json +10 -0
  428. package/pipette/definitions/2/geometry/single_channel/p300/2_0.json +10 -0
  429. package/pipette/definitions/2/geometry/single_channel/p300/2_1.json +10 -0
  430. package/pipette/definitions/2/geometry/single_channel/p300/placeholder.gltf +0 -0
  431. package/pipette/definitions/2/geometry/single_channel/p50/1_0.json +10 -0
  432. package/pipette/definitions/2/geometry/single_channel/p50/1_3.json +10 -0
  433. package/pipette/definitions/2/geometry/single_channel/p50/1_4.json +10 -0
  434. package/pipette/definitions/2/geometry/single_channel/p50/1_5.json +10 -0
  435. package/pipette/definitions/2/geometry/single_channel/p50/3_0.json +10 -0
  436. package/pipette/definitions/2/geometry/single_channel/p50/3_3.json +10 -0
  437. package/pipette/definitions/2/geometry/single_channel/p50/3_4.json +10 -0
  438. package/pipette/definitions/2/geometry/single_channel/p50/3_5.json +10 -0
  439. package/pipette/definitions/2/geometry/single_channel/p50/placeholder.gltf +0 -0
  440. package/pipette/definitions/2/liquid/eight_channel/p10/default/1_0.json +58 -0
  441. package/pipette/definitions/2/liquid/eight_channel/p10/default/1_3.json +58 -0
  442. package/pipette/definitions/2/liquid/eight_channel/p10/default/1_4.json +58 -0
  443. package/pipette/definitions/2/liquid/eight_channel/p10/default/1_5.json +47 -0
  444. package/pipette/definitions/2/liquid/eight_channel/p10/default/1_6.json +55 -0
  445. package/pipette/definitions/2/liquid/eight_channel/p1000/default/1_0.json +356 -0
  446. package/pipette/definitions/2/liquid/eight_channel/p1000/default/3_0.json +359 -0
  447. package/pipette/definitions/2/liquid/eight_channel/p1000/default/3_3.json +359 -0
  448. package/pipette/definitions/2/liquid/eight_channel/p1000/default/3_4.json +359 -0
  449. package/pipette/definitions/2/liquid/eight_channel/p1000/default/3_5.json +239 -0
  450. package/pipette/definitions/2/liquid/eight_channel/p20/default/2_0.json +311 -0
  451. package/pipette/definitions/2/liquid/eight_channel/p20/default/2_1.json +191 -0
  452. package/pipette/definitions/2/liquid/eight_channel/p300/default/1_0.json +67 -0
  453. package/pipette/definitions/2/liquid/eight_channel/p300/default/1_3.json +67 -0
  454. package/pipette/definitions/2/liquid/eight_channel/p300/default/1_4.json +67 -0
  455. package/pipette/definitions/2/liquid/eight_channel/p300/default/1_5.json +67 -0
  456. package/pipette/definitions/2/liquid/eight_channel/p300/default/2_0.json +190 -0
  457. package/pipette/definitions/2/liquid/eight_channel/p300/default/2_1.json +190 -0
  458. package/pipette/definitions/2/liquid/eight_channel/p50/default/1_0.json +128 -0
  459. package/pipette/definitions/2/liquid/eight_channel/p50/default/1_3.json +128 -0
  460. package/pipette/definitions/2/liquid/eight_channel/p50/default/1_4.json +128 -0
  461. package/pipette/definitions/2/liquid/eight_channel/p50/default/1_5.json +110 -0
  462. package/pipette/definitions/2/liquid/eight_channel/p50/default/3_0.json +99 -0
  463. package/pipette/definitions/2/liquid/eight_channel/p50/default/3_3.json +99 -0
  464. package/pipette/definitions/2/liquid/eight_channel/p50/default/3_4.json +99 -0
  465. package/pipette/definitions/2/liquid/eight_channel/p50/default/3_5.json +91 -0
  466. package/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_0.json +94 -0
  467. package/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_3.json +89 -0
  468. package/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_4.json +89 -0
  469. package/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_5.json +89 -0
  470. package/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/1_0.json +188 -0
  471. package/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_0.json +188 -0
  472. package/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_3.json +188 -0
  473. package/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_4.json +188 -0
  474. package/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_5.json +188 -0
  475. package/pipette/definitions/2/liquid/single_channel/p10/default/1_0.json +59 -0
  476. package/pipette/definitions/2/liquid/single_channel/p10/default/1_3.json +59 -0
  477. package/pipette/definitions/2/liquid/single_channel/p10/default/1_4.json +56 -0
  478. package/pipette/definitions/2/liquid/single_channel/p10/default/1_5.json +54 -0
  479. package/pipette/definitions/2/liquid/single_channel/p1000/default/1_0.json +48 -0
  480. package/pipette/definitions/2/liquid/single_channel/p1000/default/1_3.json +48 -0
  481. package/pipette/definitions/2/liquid/single_channel/p1000/default/1_4.json +48 -0
  482. package/pipette/definitions/2/liquid/single_channel/p1000/default/1_5.json +48 -0
  483. package/pipette/definitions/2/liquid/single_channel/p1000/default/2_0.json +105 -0
  484. package/pipette/definitions/2/liquid/single_channel/p1000/default/2_1.json +107 -0
  485. package/pipette/definitions/2/liquid/single_channel/p1000/default/2_2.json +107 -0
  486. package/pipette/definitions/2/liquid/single_channel/p1000/default/3_0.json +356 -0
  487. package/pipette/definitions/2/liquid/single_channel/p1000/default/3_3.json +356 -0
  488. package/pipette/definitions/2/liquid/single_channel/p1000/default/3_4.json +282 -0
  489. package/pipette/definitions/2/liquid/single_channel/p1000/default/3_5.json +204 -0
  490. package/pipette/definitions/2/liquid/single_channel/p20/default/2_0.json +431 -0
  491. package/pipette/definitions/2/liquid/single_channel/p20/default/2_1.json +251 -0
  492. package/pipette/definitions/2/liquid/single_channel/p20/default/2_2.json +311 -0
  493. package/pipette/definitions/2/liquid/single_channel/p300/default/1_0.json +99 -0
  494. package/pipette/definitions/2/liquid/single_channel/p300/default/1_3.json +99 -0
  495. package/pipette/definitions/2/liquid/single_channel/p300/default/1_4.json +99 -0
  496. package/pipette/definitions/2/liquid/single_channel/p300/default/1_5.json +75 -0
  497. package/pipette/definitions/2/liquid/single_channel/p300/default/2_0.json +188 -0
  498. package/pipette/definitions/2/liquid/single_channel/p300/default/2_1.json +188 -0
  499. package/pipette/definitions/2/liquid/single_channel/p50/default/1_0.json +119 -0
  500. package/pipette/definitions/2/liquid/single_channel/p50/default/1_3.json +128 -0
  501. package/pipette/definitions/2/liquid/single_channel/p50/default/1_4.json +128 -0
  502. package/pipette/definitions/2/liquid/single_channel/p50/default/1_5.json +104 -0
  503. package/pipette/definitions/2/liquid/single_channel/p50/default/3_0.json +98 -0
  504. package/pipette/definitions/2/liquid/single_channel/p50/default/3_3.json +98 -0
  505. package/pipette/definitions/2/liquid/single_channel/p50/default/3_4.json +100 -0
  506. package/pipette/definitions/2/liquid/single_channel/p50/default/3_5.json +80 -0
  507. package/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_0.json +78 -0
  508. package/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_3.json +78 -0
  509. package/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_4.json +78 -0
  510. package/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_5.json +76 -0
  511. package/pipette/fixtures/name/index.ts +19 -0
  512. package/pipette/fixtures/name/pipetteNameSpecFixtures.json +130 -0
  513. package/pipette/schemas/1/pipetteModelSpecsSchema.json +155 -0
  514. package/pipette/schemas/1/pipetteNameSpecsSchema.json +91 -0
  515. package/pipette/schemas/2/pipetteGeometrySchema.json +81 -0
  516. package/pipette/schemas/2/pipetteLiquidPropertiesSchema.json +120 -0
  517. package/pipette/schemas/2/pipettePropertiesSchema.json +287 -0
  518. package/protocol/README.md +12 -0
  519. package/protocol/fixtures/1/simple.json +73 -0
  520. package/protocol/fixtures/3/simple.json +1307 -0
  521. package/protocol/fixtures/3/testAllAtomicSingleV3.json +2281 -0
  522. package/protocol/fixtures/3/testTrickyLabwareV3.json +2577 -0
  523. package/protocol/fixtures/3/unusedPipette.json +1311 -0
  524. package/protocol/fixtures/4/pipetteMultiChannelProtocolV4.json +2561 -0
  525. package/protocol/fixtures/4/simpleV4.json +1309 -0
  526. package/protocol/fixtures/4/testMagneticModuleV4.json +2156 -0
  527. package/protocol/fixtures/4/testModulesProtocol.json +2561 -0
  528. package/protocol/fixtures/4/testTemperatureModuleV4.json +1480 -0
  529. package/protocol/fixtures/4/testThermocyclerModuleV4.json +2182 -0
  530. package/protocol/fixtures/4/transferSettings.json +5482 -0
  531. package/protocol/fixtures/5/multipleTipracks.json +2476 -0
  532. package/protocol/fixtures/5/multipleTipracksWithTC.json +3544 -0
  533. package/protocol/fixtures/5/simpleV5.json +1328 -0
  534. package/protocol/fixtures/6/heaterShakerCommands.json +1422 -0
  535. package/protocol/fixtures/6/heaterShakerCommandsWithResultsKey.json +4725 -0
  536. package/protocol/fixtures/6/multipleTempModules.json +11060 -0
  537. package/protocol/fixtures/6/multipleTipracks.json +5020 -0
  538. package/protocol/fixtures/6/multipleTipracksWithTC.json +7057 -0
  539. package/protocol/fixtures/6/oneTiprack.json +1388 -0
  540. package/protocol/fixtures/6/simpleV6.json +1494 -0
  541. package/protocol/fixtures/6/tempAndMagModuleCommands.json +1413 -0
  542. package/protocol/fixtures/6/transferSettings.json +11060 -0
  543. package/protocol/fixtures/7/moveLabware.json +1303 -0
  544. package/protocol/fixtures/7/simpleV7.json +1496 -0
  545. package/protocol/fixtures/8/moveLabware8.json +1309 -0
  546. package/protocol/fixtures/8/moveLabwareFlex8.json +1309 -0
  547. package/protocol/fixtures/8/simpleFlexV8.json +1475 -0
  548. package/protocol/fixtures/8/simpleV8.json +1473 -0
  549. package/protocol/index.ts +32 -0
  550. package/protocol/schemas/1.json +389 -0
  551. package/protocol/schemas/2.json +416 -0
  552. package/protocol/schemas/3.json +360 -0
  553. package/protocol/schemas/4.json +662 -0
  554. package/protocol/schemas/5.json +701 -0
  555. package/protocol/schemas/6.json +1225 -0
  556. package/protocol/schemas/7.json +290 -0
  557. package/protocol/schemas/8.json +157 -0
  558. package/protocol/types/schemaV1.ts +108 -0
  559. package/protocol/types/schemaV3.ts +131 -0
  560. package/protocol/types/schemaV4.ts +146 -0
  561. package/protocol/types/schemaV5.ts +34 -0
  562. package/protocol/types/schemaV5Addendum.ts +27 -0
  563. package/protocol/types/schemaV6/command/gantry.ts +146 -0
  564. package/protocol/types/schemaV6/command/index.ts +65 -0
  565. package/protocol/types/schemaV6/command/module.ts +302 -0
  566. package/protocol/types/schemaV6/command/pipetting.ts +114 -0
  567. package/protocol/types/schemaV6/command/setup.ts +127 -0
  568. package/protocol/types/schemaV6/command/timing.ts +58 -0
  569. package/protocol/types/schemaV6/index.ts +122 -0
  570. package/protocol/types/schemaV7/command/annotation.ts +37 -0
  571. package/protocol/types/schemaV7/command/calibration.ts +84 -0
  572. package/protocol/types/schemaV7/command/gantry.ts +154 -0
  573. package/protocol/types/schemaV7/command/incidental.ts +21 -0
  574. package/protocol/types/schemaV7/command/index.ts +76 -0
  575. package/protocol/types/schemaV7/command/module.ts +307 -0
  576. package/protocol/types/schemaV7/command/pipetting.ts +173 -0
  577. package/protocol/types/schemaV7/command/setup.ts +158 -0
  578. package/protocol/types/schemaV7/command/timing.ts +58 -0
  579. package/protocol/types/schemaV7/index.ts +98 -0
  580. package/protocol/types/schemaV8/index.ts +160 -0
  581. package/python/.coveragerc +4 -0
  582. package/python/.flake8 +32 -0
  583. package/python/Config.in +10 -0
  584. package/python/Makefile +134 -0
  585. package/python/Pipfile +28 -0
  586. package/python/Pipfile.lock +645 -0
  587. package/python/buildroot.mk +30 -0
  588. package/python/mypy.ini +41 -0
  589. package/python/opentrons_shared_data/__init__.py +17 -0
  590. package/python/opentrons_shared_data/_version.py +20 -0
  591. package/python/opentrons_shared_data/command/__init__.py +52 -0
  592. package/python/opentrons_shared_data/deck/__init__.py +96 -0
  593. package/python/opentrons_shared_data/deck/dev_types.py +180 -0
  594. package/python/opentrons_shared_data/errors/__init__.py +30 -0
  595. package/python/opentrons_shared_data/errors/categories.py +60 -0
  596. package/python/opentrons_shared_data/errors/codes.py +108 -0
  597. package/python/opentrons_shared_data/errors/exceptions.py +915 -0
  598. package/python/opentrons_shared_data/gripper/__init__.py +63 -0
  599. package/python/opentrons_shared_data/gripper/constants.py +5 -0
  600. package/python/opentrons_shared_data/gripper/gripper_definition.py +101 -0
  601. package/python/opentrons_shared_data/labware/__init__.py +22 -0
  602. package/python/opentrons_shared_data/labware/constants.py +7 -0
  603. package/python/opentrons_shared_data/labware/dev_types.py +140 -0
  604. package/python/opentrons_shared_data/labware/labware_definition.py +328 -0
  605. package/python/opentrons_shared_data/load.py +57 -0
  606. package/python/opentrons_shared_data/module/__init__.py +74 -0
  607. package/python/opentrons_shared_data/module/dev_types.py +141 -0
  608. package/python/opentrons_shared_data/pipette/__init__.py +107 -0
  609. package/python/opentrons_shared_data/pipette/dev_types.py +177 -0
  610. package/python/opentrons_shared_data/pipette/file_operation_helpers.py +37 -0
  611. package/python/opentrons_shared_data/pipette/load_data.py +261 -0
  612. package/python/opentrons_shared_data/pipette/model_constants.py +123 -0
  613. package/python/opentrons_shared_data/pipette/mutable_configurations.py +431 -0
  614. package/python/opentrons_shared_data/pipette/pipette_definition.py +503 -0
  615. package/python/opentrons_shared_data/pipette/pipette_load_name_conversions.py +236 -0
  616. package/python/opentrons_shared_data/pipette/scripts/__init__.py +0 -0
  617. package/python/opentrons_shared_data/pipette/scripts/build_json_script.py +469 -0
  618. package/python/opentrons_shared_data/pipette/scripts/update_configuration_files.py +450 -0
  619. package/python/opentrons_shared_data/pipette/types.py +193 -0
  620. package/python/opentrons_shared_data/protocol/__init__.py +13 -0
  621. package/python/opentrons_shared_data/protocol/constants.py +98 -0
  622. package/python/opentrons_shared_data/protocol/dev_types.py +436 -0
  623. package/python/opentrons_shared_data/protocol/models/__init__.py +48 -0
  624. package/python/opentrons_shared_data/protocol/models/protocol_schema_v6.py +145 -0
  625. package/python/opentrons_shared_data/protocol/models/protocol_schema_v7.py +95 -0
  626. package/python/opentrons_shared_data/protocol/models/protocol_schema_v8.py +108 -0
  627. package/python/opentrons_shared_data/protocol/models/shared_models.py +105 -0
  628. package/python/opentrons_shared_data/py.typed +0 -0
  629. package/python/opentrons_shared_data/robot/__init__.py +25 -0
  630. package/python/opentrons_shared_data/robot/dev_types.py +37 -0
  631. package/python/pytest.ini +2 -0
  632. package/python/setup.cfg +5 -0
  633. package/python/setup.py +179 -0
  634. package/python/tests/__init__.py +1 -0
  635. package/python/tests/conftest.py +0 -0
  636. package/python/tests/deck/__init__.py +0 -0
  637. package/python/tests/deck/test_list_names.py +12 -0
  638. package/python/tests/deck/test_position.py +113 -0
  639. package/python/tests/deck/test_typechecks.py +28 -0
  640. package/python/tests/errors/__init__.py +1 -0
  641. package/python/tests/errors/test_error_completeness.py +19 -0
  642. package/python/tests/errors/test_exceptions.py +74 -0
  643. package/python/tests/gripper/__init__.py +0 -0
  644. package/python/tests/gripper/test_definition.py +30 -0
  645. package/python/tests/gripper/test_load.py +16 -0
  646. package/python/tests/labware/__init__.py +13 -0
  647. package/python/tests/labware/test_typechecks.py +21 -0
  648. package/python/tests/module/__init__.py +20 -0
  649. package/python/tests/module/test_load.py +49 -0
  650. package/python/tests/module/test_typechecks.py +34 -0
  651. package/python/tests/pipette/__init__.py +0 -0
  652. package/python/tests/pipette/test_load_data.py +103 -0
  653. package/python/tests/pipette/test_mutable_configurations.py +266 -0
  654. package/python/tests/pipette/test_pipette_definition.py +183 -0
  655. package/python/tests/pipette/test_pipette_load_name_conversions.py +222 -0
  656. package/python/tests/pipette/test_typechecks.py +50 -0
  657. package/python/tests/pipette/test_validate_schema.py +37 -0
  658. package/python/tests/protocol/__init__.py +15 -0
  659. package/python/tests/protocol/test_protocol_schema_v6.py +107 -0
  660. package/python/tests/protocol/test_protocol_schema_v7.py +34 -0
  661. package/python/tests/protocol/test_protocol_schema_v8.py +20 -0
  662. package/python/tests/protocol/test_typechecks.py +36 -0
  663. package/python/tests/robot/__init__.py +0 -0
  664. package/python/tests/robot/test_typechecks.py +20 -0
  665. package/robot/definitions/1/ot2.json +5 -0
  666. package/robot/definitions/1/ot3.json +5 -0
  667. package/robot/schemas/1.json +30 -0
  668. package/tsconfig-data.json +24 -0
  669. package/tsconfig.json +17 -0
@@ -0,0 +1,1309 @@
1
+ {
2
+ "$otSharedSchema": "#/protocol/schemas/4",
3
+ "schemaVersion": 4,
4
+ "metadata": {
5
+ "protocolName": "Simple test protocol",
6
+ "author": "engineering <engineering@opentrons.com>",
7
+ "description": "A short test protocol",
8
+ "created": 1223131231,
9
+ "lastModified": null,
10
+ "category": null,
11
+ "subcategory": null,
12
+ "tags": ["unitTest"]
13
+ },
14
+ "robot": {
15
+ "model": "OT-2 Standard"
16
+ },
17
+ "pipettes": {
18
+ "pipetteId": {
19
+ "mount": "left",
20
+ "name": "p10_single"
21
+ }
22
+ },
23
+ "modules": {},
24
+ "labware": {
25
+ "trashId": {
26
+ "slot": "12",
27
+ "displayName": "Trash",
28
+ "definitionId": "opentrons/opentrons_1_trash_1100ml_fixed/1"
29
+ },
30
+ "tiprackId": {
31
+ "slot": "1",
32
+ "displayName": "Opentrons 96 Tip Rack 10 µL",
33
+ "definitionId": "opentrons/opentrons_96_tiprack_10ul/1"
34
+ },
35
+ "sourcePlateId": {
36
+ "slot": "2",
37
+ "displayName": "Source Plate",
38
+ "definitionId": "example/plate/1"
39
+ },
40
+ "destPlateId": {
41
+ "slot": "3",
42
+ "displayName": "Dest Plate",
43
+ "definitionId": "example/plate/1"
44
+ }
45
+ },
46
+ "labwareDefinitions": {
47
+ "opentrons/opentrons_1_trash_1100ml_fixed/1": {
48
+ "ordering": [["A1"]],
49
+ "metadata": {
50
+ "displayCategory": "trash",
51
+ "displayVolumeUnits": "mL",
52
+ "displayName": "Opentrons Fixed Trash",
53
+ "tags": []
54
+ },
55
+ "schemaVersion": 2,
56
+ "version": 1,
57
+ "namespace": "opentrons",
58
+ "dimensions": {
59
+ "xDimension": 172.86,
60
+ "yDimension": 165.86,
61
+ "zDimension": 82
62
+ },
63
+ "parameters": {
64
+ "format": "trash",
65
+ "isTiprack": false,
66
+ "loadName": "opentrons_1_trash_1100ml_fixed",
67
+ "isMagneticModuleCompatible": false,
68
+ "quirks": ["fixedTrash", "centerMultichannelOnWells"]
69
+ },
70
+ "wells": {
71
+ "A1": {
72
+ "shape": "rectangular",
73
+ "yDimension": 165.67,
74
+ "xDimension": 107.11,
75
+ "totalLiquidVolume": 1100000,
76
+ "depth": 77,
77
+ "x": 82.84,
78
+ "y": 53.56,
79
+ "z": 5
80
+ }
81
+ },
82
+ "brand": {
83
+ "brand": "Opentrons"
84
+ },
85
+ "groups": [
86
+ {
87
+ "wells": ["A1"],
88
+ "metadata": {}
89
+ }
90
+ ],
91
+ "cornerOffsetFromSlot": {
92
+ "x": 0,
93
+ "y": 0,
94
+ "z": 0
95
+ }
96
+ },
97
+ "opentrons/opentrons_96_tiprack_10ul/1": {
98
+ "ordering": [
99
+ ["A1", "B1", "C1", "D1", "E1", "F1", "G1", "H1"],
100
+ ["A2", "B2", "C2", "D2", "E2", "F2", "G2", "H2"],
101
+ ["A3", "B3", "C3", "D3", "E3", "F3", "G3", "H3"],
102
+ ["A4", "B4", "C4", "D4", "E4", "F4", "G4", "H4"],
103
+ ["A5", "B5", "C5", "D5", "E5", "F5", "G5", "H5"],
104
+ ["A6", "B6", "C6", "D6", "E6", "F6", "G6", "H6"],
105
+ ["A7", "B7", "C7", "D7", "E7", "F7", "G7", "H7"],
106
+ ["A8", "B8", "C8", "D8", "E8", "F8", "G8", "H8"],
107
+ ["A9", "B9", "C9", "D9", "E9", "F9", "G9", "H9"],
108
+ ["A10", "B10", "C10", "D10", "E10", "F10", "G10", "H10"],
109
+ ["A11", "B11", "C11", "D11", "E11", "F11", "G11", "H11"],
110
+ ["A12", "B12", "C12", "D12", "E12", "F12", "G12", "H12"]
111
+ ],
112
+ "brand": {
113
+ "brand": "Opentrons",
114
+ "brandId": [],
115
+ "links": [
116
+ "https://shop.opentrons.com/collections/opentrons-tips/products/opentrons-10ul-tips"
117
+ ]
118
+ },
119
+ "metadata": {
120
+ "displayName": "Opentrons 96 Tip Rack 10 µL",
121
+ "displayCategory": "tipRack",
122
+ "displayVolumeUnits": "µL",
123
+ "tags": []
124
+ },
125
+ "dimensions": {
126
+ "xDimension": 127.76,
127
+ "yDimension": 85.48,
128
+ "zDimension": 64.69
129
+ },
130
+ "wells": {
131
+ "A1": {
132
+ "depth": 39.2,
133
+ "shape": "circular",
134
+ "diameter": 3.27,
135
+ "totalLiquidVolume": 10,
136
+ "x": 14.38,
137
+ "y": 74.24,
138
+ "z": 25.49
139
+ },
140
+ "B1": {
141
+ "depth": 39.2,
142
+ "shape": "circular",
143
+ "diameter": 3.27,
144
+ "totalLiquidVolume": 10,
145
+ "x": 14.38,
146
+ "y": 65.24,
147
+ "z": 25.49
148
+ },
149
+ "C1": {
150
+ "depth": 39.2,
151
+ "shape": "circular",
152
+ "diameter": 3.27,
153
+ "totalLiquidVolume": 10,
154
+ "x": 14.38,
155
+ "y": 56.24,
156
+ "z": 25.49
157
+ },
158
+ "D1": {
159
+ "depth": 39.2,
160
+ "shape": "circular",
161
+ "diameter": 3.27,
162
+ "totalLiquidVolume": 10,
163
+ "x": 14.38,
164
+ "y": 47.24,
165
+ "z": 25.49
166
+ },
167
+ "E1": {
168
+ "depth": 39.2,
169
+ "shape": "circular",
170
+ "diameter": 3.27,
171
+ "totalLiquidVolume": 10,
172
+ "x": 14.38,
173
+ "y": 38.24,
174
+ "z": 25.49
175
+ },
176
+ "F1": {
177
+ "depth": 39.2,
178
+ "shape": "circular",
179
+ "diameter": 3.27,
180
+ "totalLiquidVolume": 10,
181
+ "x": 14.38,
182
+ "y": 29.24,
183
+ "z": 25.49
184
+ },
185
+ "G1": {
186
+ "depth": 39.2,
187
+ "shape": "circular",
188
+ "diameter": 3.27,
189
+ "totalLiquidVolume": 10,
190
+ "x": 14.38,
191
+ "y": 20.24,
192
+ "z": 25.49
193
+ },
194
+ "H1": {
195
+ "depth": 39.2,
196
+ "shape": "circular",
197
+ "diameter": 3.27,
198
+ "totalLiquidVolume": 10,
199
+ "x": 14.38,
200
+ "y": 11.24,
201
+ "z": 25.49
202
+ },
203
+ "A2": {
204
+ "depth": 39.2,
205
+ "shape": "circular",
206
+ "diameter": 3.27,
207
+ "totalLiquidVolume": 10,
208
+ "x": 23.38,
209
+ "y": 74.24,
210
+ "z": 25.49
211
+ },
212
+ "B2": {
213
+ "depth": 39.2,
214
+ "shape": "circular",
215
+ "diameter": 3.27,
216
+ "totalLiquidVolume": 10,
217
+ "x": 23.38,
218
+ "y": 65.24,
219
+ "z": 25.49
220
+ },
221
+ "C2": {
222
+ "depth": 39.2,
223
+ "shape": "circular",
224
+ "diameter": 3.27,
225
+ "totalLiquidVolume": 10,
226
+ "x": 23.38,
227
+ "y": 56.24,
228
+ "z": 25.49
229
+ },
230
+ "D2": {
231
+ "depth": 39.2,
232
+ "shape": "circular",
233
+ "diameter": 3.27,
234
+ "totalLiquidVolume": 10,
235
+ "x": 23.38,
236
+ "y": 47.24,
237
+ "z": 25.49
238
+ },
239
+ "E2": {
240
+ "depth": 39.2,
241
+ "shape": "circular",
242
+ "diameter": 3.27,
243
+ "totalLiquidVolume": 10,
244
+ "x": 23.38,
245
+ "y": 38.24,
246
+ "z": 25.49
247
+ },
248
+ "F2": {
249
+ "depth": 39.2,
250
+ "shape": "circular",
251
+ "diameter": 3.27,
252
+ "totalLiquidVolume": 10,
253
+ "x": 23.38,
254
+ "y": 29.24,
255
+ "z": 25.49
256
+ },
257
+ "G2": {
258
+ "depth": 39.2,
259
+ "shape": "circular",
260
+ "diameter": 3.27,
261
+ "totalLiquidVolume": 10,
262
+ "x": 23.38,
263
+ "y": 20.24,
264
+ "z": 25.49
265
+ },
266
+ "H2": {
267
+ "depth": 39.2,
268
+ "shape": "circular",
269
+ "diameter": 3.27,
270
+ "totalLiquidVolume": 10,
271
+ "x": 23.38,
272
+ "y": 11.24,
273
+ "z": 25.49
274
+ },
275
+ "A3": {
276
+ "depth": 39.2,
277
+ "shape": "circular",
278
+ "diameter": 3.27,
279
+ "totalLiquidVolume": 10,
280
+ "x": 32.38,
281
+ "y": 74.24,
282
+ "z": 25.49
283
+ },
284
+ "B3": {
285
+ "depth": 39.2,
286
+ "shape": "circular",
287
+ "diameter": 3.27,
288
+ "totalLiquidVolume": 10,
289
+ "x": 32.38,
290
+ "y": 65.24,
291
+ "z": 25.49
292
+ },
293
+ "C3": {
294
+ "depth": 39.2,
295
+ "shape": "circular",
296
+ "diameter": 3.27,
297
+ "totalLiquidVolume": 10,
298
+ "x": 32.38,
299
+ "y": 56.24,
300
+ "z": 25.49
301
+ },
302
+ "D3": {
303
+ "depth": 39.2,
304
+ "shape": "circular",
305
+ "diameter": 3.27,
306
+ "totalLiquidVolume": 10,
307
+ "x": 32.38,
308
+ "y": 47.24,
309
+ "z": 25.49
310
+ },
311
+ "E3": {
312
+ "depth": 39.2,
313
+ "shape": "circular",
314
+ "diameter": 3.27,
315
+ "totalLiquidVolume": 10,
316
+ "x": 32.38,
317
+ "y": 38.24,
318
+ "z": 25.49
319
+ },
320
+ "F3": {
321
+ "depth": 39.2,
322
+ "shape": "circular",
323
+ "diameter": 3.27,
324
+ "totalLiquidVolume": 10,
325
+ "x": 32.38,
326
+ "y": 29.24,
327
+ "z": 25.49
328
+ },
329
+ "G3": {
330
+ "depth": 39.2,
331
+ "shape": "circular",
332
+ "diameter": 3.27,
333
+ "totalLiquidVolume": 10,
334
+ "x": 32.38,
335
+ "y": 20.24,
336
+ "z": 25.49
337
+ },
338
+ "H3": {
339
+ "depth": 39.2,
340
+ "shape": "circular",
341
+ "diameter": 3.27,
342
+ "totalLiquidVolume": 10,
343
+ "x": 32.38,
344
+ "y": 11.24,
345
+ "z": 25.49
346
+ },
347
+ "A4": {
348
+ "depth": 39.2,
349
+ "shape": "circular",
350
+ "diameter": 3.27,
351
+ "totalLiquidVolume": 10,
352
+ "x": 41.38,
353
+ "y": 74.24,
354
+ "z": 25.49
355
+ },
356
+ "B4": {
357
+ "depth": 39.2,
358
+ "shape": "circular",
359
+ "diameter": 3.27,
360
+ "totalLiquidVolume": 10,
361
+ "x": 41.38,
362
+ "y": 65.24,
363
+ "z": 25.49
364
+ },
365
+ "C4": {
366
+ "depth": 39.2,
367
+ "shape": "circular",
368
+ "diameter": 3.27,
369
+ "totalLiquidVolume": 10,
370
+ "x": 41.38,
371
+ "y": 56.24,
372
+ "z": 25.49
373
+ },
374
+ "D4": {
375
+ "depth": 39.2,
376
+ "shape": "circular",
377
+ "diameter": 3.27,
378
+ "totalLiquidVolume": 10,
379
+ "x": 41.38,
380
+ "y": 47.24,
381
+ "z": 25.49
382
+ },
383
+ "E4": {
384
+ "depth": 39.2,
385
+ "shape": "circular",
386
+ "diameter": 3.27,
387
+ "totalLiquidVolume": 10,
388
+ "x": 41.38,
389
+ "y": 38.24,
390
+ "z": 25.49
391
+ },
392
+ "F4": {
393
+ "depth": 39.2,
394
+ "shape": "circular",
395
+ "diameter": 3.27,
396
+ "totalLiquidVolume": 10,
397
+ "x": 41.38,
398
+ "y": 29.24,
399
+ "z": 25.49
400
+ },
401
+ "G4": {
402
+ "depth": 39.2,
403
+ "shape": "circular",
404
+ "diameter": 3.27,
405
+ "totalLiquidVolume": 10,
406
+ "x": 41.38,
407
+ "y": 20.24,
408
+ "z": 25.49
409
+ },
410
+ "H4": {
411
+ "depth": 39.2,
412
+ "shape": "circular",
413
+ "diameter": 3.27,
414
+ "totalLiquidVolume": 10,
415
+ "x": 41.38,
416
+ "y": 11.24,
417
+ "z": 25.49
418
+ },
419
+ "A5": {
420
+ "depth": 39.2,
421
+ "shape": "circular",
422
+ "diameter": 3.27,
423
+ "totalLiquidVolume": 10,
424
+ "x": 50.38,
425
+ "y": 74.24,
426
+ "z": 25.49
427
+ },
428
+ "B5": {
429
+ "depth": 39.2,
430
+ "shape": "circular",
431
+ "diameter": 3.27,
432
+ "totalLiquidVolume": 10,
433
+ "x": 50.38,
434
+ "y": 65.24,
435
+ "z": 25.49
436
+ },
437
+ "C5": {
438
+ "depth": 39.2,
439
+ "shape": "circular",
440
+ "diameter": 3.27,
441
+ "totalLiquidVolume": 10,
442
+ "x": 50.38,
443
+ "y": 56.24,
444
+ "z": 25.49
445
+ },
446
+ "D5": {
447
+ "depth": 39.2,
448
+ "shape": "circular",
449
+ "diameter": 3.27,
450
+ "totalLiquidVolume": 10,
451
+ "x": 50.38,
452
+ "y": 47.24,
453
+ "z": 25.49
454
+ },
455
+ "E5": {
456
+ "depth": 39.2,
457
+ "shape": "circular",
458
+ "diameter": 3.27,
459
+ "totalLiquidVolume": 10,
460
+ "x": 50.38,
461
+ "y": 38.24,
462
+ "z": 25.49
463
+ },
464
+ "F5": {
465
+ "depth": 39.2,
466
+ "shape": "circular",
467
+ "diameter": 3.27,
468
+ "totalLiquidVolume": 10,
469
+ "x": 50.38,
470
+ "y": 29.24,
471
+ "z": 25.49
472
+ },
473
+ "G5": {
474
+ "depth": 39.2,
475
+ "shape": "circular",
476
+ "diameter": 3.27,
477
+ "totalLiquidVolume": 10,
478
+ "x": 50.38,
479
+ "y": 20.24,
480
+ "z": 25.49
481
+ },
482
+ "H5": {
483
+ "depth": 39.2,
484
+ "shape": "circular",
485
+ "diameter": 3.27,
486
+ "totalLiquidVolume": 10,
487
+ "x": 50.38,
488
+ "y": 11.24,
489
+ "z": 25.49
490
+ },
491
+ "A6": {
492
+ "depth": 39.2,
493
+ "shape": "circular",
494
+ "diameter": 3.27,
495
+ "totalLiquidVolume": 10,
496
+ "x": 59.38,
497
+ "y": 74.24,
498
+ "z": 25.49
499
+ },
500
+ "B6": {
501
+ "depth": 39.2,
502
+ "shape": "circular",
503
+ "diameter": 3.27,
504
+ "totalLiquidVolume": 10,
505
+ "x": 59.38,
506
+ "y": 65.24,
507
+ "z": 25.49
508
+ },
509
+ "C6": {
510
+ "depth": 39.2,
511
+ "shape": "circular",
512
+ "diameter": 3.27,
513
+ "totalLiquidVolume": 10,
514
+ "x": 59.38,
515
+ "y": 56.24,
516
+ "z": 25.49
517
+ },
518
+ "D6": {
519
+ "depth": 39.2,
520
+ "shape": "circular",
521
+ "diameter": 3.27,
522
+ "totalLiquidVolume": 10,
523
+ "x": 59.38,
524
+ "y": 47.24,
525
+ "z": 25.49
526
+ },
527
+ "E6": {
528
+ "depth": 39.2,
529
+ "shape": "circular",
530
+ "diameter": 3.27,
531
+ "totalLiquidVolume": 10,
532
+ "x": 59.38,
533
+ "y": 38.24,
534
+ "z": 25.49
535
+ },
536
+ "F6": {
537
+ "depth": 39.2,
538
+ "shape": "circular",
539
+ "diameter": 3.27,
540
+ "totalLiquidVolume": 10,
541
+ "x": 59.38,
542
+ "y": 29.24,
543
+ "z": 25.49
544
+ },
545
+ "G6": {
546
+ "depth": 39.2,
547
+ "shape": "circular",
548
+ "diameter": 3.27,
549
+ "totalLiquidVolume": 10,
550
+ "x": 59.38,
551
+ "y": 20.24,
552
+ "z": 25.49
553
+ },
554
+ "H6": {
555
+ "depth": 39.2,
556
+ "shape": "circular",
557
+ "diameter": 3.27,
558
+ "totalLiquidVolume": 10,
559
+ "x": 59.38,
560
+ "y": 11.24,
561
+ "z": 25.49
562
+ },
563
+ "A7": {
564
+ "depth": 39.2,
565
+ "shape": "circular",
566
+ "diameter": 3.27,
567
+ "totalLiquidVolume": 10,
568
+ "x": 68.38,
569
+ "y": 74.24,
570
+ "z": 25.49
571
+ },
572
+ "B7": {
573
+ "depth": 39.2,
574
+ "shape": "circular",
575
+ "diameter": 3.27,
576
+ "totalLiquidVolume": 10,
577
+ "x": 68.38,
578
+ "y": 65.24,
579
+ "z": 25.49
580
+ },
581
+ "C7": {
582
+ "depth": 39.2,
583
+ "shape": "circular",
584
+ "diameter": 3.27,
585
+ "totalLiquidVolume": 10,
586
+ "x": 68.38,
587
+ "y": 56.24,
588
+ "z": 25.49
589
+ },
590
+ "D7": {
591
+ "depth": 39.2,
592
+ "shape": "circular",
593
+ "diameter": 3.27,
594
+ "totalLiquidVolume": 10,
595
+ "x": 68.38,
596
+ "y": 47.24,
597
+ "z": 25.49
598
+ },
599
+ "E7": {
600
+ "depth": 39.2,
601
+ "shape": "circular",
602
+ "diameter": 3.27,
603
+ "totalLiquidVolume": 10,
604
+ "x": 68.38,
605
+ "y": 38.24,
606
+ "z": 25.49
607
+ },
608
+ "F7": {
609
+ "depth": 39.2,
610
+ "shape": "circular",
611
+ "diameter": 3.27,
612
+ "totalLiquidVolume": 10,
613
+ "x": 68.38,
614
+ "y": 29.24,
615
+ "z": 25.49
616
+ },
617
+ "G7": {
618
+ "depth": 39.2,
619
+ "shape": "circular",
620
+ "diameter": 3.27,
621
+ "totalLiquidVolume": 10,
622
+ "x": 68.38,
623
+ "y": 20.24,
624
+ "z": 25.49
625
+ },
626
+ "H7": {
627
+ "depth": 39.2,
628
+ "shape": "circular",
629
+ "diameter": 3.27,
630
+ "totalLiquidVolume": 10,
631
+ "x": 68.38,
632
+ "y": 11.24,
633
+ "z": 25.49
634
+ },
635
+ "A8": {
636
+ "depth": 39.2,
637
+ "shape": "circular",
638
+ "diameter": 3.27,
639
+ "totalLiquidVolume": 10,
640
+ "x": 77.38,
641
+ "y": 74.24,
642
+ "z": 25.49
643
+ },
644
+ "B8": {
645
+ "depth": 39.2,
646
+ "shape": "circular",
647
+ "diameter": 3.27,
648
+ "totalLiquidVolume": 10,
649
+ "x": 77.38,
650
+ "y": 65.24,
651
+ "z": 25.49
652
+ },
653
+ "C8": {
654
+ "depth": 39.2,
655
+ "shape": "circular",
656
+ "diameter": 3.27,
657
+ "totalLiquidVolume": 10,
658
+ "x": 77.38,
659
+ "y": 56.24,
660
+ "z": 25.49
661
+ },
662
+ "D8": {
663
+ "depth": 39.2,
664
+ "shape": "circular",
665
+ "diameter": 3.27,
666
+ "totalLiquidVolume": 10,
667
+ "x": 77.38,
668
+ "y": 47.24,
669
+ "z": 25.49
670
+ },
671
+ "E8": {
672
+ "depth": 39.2,
673
+ "shape": "circular",
674
+ "diameter": 3.27,
675
+ "totalLiquidVolume": 10,
676
+ "x": 77.38,
677
+ "y": 38.24,
678
+ "z": 25.49
679
+ },
680
+ "F8": {
681
+ "depth": 39.2,
682
+ "shape": "circular",
683
+ "diameter": 3.27,
684
+ "totalLiquidVolume": 10,
685
+ "x": 77.38,
686
+ "y": 29.24,
687
+ "z": 25.49
688
+ },
689
+ "G8": {
690
+ "depth": 39.2,
691
+ "shape": "circular",
692
+ "diameter": 3.27,
693
+ "totalLiquidVolume": 10,
694
+ "x": 77.38,
695
+ "y": 20.24,
696
+ "z": 25.49
697
+ },
698
+ "H8": {
699
+ "depth": 39.2,
700
+ "shape": "circular",
701
+ "diameter": 3.27,
702
+ "totalLiquidVolume": 10,
703
+ "x": 77.38,
704
+ "y": 11.24,
705
+ "z": 25.49
706
+ },
707
+ "A9": {
708
+ "depth": 39.2,
709
+ "shape": "circular",
710
+ "diameter": 3.27,
711
+ "totalLiquidVolume": 10,
712
+ "x": 86.38,
713
+ "y": 74.24,
714
+ "z": 25.49
715
+ },
716
+ "B9": {
717
+ "depth": 39.2,
718
+ "shape": "circular",
719
+ "diameter": 3.27,
720
+ "totalLiquidVolume": 10,
721
+ "x": 86.38,
722
+ "y": 65.24,
723
+ "z": 25.49
724
+ },
725
+ "C9": {
726
+ "depth": 39.2,
727
+ "shape": "circular",
728
+ "diameter": 3.27,
729
+ "totalLiquidVolume": 10,
730
+ "x": 86.38,
731
+ "y": 56.24,
732
+ "z": 25.49
733
+ },
734
+ "D9": {
735
+ "depth": 39.2,
736
+ "shape": "circular",
737
+ "diameter": 3.27,
738
+ "totalLiquidVolume": 10,
739
+ "x": 86.38,
740
+ "y": 47.24,
741
+ "z": 25.49
742
+ },
743
+ "E9": {
744
+ "depth": 39.2,
745
+ "shape": "circular",
746
+ "diameter": 3.27,
747
+ "totalLiquidVolume": 10,
748
+ "x": 86.38,
749
+ "y": 38.24,
750
+ "z": 25.49
751
+ },
752
+ "F9": {
753
+ "depth": 39.2,
754
+ "shape": "circular",
755
+ "diameter": 3.27,
756
+ "totalLiquidVolume": 10,
757
+ "x": 86.38,
758
+ "y": 29.24,
759
+ "z": 25.49
760
+ },
761
+ "G9": {
762
+ "depth": 39.2,
763
+ "shape": "circular",
764
+ "diameter": 3.27,
765
+ "totalLiquidVolume": 10,
766
+ "x": 86.38,
767
+ "y": 20.24,
768
+ "z": 25.49
769
+ },
770
+ "H9": {
771
+ "depth": 39.2,
772
+ "shape": "circular",
773
+ "diameter": 3.27,
774
+ "totalLiquidVolume": 10,
775
+ "x": 86.38,
776
+ "y": 11.24,
777
+ "z": 25.49
778
+ },
779
+ "A10": {
780
+ "depth": 39.2,
781
+ "shape": "circular",
782
+ "diameter": 3.27,
783
+ "totalLiquidVolume": 10,
784
+ "x": 95.38,
785
+ "y": 74.24,
786
+ "z": 25.49
787
+ },
788
+ "B10": {
789
+ "depth": 39.2,
790
+ "shape": "circular",
791
+ "diameter": 3.27,
792
+ "totalLiquidVolume": 10,
793
+ "x": 95.38,
794
+ "y": 65.24,
795
+ "z": 25.49
796
+ },
797
+ "C10": {
798
+ "depth": 39.2,
799
+ "shape": "circular",
800
+ "diameter": 3.27,
801
+ "totalLiquidVolume": 10,
802
+ "x": 95.38,
803
+ "y": 56.24,
804
+ "z": 25.49
805
+ },
806
+ "D10": {
807
+ "depth": 39.2,
808
+ "shape": "circular",
809
+ "diameter": 3.27,
810
+ "totalLiquidVolume": 10,
811
+ "x": 95.38,
812
+ "y": 47.24,
813
+ "z": 25.49
814
+ },
815
+ "E10": {
816
+ "depth": 39.2,
817
+ "shape": "circular",
818
+ "diameter": 3.27,
819
+ "totalLiquidVolume": 10,
820
+ "x": 95.38,
821
+ "y": 38.24,
822
+ "z": 25.49
823
+ },
824
+ "F10": {
825
+ "depth": 39.2,
826
+ "shape": "circular",
827
+ "diameter": 3.27,
828
+ "totalLiquidVolume": 10,
829
+ "x": 95.38,
830
+ "y": 29.24,
831
+ "z": 25.49
832
+ },
833
+ "G10": {
834
+ "depth": 39.2,
835
+ "shape": "circular",
836
+ "diameter": 3.27,
837
+ "totalLiquidVolume": 10,
838
+ "x": 95.38,
839
+ "y": 20.24,
840
+ "z": 25.49
841
+ },
842
+ "H10": {
843
+ "depth": 39.2,
844
+ "shape": "circular",
845
+ "diameter": 3.27,
846
+ "totalLiquidVolume": 10,
847
+ "x": 95.38,
848
+ "y": 11.24,
849
+ "z": 25.49
850
+ },
851
+ "A11": {
852
+ "depth": 39.2,
853
+ "shape": "circular",
854
+ "diameter": 3.27,
855
+ "totalLiquidVolume": 10,
856
+ "x": 104.38,
857
+ "y": 74.24,
858
+ "z": 25.49
859
+ },
860
+ "B11": {
861
+ "depth": 39.2,
862
+ "shape": "circular",
863
+ "diameter": 3.27,
864
+ "totalLiquidVolume": 10,
865
+ "x": 104.38,
866
+ "y": 65.24,
867
+ "z": 25.49
868
+ },
869
+ "C11": {
870
+ "depth": 39.2,
871
+ "shape": "circular",
872
+ "diameter": 3.27,
873
+ "totalLiquidVolume": 10,
874
+ "x": 104.38,
875
+ "y": 56.24,
876
+ "z": 25.49
877
+ },
878
+ "D11": {
879
+ "depth": 39.2,
880
+ "shape": "circular",
881
+ "diameter": 3.27,
882
+ "totalLiquidVolume": 10,
883
+ "x": 104.38,
884
+ "y": 47.24,
885
+ "z": 25.49
886
+ },
887
+ "E11": {
888
+ "depth": 39.2,
889
+ "shape": "circular",
890
+ "diameter": 3.27,
891
+ "totalLiquidVolume": 10,
892
+ "x": 104.38,
893
+ "y": 38.24,
894
+ "z": 25.49
895
+ },
896
+ "F11": {
897
+ "depth": 39.2,
898
+ "shape": "circular",
899
+ "diameter": 3.27,
900
+ "totalLiquidVolume": 10,
901
+ "x": 104.38,
902
+ "y": 29.24,
903
+ "z": 25.49
904
+ },
905
+ "G11": {
906
+ "depth": 39.2,
907
+ "shape": "circular",
908
+ "diameter": 3.27,
909
+ "totalLiquidVolume": 10,
910
+ "x": 104.38,
911
+ "y": 20.24,
912
+ "z": 25.49
913
+ },
914
+ "H11": {
915
+ "depth": 39.2,
916
+ "shape": "circular",
917
+ "diameter": 3.27,
918
+ "totalLiquidVolume": 10,
919
+ "x": 104.38,
920
+ "y": 11.24,
921
+ "z": 25.49
922
+ },
923
+ "A12": {
924
+ "depth": 39.2,
925
+ "shape": "circular",
926
+ "diameter": 3.27,
927
+ "totalLiquidVolume": 10,
928
+ "x": 113.38,
929
+ "y": 74.24,
930
+ "z": 25.49
931
+ },
932
+ "B12": {
933
+ "depth": 39.2,
934
+ "shape": "circular",
935
+ "diameter": 3.27,
936
+ "totalLiquidVolume": 10,
937
+ "x": 113.38,
938
+ "y": 65.24,
939
+ "z": 25.49
940
+ },
941
+ "C12": {
942
+ "depth": 39.2,
943
+ "shape": "circular",
944
+ "diameter": 3.27,
945
+ "totalLiquidVolume": 10,
946
+ "x": 113.38,
947
+ "y": 56.24,
948
+ "z": 25.49
949
+ },
950
+ "D12": {
951
+ "depth": 39.2,
952
+ "shape": "circular",
953
+ "diameter": 3.27,
954
+ "totalLiquidVolume": 10,
955
+ "x": 113.38,
956
+ "y": 47.24,
957
+ "z": 25.49
958
+ },
959
+ "E12": {
960
+ "depth": 39.2,
961
+ "shape": "circular",
962
+ "diameter": 3.27,
963
+ "totalLiquidVolume": 10,
964
+ "x": 113.38,
965
+ "y": 38.24,
966
+ "z": 25.49
967
+ },
968
+ "F12": {
969
+ "depth": 39.2,
970
+ "shape": "circular",
971
+ "diameter": 3.27,
972
+ "totalLiquidVolume": 10,
973
+ "x": 113.38,
974
+ "y": 29.24,
975
+ "z": 25.49
976
+ },
977
+ "G12": {
978
+ "depth": 39.2,
979
+ "shape": "circular",
980
+ "diameter": 3.27,
981
+ "totalLiquidVolume": 10,
982
+ "x": 113.38,
983
+ "y": 20.24,
984
+ "z": 25.49
985
+ },
986
+ "H12": {
987
+ "depth": 39.2,
988
+ "shape": "circular",
989
+ "diameter": 3.27,
990
+ "totalLiquidVolume": 10,
991
+ "x": 113.38,
992
+ "y": 11.24,
993
+ "z": 25.49
994
+ }
995
+ },
996
+ "groups": [
997
+ {
998
+ "metadata": {},
999
+ "wells": [
1000
+ "A1",
1001
+ "B1",
1002
+ "C1",
1003
+ "D1",
1004
+ "E1",
1005
+ "F1",
1006
+ "G1",
1007
+ "H1",
1008
+ "A2",
1009
+ "B2",
1010
+ "C2",
1011
+ "D2",
1012
+ "E2",
1013
+ "F2",
1014
+ "G2",
1015
+ "H2",
1016
+ "A3",
1017
+ "B3",
1018
+ "C3",
1019
+ "D3",
1020
+ "E3",
1021
+ "F3",
1022
+ "G3",
1023
+ "H3",
1024
+ "A4",
1025
+ "B4",
1026
+ "C4",
1027
+ "D4",
1028
+ "E4",
1029
+ "F4",
1030
+ "G4",
1031
+ "H4",
1032
+ "A5",
1033
+ "B5",
1034
+ "C5",
1035
+ "D5",
1036
+ "E5",
1037
+ "F5",
1038
+ "G5",
1039
+ "H5",
1040
+ "A6",
1041
+ "B6",
1042
+ "C6",
1043
+ "D6",
1044
+ "E6",
1045
+ "F6",
1046
+ "G6",
1047
+ "H6",
1048
+ "A7",
1049
+ "B7",
1050
+ "C7",
1051
+ "D7",
1052
+ "E7",
1053
+ "F7",
1054
+ "G7",
1055
+ "H7",
1056
+ "A8",
1057
+ "B8",
1058
+ "C8",
1059
+ "D8",
1060
+ "E8",
1061
+ "F8",
1062
+ "G8",
1063
+ "H8",
1064
+ "A9",
1065
+ "B9",
1066
+ "C9",
1067
+ "D9",
1068
+ "E9",
1069
+ "F9",
1070
+ "G9",
1071
+ "H9",
1072
+ "A10",
1073
+ "B10",
1074
+ "C10",
1075
+ "D10",
1076
+ "E10",
1077
+ "F10",
1078
+ "G10",
1079
+ "H10",
1080
+ "A11",
1081
+ "B11",
1082
+ "C11",
1083
+ "D11",
1084
+ "E11",
1085
+ "F11",
1086
+ "G11",
1087
+ "H11",
1088
+ "A12",
1089
+ "B12",
1090
+ "C12",
1091
+ "D12",
1092
+ "E12",
1093
+ "F12",
1094
+ "G12",
1095
+ "H12"
1096
+ ]
1097
+ }
1098
+ ],
1099
+ "parameters": {
1100
+ "format": "96Standard",
1101
+ "isTiprack": true,
1102
+ "tipLength": 39.2,
1103
+ "tipOverlap": 3.29,
1104
+ "isMagneticModuleCompatible": false,
1105
+ "loadName": "opentrons_96_tiprack_10ul"
1106
+ },
1107
+ "namespace": "opentrons",
1108
+ "version": 1,
1109
+ "schemaVersion": 2,
1110
+ "cornerOffsetFromSlot": {
1111
+ "x": 0,
1112
+ "y": 0,
1113
+ "z": 0
1114
+ }
1115
+ },
1116
+ "example/plate/1": {
1117
+ "ordering": [
1118
+ ["A1", "B1", "C1", "D1"],
1119
+ ["A2", "B2", "C2", "D2"]
1120
+ ],
1121
+ "brand": {
1122
+ "brand": "foo",
1123
+ "brandId": []
1124
+ },
1125
+ "metadata": {
1126
+ "displayName": "Foo 8 Well Plate 33uL",
1127
+ "displayCategory": "wellPlate",
1128
+ "displayVolumeUnits": "µL"
1129
+ },
1130
+ "dimensions": {
1131
+ "xDimension": 127.75,
1132
+ "yDimension": 85.5,
1133
+ "zDimension": 100
1134
+ },
1135
+ "wells": {
1136
+ "A1": {
1137
+ "depth": 25,
1138
+ "totalLiquidVolume": 33,
1139
+ "shape": "circular",
1140
+ "diameter": 10,
1141
+ "x": 18.21,
1142
+ "y": 75.43,
1143
+ "z": 75
1144
+ },
1145
+ "B1": {
1146
+ "depth": 25,
1147
+ "totalLiquidVolume": 33,
1148
+ "shape": "circular",
1149
+ "diameter": 10,
1150
+ "x": 18.21,
1151
+ "y": 56.15,
1152
+ "z": 75
1153
+ },
1154
+ "C1": {
1155
+ "depth": 25,
1156
+ "totalLiquidVolume": 33,
1157
+ "shape": "circular",
1158
+ "diameter": 10,
1159
+ "x": 18.21,
1160
+ "y": 36.87,
1161
+ "z": 75
1162
+ },
1163
+ "D1": {
1164
+ "depth": 25,
1165
+ "totalLiquidVolume": 33,
1166
+ "shape": "circular",
1167
+ "diameter": 10,
1168
+ "x": 18.21,
1169
+ "y": 17.59,
1170
+ "z": 75
1171
+ },
1172
+ "A2": {
1173
+ "depth": 25,
1174
+ "totalLiquidVolume": 33,
1175
+ "shape": "circular",
1176
+ "diameter": 10,
1177
+ "x": 38.1,
1178
+ "y": 75.43,
1179
+ "z": 75
1180
+ },
1181
+ "B2": {
1182
+ "depth": 25,
1183
+ "totalLiquidVolume": 33,
1184
+ "shape": "circular",
1185
+ "diameter": 10,
1186
+ "x": 38.1,
1187
+ "y": 56.15,
1188
+ "z": 75
1189
+ },
1190
+ "C2": {
1191
+ "depth": 25,
1192
+ "totalLiquidVolume": 33,
1193
+ "shape": "circular",
1194
+ "diameter": 10,
1195
+ "x": 38.1,
1196
+ "y": 36.87,
1197
+ "z": 75
1198
+ },
1199
+ "D2": {
1200
+ "depth": 25,
1201
+ "totalLiquidVolume": 33,
1202
+ "shape": "circular",
1203
+ "diameter": 10,
1204
+ "x": 38.1,
1205
+ "y": 17.59,
1206
+ "z": 75
1207
+ }
1208
+ },
1209
+ "groups": [
1210
+ {
1211
+ "metadata": {},
1212
+ "wells": ["A1", "B1", "C1", "A2", "B2", "C2"]
1213
+ }
1214
+ ],
1215
+ "parameters": {
1216
+ "format": "irregular",
1217
+ "quirks": [],
1218
+ "isTiprack": false,
1219
+ "isMagneticModuleCompatible": false,
1220
+ "loadName": "foo_8_plate_33ul"
1221
+ },
1222
+ "namespace": "example",
1223
+ "version": 1,
1224
+ "schemaVersion": 2,
1225
+ "cornerOffsetFromSlot": {
1226
+ "x": 0,
1227
+ "y": 0,
1228
+ "z": 0
1229
+ }
1230
+ }
1231
+ },
1232
+ "commands": [
1233
+ {
1234
+ "command": "pickUpTip",
1235
+ "params": {
1236
+ "pipette": "pipetteId",
1237
+ "labware": "tiprackId",
1238
+ "well": "B1"
1239
+ }
1240
+ },
1241
+ {
1242
+ "command": "aspirate",
1243
+ "params": {
1244
+ "pipette": "pipetteId",
1245
+ "labware": "sourcePlateId",
1246
+ "well": "A1",
1247
+ "volume": 5,
1248
+ "flowRate": 3,
1249
+ "offsetFromBottomMm": 2
1250
+ }
1251
+ },
1252
+ {
1253
+ "command": "delay",
1254
+ "params": {
1255
+ "wait": 42
1256
+ }
1257
+ },
1258
+ {
1259
+ "command": "dispense",
1260
+ "params": {
1261
+ "pipette": "pipetteId",
1262
+ "labware": "destPlateId",
1263
+ "well": "B1",
1264
+ "volume": 4.5,
1265
+ "flowRate": 2.5,
1266
+ "offsetFromBottomMm": 1
1267
+ }
1268
+ },
1269
+ {
1270
+ "command": "touchTip",
1271
+ "params": {
1272
+ "pipette": "pipetteId",
1273
+ "labware": "destPlateId",
1274
+ "well": "B1",
1275
+ "offsetFromBottomMm": 11
1276
+ }
1277
+ },
1278
+ {
1279
+ "command": "blowout",
1280
+ "params": {
1281
+ "pipette": "pipetteId",
1282
+ "labware": "destPlateId",
1283
+ "well": "B1",
1284
+ "flowRate": 2,
1285
+ "offsetFromBottomMm": 12
1286
+ }
1287
+ },
1288
+ {
1289
+ "command": "moveToSlot",
1290
+ "params": {
1291
+ "pipette": "pipetteId",
1292
+ "slot": "5",
1293
+ "offset": {
1294
+ "x": 1,
1295
+ "y": 2,
1296
+ "z": 3
1297
+ }
1298
+ }
1299
+ },
1300
+ {
1301
+ "command": "dropTip",
1302
+ "params": {
1303
+ "pipette": "pipetteId",
1304
+ "labware": "trashId",
1305
+ "well": "A1"
1306
+ }
1307
+ }
1308
+ ]
1309
+ }