@opentrons/shared-data 0.0.1-alpha.1 → 0.0.1-alpha.17

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 (667) hide show
  1. package/lib/bundle.673284981fd97184260c.js +3 -0
  2. package/lib/bundle.673284981fd97184260c.js.map +1 -0
  3. package/package.json +1 -1
  4. package/LICENSE +0 -202
  5. package/lib/build/labware.json +0 -1
  6. package/lib/command/schemas/.json +0 -0
  7. package/lib/js/helpers/__tests__/getRobotTypeFromLoadedLabware.test.d.ts +0 -1
  8. package/lib/js/helpers/__tests__/schemaV6Adapter.test.d.ts +0 -0
  9. package/lib/js/helpers/getAddressableAreasInProtocol.d.ts +0 -3
  10. package/lib/js/helpers/schemaV6Adapter.d.ts +0 -10
  11. package/lib/labware/definitions/2/opentrons_calibration_adapter_magnetic_module/1.json +0 -62
  12. package/lib/labware/definitions/2/opentrons_ot3_96_tiprack_1000ul/1.json +0 -1017
  13. package/lib/labware/definitions/2/opentrons_ot3_96_tiprack_200ul/1.json +0 -1017
  14. package/lib/labware/definitions/2/opentrons_ot3_96_tiprack_50ul/1.json +0 -1017
  15. package/lib/opentrons-shared-data.js +0 -3
  16. package/lib/opentrons-shared-data.js.map +0 -1
  17. package/lib/pipette/definitions/2/liquid/eight_channel/p10/1_0.json +0 -58
  18. package/lib/pipette/definitions/2/liquid/eight_channel/p10/1_3.json +0 -58
  19. package/lib/pipette/definitions/2/liquid/eight_channel/p10/1_4.json +0 -58
  20. package/lib/pipette/definitions/2/liquid/eight_channel/p10/1_5.json +0 -49
  21. package/lib/pipette/definitions/2/liquid/eight_channel/p10/1_6.json +0 -57
  22. package/lib/pipette/definitions/2/liquid/eight_channel/p1000/1_0.json +0 -374
  23. package/lib/pipette/definitions/2/liquid/eight_channel/p1000/3_0.json +0 -374
  24. package/lib/pipette/definitions/2/liquid/eight_channel/p1000/3_3.json +0 -374
  25. package/lib/pipette/definitions/2/liquid/eight_channel/p1000/3_4.json +0 -374
  26. package/lib/pipette/definitions/2/liquid/eight_channel/p1000/3_5.json +0 -374
  27. package/lib/pipette/definitions/2/liquid/eight_channel/p20/2_0.json +0 -323
  28. package/lib/pipette/definitions/2/liquid/eight_channel/p20/2_1.json +0 -203
  29. package/lib/pipette/definitions/2/liquid/eight_channel/p300/1_0.json +0 -75
  30. package/lib/pipette/definitions/2/liquid/eight_channel/p300/1_3.json +0 -75
  31. package/lib/pipette/definitions/2/liquid/eight_channel/p300/1_4.json +0 -75
  32. package/lib/pipette/definitions/2/liquid/eight_channel/p300/1_5.json +0 -75
  33. package/lib/pipette/definitions/2/liquid/eight_channel/p300/2_0.json +0 -202
  34. package/lib/pipette/definitions/2/liquid/eight_channel/p300/2_1.json +0 -202
  35. package/lib/pipette/definitions/2/liquid/eight_channel/p50/1_0.json +0 -128
  36. package/lib/pipette/definitions/2/liquid/eight_channel/p50/1_3.json +0 -128
  37. package/lib/pipette/definitions/2/liquid/eight_channel/p50/1_4.json +0 -128
  38. package/lib/pipette/definitions/2/liquid/eight_channel/p50/1_5.json +0 -118
  39. package/lib/pipette/definitions/2/liquid/eight_channel/p50/3_0.json +0 -98
  40. package/lib/pipette/definitions/2/liquid/eight_channel/p50/3_3.json +0 -98
  41. package/lib/pipette/definitions/2/liquid/eight_channel/p50/3_4.json +0 -98
  42. package/lib/pipette/definitions/2/liquid/eight_channel/p50/3_5.json +0 -98
  43. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p1000/1_0.json +0 -374
  44. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p1000/3_0.json +0 -374
  45. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p1000/3_3.json +0 -374
  46. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p1000/3_4.json +0 -374
  47. package/lib/pipette/definitions/2/liquid/ninety_six_channel/p1000/3_5.json +0 -374
  48. package/lib/pipette/definitions/2/liquid/single_channel/p10/1_0.json +0 -59
  49. package/lib/pipette/definitions/2/liquid/single_channel/p10/1_3.json +0 -59
  50. package/lib/pipette/definitions/2/liquid/single_channel/p10/1_4.json +0 -59
  51. package/lib/pipette/definitions/2/liquid/single_channel/p10/1_5.json +0 -58
  52. package/lib/pipette/definitions/2/liquid/single_channel/p1000/1_0.json +0 -50
  53. package/lib/pipette/definitions/2/liquid/single_channel/p1000/1_3.json +0 -52
  54. package/lib/pipette/definitions/2/liquid/single_channel/p1000/1_4.json +0 -52
  55. package/lib/pipette/definitions/2/liquid/single_channel/p1000/1_5.json +0 -50
  56. package/lib/pipette/definitions/2/liquid/single_channel/p1000/2_0.json +0 -114
  57. package/lib/pipette/definitions/2/liquid/single_channel/p1000/2_1.json +0 -116
  58. package/lib/pipette/definitions/2/liquid/single_channel/p1000/2_2.json +0 -116
  59. package/lib/pipette/definitions/2/liquid/single_channel/p1000/3_0.json +0 -374
  60. package/lib/pipette/definitions/2/liquid/single_channel/p1000/3_3.json +0 -374
  61. package/lib/pipette/definitions/2/liquid/single_channel/p1000/3_4.json +0 -300
  62. package/lib/pipette/definitions/2/liquid/single_channel/p1000/3_5.json +0 -300
  63. package/lib/pipette/definitions/2/liquid/single_channel/p20/2_0.json +0 -449
  64. package/lib/pipette/definitions/2/liquid/single_channel/p20/2_1.json +0 -269
  65. package/lib/pipette/definitions/2/liquid/single_channel/p20/2_2.json +0 -329
  66. package/lib/pipette/definitions/2/liquid/single_channel/p300/1_0.json +0 -99
  67. package/lib/pipette/definitions/2/liquid/single_channel/p300/1_3.json +0 -99
  68. package/lib/pipette/definitions/2/liquid/single_channel/p300/1_4.json +0 -99
  69. package/lib/pipette/definitions/2/liquid/single_channel/p300/1_5.json +0 -83
  70. package/lib/pipette/definitions/2/liquid/single_channel/p300/2_0.json +0 -206
  71. package/lib/pipette/definitions/2/liquid/single_channel/p300/2_1.json +0 -206
  72. package/lib/pipette/definitions/2/liquid/single_channel/p50/1_0.json +0 -128
  73. package/lib/pipette/definitions/2/liquid/single_channel/p50/1_3.json +0 -128
  74. package/lib/pipette/definitions/2/liquid/single_channel/p50/1_4.json +0 -128
  75. package/lib/pipette/definitions/2/liquid/single_channel/p50/1_5.json +0 -116
  76. package/lib/pipette/definitions/2/liquid/single_channel/p50/3_0.json +0 -98
  77. package/lib/pipette/definitions/2/liquid/single_channel/p50/3_3.json +0 -98
  78. package/lib/pipette/definitions/2/liquid/single_channel/p50/3_4.json +0 -100
  79. package/lib/pipette/definitions/2/liquid/single_channel/p50/3_5.json +0 -100
  80. package/lib/pipette/definitions/pipetteModelSpecs.json +0 -8073
  81. package/lib/pipette/definitions/pipetteNameSpecs.json +0 -665
  82. package/lib/pipette/schemas/pipetteModelSpecsSchema.json +0 -153
  83. package/lib/pipette/schemas/pipetteNameSpecsSchema.json +0 -89
  84. package/python/.coverage +0 -0
  85. package/python/build/lib/opentrons_shared_data/__init__.py +0 -17
  86. package/python/build/lib/opentrons_shared_data/_version.py +0 -20
  87. package/python/build/lib/opentrons_shared_data/command/__init__.py +0 -26
  88. package/python/build/lib/opentrons_shared_data/data/deck/definitions/3/ot2_short_trash.json +0 -477
  89. package/python/build/lib/opentrons_shared_data/data/deck/definitions/3/ot2_standard.json +0 -477
  90. package/python/build/lib/opentrons_shared_data/data/deck/definitions/3/ot3_standard.json +0 -989
  91. package/python/build/lib/opentrons_shared_data/data/deck/schemas/1.json +0 -240
  92. package/python/build/lib/opentrons_shared_data/data/deck/schemas/2.json +0 -249
  93. package/python/build/lib/opentrons_shared_data/data/deck/schemas/3.json +0 -296
  94. package/python/build/lib/opentrons_shared_data/data/errors/definitions/1/errors.json +0 -198
  95. package/python/build/lib/opentrons_shared_data/data/errors/schemas/1.json +0 -50
  96. package/python/build/lib/opentrons_shared_data/data/gripper/definitions/1/gripperV1.1.json +0 -28
  97. package/python/build/lib/opentrons_shared_data/data/gripper/definitions/1/gripperV1.2.json +0 -28
  98. package/python/build/lib/opentrons_shared_data/data/gripper/definitions/1/gripperV1.json +0 -27
  99. package/python/build/lib/opentrons_shared_data/data/gripper/schemas/1.json +0 -181
  100. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/12-well-plate.json +0 -147
  101. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/24-vial-rack.json +0 -281
  102. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/24-well-plate.json +0 -281
  103. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/384-plate.json +0 -4667
  104. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/48-vial-plate.json +0 -547
  105. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/48-well-plate.json +0 -547
  106. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/5ml-3x4.json +0 -147
  107. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/6-well-plate.json +0 -80
  108. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/96-PCR-flat.json +0 -1079
  109. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/96-PCR-tall.json +0 -1079
  110. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/96-deep-well.json +0 -1079
  111. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/96-flat.json +0 -1079
  112. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/96-well-plate-20mm.json +0 -1079
  113. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/MALDI-plate.json +0 -4282
  114. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/PCR-strip-tall.json +0 -1079
  115. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/T25-flask.json +0 -20
  116. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/T75-flask.json +0 -20
  117. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/alum-block-pcr-strips.json +0 -188
  118. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/biorad-hardshell-96-PCR.json +0 -1079
  119. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/e-gelgol.json +0 -1078
  120. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/fixed-trash.json +0 -19
  121. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/hampton-1ml-deep-block.json +0 -1078
  122. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/opentrons-aluminum-block-2ml-eppendorf.json +0 -281
  123. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/opentrons-aluminum-block-2ml-screwcap.json +0 -281
  124. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/opentrons-aluminum-block-96-PCR-plate.json +0 -1079
  125. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/opentrons-aluminum-block-PCR-strips-200ul.json +0 -1079
  126. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/opentrons-tiprack-10ul.json +0 -986
  127. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/opentrons-tiprack-300ul.json +0 -986
  128. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/opentrons-tuberack-1.5ml-eppendorf.json +0 -281
  129. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/opentrons-tuberack-15_50ml.json +0 -125
  130. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/opentrons-tuberack-15ml.json +0 -181
  131. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/opentrons-tuberack-2ml-eppendorf.json +0 -281
  132. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/opentrons-tuberack-2ml-screwcap.json +0 -281
  133. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/opentrons-tuberack-50ml.json +0 -80
  134. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/point.json +0 -18
  135. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/rigaku-compact-crystallization-plate.json +0 -2146
  136. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/small_vial_rack_16x45.json +0 -280
  137. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/tall-fixed-trash.json +0 -19
  138. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/tiprack-1000ul-H.json +0 -503
  139. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/tiprack-1000ul-chem.json +0 -1034
  140. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/tiprack-1000ul.json +0 -986
  141. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/tiprack-10ul-H.json +0 -503
  142. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/tiprack-10ul.json +0 -986
  143. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/tiprack-200ul.json +0 -986
  144. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/trash-box.json +0 -20
  145. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/trough-12row-short.json +0 -143
  146. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/trough-12row.json +0 -143
  147. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/trough-1row-25ml.json +0 -21
  148. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/tube-rack-.75ml.json +0 -281
  149. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/tube-rack-15_50ml.json +0 -125
  150. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/tube-rack-2ml-9x9.json +0 -911
  151. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/tube-rack-2ml.json +0 -281
  152. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/tube-rack-5ml-96.json +0 -1079
  153. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/tube-rack-80well.json +0 -907
  154. package/python/build/lib/opentrons_shared_data/data/labware/definitions/1/wheaton_vial_rack.json +0 -565
  155. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/agilent_1_reservoir_290ml/1.json +0 -54
  156. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/appliedbiosystemsmicroamp_384_wellplate_40ul/1.json +0 -4320
  157. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/armadillo_96_wellplate_200ul_pcr_full_skirt/1.json +0 -1019
  158. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/armadillo_96_wellplate_200ul_pcr_full_skirt/2.json +0 -1045
  159. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/axygen_1_reservoir_90ml/1.json +0 -56
  160. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/biorad_384_wellplate_50ul/1.json +0 -4329
  161. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/biorad_384_wellplate_50ul/2.json +0 -4331
  162. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/biorad_96_wellplate_200ul_pcr/1.json +0 -1020
  163. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/biorad_96_wellplate_200ul_pcr/2.json +0 -1036
  164. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/corning_12_wellplate_6.9ml_flat/1.json +0 -171
  165. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/corning_12_wellplate_6.9ml_flat/2.json +0 -180
  166. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/corning_24_wellplate_3.4ml_flat/1.json +0 -293
  167. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/corning_24_wellplate_3.4ml_flat/2.json +0 -300
  168. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/corning_384_wellplate_112ul_flat/1.json +0 -4703
  169. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/corning_384_wellplate_112ul_flat/2.json +0 -4717
  170. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/corning_48_wellplate_1.6ml_flat/1.json +0 -535
  171. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/corning_48_wellplate_1.6ml_flat/2.json +0 -544
  172. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/corning_6_wellplate_16.8ml_flat/1.json +0 -103
  173. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/corning_6_wellplate_16.8ml_flat/2.json +0 -110
  174. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/corning_96_wellplate_360ul_flat/1.json +0 -1049
  175. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/corning_96_wellplate_360ul_flat/2.json +0 -1063
  176. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/eppendorf_96_tiprack_1000ul_eptips/1.json +0 -1019
  177. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/eppendorf_96_tiprack_10ul_eptips/1.json +0 -1019
  178. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/geb_96_tiprack_1000ul/1.json +0 -1017
  179. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/geb_96_tiprack_10ul/1.json +0 -1017
  180. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/nest_12_reservoir_15ml/1.json +0 -190
  181. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/nest_1_reservoir_195ml/1.json +0 -54
  182. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/nest_1_reservoir_195ml/2.json +0 -56
  183. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/nest_1_reservoir_290ml/1.json +0 -54
  184. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/nest_96_wellplate_100ul_pcr_full_skirt/1.json +0 -1018
  185. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/nest_96_wellplate_100ul_pcr_full_skirt/2.json +0 -1039
  186. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/nest_96_wellplate_200ul_flat/1.json +0 -1017
  187. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/nest_96_wellplate_200ul_flat/2.json +0 -1031
  188. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/nest_96_wellplate_2ml_deep/1.json +0 -1121
  189. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/nest_96_wellplate_2ml_deep/2.json +0 -1137
  190. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_10_tuberack_falcon_4x50ml_6x15ml_conical/1.json +0 -164
  191. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_10_tuberack_falcon_4x50ml_6x15ml_conical_acrylic/1.json +0 -162
  192. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_10_tuberack_nest_4x50ml_6x15ml_conical/1.json +0 -160
  193. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_15_tuberack_falcon_15ml_conical/1.json +0 -211
  194. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_15_tuberack_nest_15ml_conical/1.json +0 -209
  195. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_1_trash_1100ml_fixed/1.json +0 -50
  196. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_1_trash_3200ml_fixed/1.json +0 -50
  197. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_1_trash_850ml_fixed/1.json +0 -50
  198. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_24_aluminumblock_generic_2ml_screwcap/1.json +0 -300
  199. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_24_aluminumblock_generic_2ml_screwcap/2.json +0 -301
  200. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_24_aluminumblock_nest_0.5ml_screwcap/1.json +0 -299
  201. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_24_aluminumblock_nest_1.5ml_screwcap/1.json +0 -299
  202. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_24_aluminumblock_nest_1.5ml_snapcap/1.json +0 -301
  203. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_24_aluminumblock_nest_2ml_screwcap/1.json +0 -299
  204. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_24_aluminumblock_nest_2ml_snapcap/1.json +0 -301
  205. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1.json +0 -312
  206. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap/1.json +0 -311
  207. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap_acrylic/1.json +0 -309
  208. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_24_tuberack_generic_0.75ml_snapcap_acrylic/1.json +0 -298
  209. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_24_tuberack_generic_2ml_screwcap/1.json +0 -300
  210. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_24_tuberack_nest_0.5ml_screwcap/1.json +0 -300
  211. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_24_tuberack_nest_1.5ml_screwcap/1.json +0 -300
  212. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_24_tuberack_nest_1.5ml_snapcap/1.json +0 -302
  213. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_24_tuberack_nest_2ml_screwcap/1.json +0 -300
  214. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_24_tuberack_nest_2ml_snapcap/1.json +0 -302
  215. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_40_aluminumblock_eppendorf_24x2ml_safelock_snapcap_generic_16x0.2ml_pcr_strip/1.json +0 -481
  216. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_6_tuberack_falcon_50ml_conical/1.json +0 -112
  217. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_6_tuberack_nest_50ml_conical/1.json +0 -110
  218. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_96_aluminumblock_biorad_wellplate_200ul/1.json +0 -1029
  219. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_96_aluminumblock_generic_pcr_strip_200ul/1.json +0 -1026
  220. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_96_aluminumblock_generic_pcr_strip_200ul/2.json +0 -1027
  221. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_96_aluminumblock_nest_wellplate_100ul/1.json +0 -1027
  222. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_96_deep_well_adapter/1.json +0 -41
  223. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_96_deep_well_adapter_nest_wellplate_2ml_deep/1.json +0 -1121
  224. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_96_filtertiprack_1000ul/1.json +0 -1017
  225. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_96_filtertiprack_10ul/1.json +0 -1017
  226. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_96_filtertiprack_200ul/1.json +0 -1017
  227. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_96_filtertiprack_20ul/1.json +0 -1017
  228. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_96_flat_bottom_adapter/1.json +0 -41
  229. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_96_flat_bottom_adapter_nest_wellplate_200ul_flat/1.json +0 -1027
  230. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_96_pcr_adapter/1.json +0 -1018
  231. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_96_pcr_adapter_armadillo_wellplate_200ul/1.json +0 -1027
  232. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_96_pcr_adapter_nest_wellplate_100ul_pcr_full_skirt/1.json +0 -1025
  233. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_96_tiprack_1000ul/1.json +0 -1019
  234. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_96_tiprack_10ul/1.json +0 -1019
  235. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_96_tiprack_20ul/1.json +0 -1019
  236. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_96_tiprack_300ul/1.json +0 -1019
  237. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_96_well_aluminum_block/1.json +0 -1018
  238. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_96_wellplate_200ul_pcr_full_skirt/1.json +0 -1019
  239. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_96_wellplate_200ul_pcr_full_skirt/2.json +0 -1045
  240. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_aluminum_flat_bottom_plate/1.json +0 -41
  241. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_calibration_adapter_heatershaker_module/1.json +0 -62
  242. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_calibration_adapter_magnetic_module/1.json +0 -62
  243. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_calibration_adapter_temperature_module/1.json +0 -62
  244. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_calibration_adapter_thermocycler_module/1.json +0 -69
  245. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_calibrationblock_short_side_left/1.json +0 -71
  246. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_calibrationblock_short_side_right/1.json +0 -71
  247. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_flex_96_filtertiprack_1000ul/1.json +0 -1026
  248. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_flex_96_filtertiprack_200ul/1.json +0 -1026
  249. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_flex_96_filtertiprack_50ul/1.json +0 -1026
  250. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_flex_96_tiprack_1000ul/1.json +0 -1026
  251. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_flex_96_tiprack_200ul/1.json +0 -1026
  252. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_flex_96_tiprack_50ul/1.json +0 -1026
  253. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_flex_96_tiprack_adapter/1.json +0 -41
  254. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_ot3_96_tiprack_1000ul/1.json +0 -1017
  255. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_ot3_96_tiprack_200ul/1.json +0 -1017
  256. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_ot3_96_tiprack_50ul/1.json +0 -1017
  257. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_universal_flat_adapter/1.json +0 -151
  258. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/opentrons_universal_flat_adapter_corning_384_wellplate_112ul_flat/1.json +0 -4710
  259. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/thermoscientificnunc_96_wellplate_1300ul/1.json +0 -1019
  260. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/thermoscientificnunc_96_wellplate_2000ul/1.json +0 -1019
  261. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/tipone_96_tiprack_200ul/1.json +0 -1017
  262. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/usascientific_12_reservoir_22ml/1.json +0 -192
  263. package/python/build/lib/opentrons_shared_data/data/labware/definitions/2/usascientific_96_wellplate_2.4ml_deep/1.json +0 -1116
  264. package/python/build/lib/opentrons_shared_data/data/labware/schemas/2.json +0 -372
  265. package/python/build/lib/opentrons_shared_data/data/module/definitions/1.json +0 -57
  266. package/python/build/lib/opentrons_shared_data/data/module/definitions/2/magneticModuleV1.json +0 -22
  267. package/python/build/lib/opentrons_shared_data/data/module/definitions/2/magneticModuleV2.json +0 -69
  268. package/python/build/lib/opentrons_shared_data/data/module/definitions/2/temperatureModuleV1.json +0 -22
  269. package/python/build/lib/opentrons_shared_data/data/module/definitions/2/temperatureModuleV2.json +0 -69
  270. package/python/build/lib/opentrons_shared_data/data/module/definitions/2/thermocyclerModuleV1.json +0 -23
  271. package/python/build/lib/opentrons_shared_data/data/module/definitions/3/heaterShakerModuleV1.json +0 -521
  272. package/python/build/lib/opentrons_shared_data/data/module/definitions/3/magneticBlockV1.json +0 -199
  273. package/python/build/lib/opentrons_shared_data/data/module/definitions/3/magneticModuleV1.json +0 -435
  274. package/python/build/lib/opentrons_shared_data/data/module/definitions/3/magneticModuleV2.json +0 -488
  275. package/python/build/lib/opentrons_shared_data/data/module/definitions/3/temperatureModuleV1.json +0 -190
  276. package/python/build/lib/opentrons_shared_data/data/module/definitions/3/temperatureModuleV2.json +0 -315
  277. package/python/build/lib/opentrons_shared_data/data/module/definitions/3/thermocyclerModuleV1.json +0 -1380
  278. package/python/build/lib/opentrons_shared_data/data/module/definitions/3/thermocyclerModuleV2.json +0 -3686
  279. package/python/build/lib/opentrons_shared_data/data/module/schemas/1.json +0 -55
  280. package/python/build/lib/opentrons_shared_data/data/module/schemas/2.json +0 -112
  281. package/python/build/lib/opentrons_shared_data/data/module/schemas/3.json +0 -206
  282. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/1/pipetteModelSpecs.json +0 -10214
  283. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/1/pipetteNameSpecs.json +0 -679
  284. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p10/1_0.json +0 -40
  285. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p10/1_3.json +0 -40
  286. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p10/1_4.json +0 -40
  287. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p10/1_5.json +0 -40
  288. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p10/1_6.json +0 -40
  289. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p1000/1_0.json +0 -39
  290. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p1000/3_0.json +0 -39
  291. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p1000/3_3.json +0 -39
  292. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p1000/3_4.json +0 -39
  293. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p1000/3_5.json +0 -39
  294. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p20/2_0.json +0 -40
  295. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p20/2_1.json +0 -40
  296. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p300/1_0.json +0 -40
  297. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p300/1_3.json +0 -40
  298. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p300/1_4.json +0 -40
  299. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p300/1_5.json +0 -40
  300. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p300/2_0.json +0 -40
  301. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p300/2_1.json +0 -40
  302. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p50/1_0.json +0 -40
  303. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p50/1_3.json +0 -40
  304. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p50/1_4.json +0 -40
  305. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p50/1_5.json +0 -40
  306. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p50/3_0.json +0 -45
  307. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p50/3_3.json +0 -45
  308. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p50/3_4.json +0 -45
  309. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/eight_channel/p50/3_5.json +0 -45
  310. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/ninety_six_channel/p1000/1_0.json +0 -39
  311. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/ninety_six_channel/p1000/3_0.json +0 -39
  312. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/ninety_six_channel/p1000/3_3.json +0 -39
  313. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/ninety_six_channel/p1000/3_4.json +0 -46
  314. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/ninety_six_channel/p1000/3_5.json +0 -46
  315. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p10/1_0.json +0 -40
  316. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p10/1_3.json +0 -40
  317. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p10/1_4.json +0 -40
  318. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p10/1_5.json +0 -40
  319. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p1000/1_0.json +0 -40
  320. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p1000/1_3.json +0 -40
  321. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p1000/1_4.json +0 -40
  322. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p1000/1_5.json +0 -40
  323. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p1000/2_0.json +0 -40
  324. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p1000/2_1.json +0 -40
  325. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p1000/2_2.json +0 -40
  326. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p1000/3_0.json +0 -36
  327. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p1000/3_3.json +0 -36
  328. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p1000/3_4.json +0 -36
  329. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p1000/3_5.json +0 -36
  330. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p20/2_0.json +0 -40
  331. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p20/2_1.json +0 -40
  332. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p20/2_2.json +0 -40
  333. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p300/1_0.json +0 -40
  334. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p300/1_3.json +0 -40
  335. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p300/1_4.json +0 -40
  336. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p300/1_5.json +0 -40
  337. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p300/2_0.json +0 -40
  338. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p300/2_1.json +0 -40
  339. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p50/1_0.json +0 -40
  340. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p50/1_3.json +0 -40
  341. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p50/1_4.json +0 -40
  342. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p50/1_5.json +0 -42
  343. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p50/3_0.json +0 -42
  344. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p50/3_3.json +0 -42
  345. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p50/3_4.json +0 -42
  346. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/general/single_channel/p50/3_5.json +0 -42
  347. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p10/1_0.json +0 -15
  348. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p10/1_3.json +0 -15
  349. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p10/1_4.json +0 -15
  350. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p10/1_5.json +0 -15
  351. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p10/1_6.json +0 -15
  352. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p1000/1_0.json +0 -15
  353. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p1000/3_0.json +0 -15
  354. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p1000/3_3.json +0 -15
  355. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p1000/3_4.json +0 -15
  356. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p1000/3_5.json +0 -15
  357. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p20/2_0.json +0 -15
  358. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p20/2_1.json +0 -15
  359. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p300/1_0.json +0 -15
  360. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p300/1_3.json +0 -15
  361. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p300/1_4.json +0 -15
  362. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p300/1_5.json +0 -15
  363. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p300/2_0.json +0 -15
  364. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p300/2_1.json +0 -15
  365. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p50/1_0.json +0 -15
  366. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p50/1_3.json +0 -15
  367. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p50/1_4.json +0 -15
  368. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p50/1_5.json +0 -15
  369. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p50/3_0.json +0 -15
  370. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p50/3_3.json +0 -15
  371. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p50/3_4.json +0 -15
  372. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/eight_channel/p50/3_5.json +0 -15
  373. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/ninety_six_channel/p1000/1_0.json +0 -103
  374. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_0.json +0 -103
  375. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_3.json +0 -103
  376. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_4.json +0 -103
  377. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_5.json +0 -103
  378. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p10/1_0.json +0 -8
  379. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p10/1_3.json +0 -8
  380. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p10/1_4.json +0 -8
  381. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p10/1_5.json +0 -8
  382. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p1000/1_0.json +0 -8
  383. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p1000/1_3.json +0 -8
  384. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p1000/1_4.json +0 -8
  385. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p1000/1_5.json +0 -8
  386. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p1000/2_0.json +0 -8
  387. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p1000/2_1.json +0 -8
  388. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p1000/2_2.json +0 -8
  389. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p1000/3_0.json +0 -8
  390. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p1000/3_3.json +0 -8
  391. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p1000/3_4.json +0 -8
  392. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p1000/3_5.json +0 -8
  393. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p20/2_0.json +0 -8
  394. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p20/2_1.json +0 -8
  395. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p20/2_2.json +0 -8
  396. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p300/1_0.json +0 -8
  397. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p300/1_3.json +0 -8
  398. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p300/1_4.json +0 -8
  399. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p300/1_5.json +0 -8
  400. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p300/2_0.json +0 -8
  401. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p300/2_1.json +0 -8
  402. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p50/1_0.json +0 -8
  403. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p50/1_3.json +0 -8
  404. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p50/1_4.json +0 -8
  405. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p50/1_5.json +0 -8
  406. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p50/3_0.json +0 -8
  407. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p50/3_3.json +0 -8
  408. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p50/3_4.json +0 -8
  409. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p50/3_5.json +0 -8
  410. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p10/1_0.json +0 -72
  411. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p10/1_3.json +0 -72
  412. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p10/1_4.json +0 -72
  413. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p10/1_5.json +0 -77
  414. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p10/1_6.json +0 -117
  415. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p10/default/1_0.json +0 -58
  416. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p10/default/1_3.json +0 -58
  417. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p10/default/1_4.json +0 -58
  418. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p10/default/1_5.json +0 -47
  419. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p10/default/1_6.json +0 -55
  420. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p1000/1_0.json +0 -311
  421. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p1000/3_0.json +0 -311
  422. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p1000/3_3.json +0 -311
  423. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p1000/3_4.json +0 -311
  424. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p1000/default/1_0.json +0 -356
  425. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p1000/default/3_0.json +0 -359
  426. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p1000/default/3_3.json +0 -359
  427. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p1000/default/3_4.json +0 -359
  428. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p1000/default/3_5.json +0 -239
  429. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p20/2_0.json +0 -440
  430. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p20/2_1.json +0 -530
  431. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p20/default/2_0.json +0 -311
  432. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p20/default/2_1.json +0 -191
  433. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p300/1_0.json +0 -70
  434. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p300/1_3.json +0 -75
  435. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p300/1_4.json +0 -75
  436. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p300/1_5.json +0 -75
  437. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p300/2_0.json +0 -260
  438. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p300/2_1.json +0 -291
  439. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p300/default/1_0.json +0 -67
  440. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p300/default/1_3.json +0 -67
  441. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p300/default/1_4.json +0 -67
  442. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p300/default/1_5.json +0 -67
  443. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p300/default/2_0.json +0 -190
  444. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p300/default/2_1.json +0 -190
  445. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p50/1_0.json +0 -71
  446. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p50/1_3.json +0 -66
  447. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p50/1_4.json +0 -67
  448. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p50/1_5.json +0 -86
  449. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p50/3_0.json +0 -81
  450. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p50/3_3.json +0 -81
  451. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p50/3_4.json +0 -81
  452. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p50/default/1_0.json +0 -128
  453. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p50/default/1_3.json +0 -128
  454. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p50/default/1_4.json +0 -128
  455. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p50/default/1_5.json +0 -110
  456. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p50/default/3_0.json +0 -99
  457. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p50/default/3_3.json +0 -99
  458. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p50/default/3_4.json +0 -99
  459. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p50/default/3_5.json +0 -91
  460. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_0.json +0 -94
  461. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_3.json +0 -89
  462. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_4.json +0 -89
  463. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_5.json +0 -89
  464. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/ninety_six_channel/p1000/1_0.json +0 -311
  465. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/ninety_six_channel/p1000/3_0.json +0 -311
  466. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/ninety_six_channel/p1000/3_3.json +0 -311
  467. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/ninety_six_channel/p1000/3_4.json +0 -311
  468. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/1_0.json +0 -356
  469. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_0.json +0 -356
  470. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_3.json +0 -356
  471. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_4.json +0 -356
  472. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_5.json +0 -356
  473. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p10/1_0.json +0 -73
  474. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p10/1_3.json +0 -73
  475. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p10/1_4.json +0 -70
  476. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p10/1_5.json +0 -73
  477. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p10/default/1_0.json +0 -59
  478. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p10/default/1_3.json +0 -59
  479. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p10/default/1_4.json +0 -56
  480. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p10/default/1_5.json +0 -54
  481. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p1000/1_0.json +0 -80
  482. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p1000/1_3.json +0 -80
  483. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p1000/1_4.json +0 -80
  484. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p1000/1_5.json +0 -80
  485. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p1000/2_0.json +0 -278
  486. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p1000/2_1.json +0 -286
  487. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p1000/2_2.json +0 -286
  488. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p1000/3_0.json +0 -311
  489. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p1000/3_3.json +0 -311
  490. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p1000/3_4.json +0 -237
  491. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p1000/default/1_0.json +0 -48
  492. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p1000/default/1_3.json +0 -48
  493. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p1000/default/1_4.json +0 -48
  494. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p1000/default/1_5.json +0 -48
  495. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p1000/default/2_0.json +0 -105
  496. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p1000/default/2_1.json +0 -107
  497. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p1000/default/2_2.json +0 -107
  498. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p1000/default/3_0.json +0 -356
  499. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p1000/default/3_3.json +0 -356
  500. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p1000/default/3_4.json +0 -282
  501. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p1000/default/3_5.json +0 -204
  502. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p20/2_0.json +0 -530
  503. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p20/2_1.json +0 -469
  504. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p20/2_2.json +0 -469
  505. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p20/default/2_0.json +0 -431
  506. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p20/default/2_1.json +0 -251
  507. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p20/default/2_2.json +0 -311
  508. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p300/1_0.json +0 -90
  509. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p300/1_3.json +0 -90
  510. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p300/1_4.json +0 -90
  511. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p300/1_5.json +0 -95
  512. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p300/2_0.json +0 -291
  513. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p300/2_1.json +0 -291
  514. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p300/default/1_0.json +0 -99
  515. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p300/default/1_3.json +0 -99
  516. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p300/default/1_4.json +0 -99
  517. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p300/default/1_5.json +0 -75
  518. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p300/default/2_0.json +0 -188
  519. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p300/default/2_1.json +0 -188
  520. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p50/1_0.json +0 -74
  521. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p50/1_3.json +0 -66
  522. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p50/1_4.json +0 -71
  523. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p50/1_5.json +0 -91
  524. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p50/3_0.json +0 -81
  525. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p50/3_3.json +0 -81
  526. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p50/3_4.json +0 -83
  527. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p50/default/1_0.json +0 -119
  528. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p50/default/1_3.json +0 -128
  529. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p50/default/1_4.json +0 -128
  530. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p50/default/1_5.json +0 -104
  531. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p50/default/3_0.json +0 -98
  532. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p50/default/3_3.json +0 -98
  533. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p50/default/3_4.json +0 -100
  534. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p50/default/3_5.json +0 -80
  535. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_0.json +0 -78
  536. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_3.json +0 -78
  537. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_4.json +0 -78
  538. package/python/build/lib/opentrons_shared_data/data/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_5.json +0 -76
  539. package/python/build/lib/opentrons_shared_data/data/pipette/schemas/1/pipetteModelSpecsSchema.json +0 -155
  540. package/python/build/lib/opentrons_shared_data/data/pipette/schemas/1/pipetteNameSpecsSchema.json +0 -91
  541. package/python/build/lib/opentrons_shared_data/data/pipette/schemas/2/pipetteGeometrySchema.json +0 -35
  542. package/python/build/lib/opentrons_shared_data/data/pipette/schemas/2/pipetteLiquidPropertiesSchema.json +0 -120
  543. package/python/build/lib/opentrons_shared_data/data/pipette/schemas/2/pipettePropertiesSchema.json +0 -189
  544. package/python/build/lib/opentrons_shared_data/data/protocol/schemas/1.json +0 -389
  545. package/python/build/lib/opentrons_shared_data/data/protocol/schemas/2.json +0 -416
  546. package/python/build/lib/opentrons_shared_data/data/protocol/schemas/3.json +0 -360
  547. package/python/build/lib/opentrons_shared_data/data/protocol/schemas/4.json +0 -662
  548. package/python/build/lib/opentrons_shared_data/data/protocol/schemas/5.json +0 -701
  549. package/python/build/lib/opentrons_shared_data/data/protocol/schemas/6.json +0 -1225
  550. package/python/build/lib/opentrons_shared_data/data/protocol/schemas/7-draft.json +0 -285
  551. package/python/build/lib/opentrons_shared_data/data/protocol/schemas/7.json +0 -290
  552. package/python/build/lib/opentrons_shared_data/data/robot/definitions/1/ot2.json +0 -5
  553. package/python/build/lib/opentrons_shared_data/data/robot/definitions/1/ot3.json +0 -5
  554. package/python/build/lib/opentrons_shared_data/data/robot/schemas/1.json +0 -30
  555. package/python/build/lib/opentrons_shared_data/deck/__init__.py +0 -84
  556. package/python/build/lib/opentrons_shared_data/deck/dev_types.py +0 -127
  557. package/python/build/lib/opentrons_shared_data/errors/__init__.py +0 -30
  558. package/python/build/lib/opentrons_shared_data/errors/categories.py +0 -60
  559. package/python/build/lib/opentrons_shared_data/errors/codes.py +0 -102
  560. package/python/build/lib/opentrons_shared_data/errors/exceptions.py +0 -799
  561. package/python/build/lib/opentrons_shared_data/gripper/__init__.py +0 -63
  562. package/python/build/lib/opentrons_shared_data/gripper/constants.py +0 -5
  563. package/python/build/lib/opentrons_shared_data/gripper/gripper_definition.py +0 -101
  564. package/python/build/lib/opentrons_shared_data/labware/__init__.py +0 -22
  565. package/python/build/lib/opentrons_shared_data/labware/constants.py +0 -7
  566. package/python/build/lib/opentrons_shared_data/labware/dev_types.py +0 -140
  567. package/python/build/lib/opentrons_shared_data/labware/labware_definition.py +0 -328
  568. package/python/build/lib/opentrons_shared_data/load.py +0 -57
  569. package/python/build/lib/opentrons_shared_data/module/__init__.py +0 -74
  570. package/python/build/lib/opentrons_shared_data/module/dev_types.py +0 -141
  571. package/python/build/lib/opentrons_shared_data/pipette/__init__.py +0 -107
  572. package/python/build/lib/opentrons_shared_data/pipette/dev_types.py +0 -177
  573. package/python/build/lib/opentrons_shared_data/pipette/file_operation_helpers.py +0 -37
  574. package/python/build/lib/opentrons_shared_data/pipette/load_data.py +0 -256
  575. package/python/build/lib/opentrons_shared_data/pipette/model_constants.py +0 -151
  576. package/python/build/lib/opentrons_shared_data/pipette/mutable_configurations.py +0 -402
  577. package/python/build/lib/opentrons_shared_data/pipette/pipette_definition.py +0 -389
  578. package/python/build/lib/opentrons_shared_data/pipette/pipette_load_name_conversions.py +0 -236
  579. package/python/build/lib/opentrons_shared_data/pipette/scripts/__init__.py +0 -0
  580. package/python/build/lib/opentrons_shared_data/pipette/scripts/build_json_script.py +0 -454
  581. package/python/build/lib/opentrons_shared_data/pipette/scripts/update_configuration_files.py +0 -453
  582. package/python/build/lib/opentrons_shared_data/pipette/types.py +0 -193
  583. package/python/build/lib/opentrons_shared_data/protocol/__init__.py +0 -13
  584. package/python/build/lib/opentrons_shared_data/protocol/constants.py +0 -98
  585. package/python/build/lib/opentrons_shared_data/protocol/dev_types.py +0 -436
  586. package/python/build/lib/opentrons_shared_data/protocol/models/__init__.py +0 -45
  587. package/python/build/lib/opentrons_shared_data/protocol/models/protocol_schema_v6.py +0 -145
  588. package/python/build/lib/opentrons_shared_data/protocol/models/protocol_schema_v7.py +0 -93
  589. package/python/build/lib/opentrons_shared_data/protocol/models/shared_models.py +0 -104
  590. package/python/build/lib/opentrons_shared_data/py.typed +0 -0
  591. package/python/build/lib/opentrons_shared_data/robot/__init__.py +0 -25
  592. package/python/build/lib/opentrons_shared_data/robot/dev_types.py +0 -37
  593. package/python/build/lib/tests/deck/__init__.py +0 -18
  594. package/python/build/lib/tests/deck/test_typechecks.py +0 -21
  595. package/python/build/lib/tests/errors/__init__.py +0 -1
  596. package/python/build/lib/tests/errors/test_error_completeness.py +0 -19
  597. package/python/build/lib/tests/errors/test_exceptions.py +0 -74
  598. package/python/build/lib/tests/gripper/__init__.py +0 -0
  599. package/python/build/lib/tests/gripper/test_definition.py +0 -30
  600. package/python/build/lib/tests/gripper/test_load.py +0 -16
  601. package/python/build/lib/tests/labware/__init__.py +0 -13
  602. package/python/build/lib/tests/labware/test_typechecks.py +0 -21
  603. package/python/build/lib/tests/module/__init__.py +0 -20
  604. package/python/build/lib/tests/module/test_load.py +0 -49
  605. package/python/build/lib/tests/module/test_typechecks.py +0 -34
  606. package/python/build/lib/tests/pipette/__init__.py +0 -0
  607. package/python/build/lib/tests/pipette/test_load_data.py +0 -102
  608. package/python/build/lib/tests/pipette/test_mutable_configurations.py +0 -266
  609. package/python/build/lib/tests/pipette/test_pipette_definition.py +0 -183
  610. package/python/build/lib/tests/pipette/test_pipette_load_name_conversions.py +0 -222
  611. package/python/build/lib/tests/pipette/test_typechecks.py +0 -50
  612. package/python/build/lib/tests/pipette/test_validate_schema.py +0 -36
  613. package/python/build/lib/tests/protocol/__init__.py +0 -15
  614. package/python/build/lib/tests/protocol/test_protocol_schema_v6.py +0 -107
  615. package/python/build/lib/tests/protocol/test_protocol_schema_v7.py +0 -34
  616. package/python/build/lib/tests/protocol/test_typechecks.py +0 -36
  617. package/python/build/lib/tests/robot/__init__.py +0 -0
  618. package/python/build/lib/tests/robot/test_typechecks.py +0 -20
  619. package/python/coverage.xml +0 -1549
  620. package/python/opentrons_shared_data/__pycache__/__init__.cpython-37.pyc +0 -0
  621. package/python/opentrons_shared_data/__pycache__/_version.cpython-37.pyc +0 -0
  622. package/python/opentrons_shared_data/__pycache__/load.cpython-37.pyc +0 -0
  623. package/python/opentrons_shared_data/command/__pycache__/__init__.cpython-37.pyc +0 -0
  624. package/python/opentrons_shared_data/deck/__pycache__/__init__.cpython-37.pyc +0 -0
  625. package/python/opentrons_shared_data/deck/__pycache__/deck_definitions.cpython-37.pyc +0 -0
  626. package/python/opentrons_shared_data/deck/__pycache__/dev_types.cpython-37.pyc +0 -0
  627. package/python/opentrons_shared_data/errors/__pycache__/__init__.cpython-37.pyc +0 -0
  628. package/python/opentrons_shared_data/errors/__pycache__/categories.cpython-37.pyc +0 -0
  629. package/python/opentrons_shared_data/errors/__pycache__/codes.cpython-37.pyc +0 -0
  630. package/python/opentrons_shared_data/errors/__pycache__/exceptions.cpython-37.pyc +0 -0
  631. package/python/opentrons_shared_data/gripper/__pycache__/__init__.cpython-37.pyc +0 -0
  632. package/python/opentrons_shared_data/gripper/__pycache__/constants.cpython-37.pyc +0 -0
  633. package/python/opentrons_shared_data/gripper/__pycache__/dev_types.cpython-37.pyc +0 -0
  634. package/python/opentrons_shared_data/gripper/__pycache__/gripper_definition.cpython-37.pyc +0 -0
  635. package/python/opentrons_shared_data/labware/__pycache__/__init__.cpython-37.pyc +0 -0
  636. package/python/opentrons_shared_data/labware/__pycache__/constants.cpython-37.pyc +0 -0
  637. package/python/opentrons_shared_data/labware/__pycache__/dev_types.cpython-37.pyc +0 -0
  638. package/python/opentrons_shared_data/labware/__pycache__/labware_definition.cpython-37.pyc +0 -0
  639. package/python/opentrons_shared_data/module/__pycache__/__init__.cpython-37.pyc +0 -0
  640. package/python/opentrons_shared_data/module/__pycache__/dev_types.cpython-37.pyc +0 -0
  641. package/python/opentrons_shared_data/pipette/__pycache__/__init__.cpython-37.pyc +0 -0
  642. package/python/opentrons_shared_data/pipette/__pycache__/dev_types.cpython-37.pyc +0 -0
  643. package/python/opentrons_shared_data/pipette/__pycache__/file_operation_helpers.cpython-37.pyc +0 -0
  644. package/python/opentrons_shared_data/pipette/__pycache__/load_data.cpython-37.pyc +0 -0
  645. package/python/opentrons_shared_data/pipette/__pycache__/model_constants.cpython-37.pyc +0 -0
  646. package/python/opentrons_shared_data/pipette/__pycache__/mutable_configurations.cpython-37.pyc +0 -0
  647. package/python/opentrons_shared_data/pipette/__pycache__/pipette_definition.cpython-37.pyc +0 -0
  648. package/python/opentrons_shared_data/pipette/__pycache__/pipette_load_name_conversions.cpython-37.pyc +0 -0
  649. package/python/opentrons_shared_data/pipette/__pycache__/types.cpython-37.pyc +0 -0
  650. package/python/opentrons_shared_data/protocol/__pycache__/__init__.cpython-37.pyc +0 -0
  651. package/python/opentrons_shared_data/protocol/__pycache__/constants.cpython-37.pyc +0 -0
  652. package/python/opentrons_shared_data/protocol/__pycache__/dev_types.cpython-37.pyc +0 -0
  653. package/python/opentrons_shared_data/protocol/models/__pycache__/__init__.cpython-37.pyc +0 -0
  654. package/python/opentrons_shared_data/protocol/models/__pycache__/protocol_schema_v6.cpython-37.pyc +0 -0
  655. package/python/opentrons_shared_data/protocol/models/__pycache__/protocol_schema_v7.cpython-37.pyc +0 -0
  656. package/python/opentrons_shared_data/protocol/models/__pycache__/protocol_schema_v8.cpython-37.pyc +0 -0
  657. package/python/opentrons_shared_data/protocol/models/__pycache__/shared_models.cpython-37.pyc +0 -0
  658. package/python/opentrons_shared_data/robot/__pycache__/__init__.cpython-37.pyc +0 -0
  659. package/python/opentrons_shared_data/robot/__pycache__/dev_types.cpython-37.pyc +0 -0
  660. package/python/opentrons_shared_data.egg-info/PKG-INFO +0 -26
  661. package/python/opentrons_shared_data.egg-info/SOURCES.txt +0 -81
  662. package/python/opentrons_shared_data.egg-info/dependency_links.txt +0 -1
  663. package/python/opentrons_shared_data.egg-info/not-zip-safe +0 -1
  664. package/python/opentrons_shared_data.egg-info/requires.txt +0 -3
  665. package/python/opentrons_shared_data.egg-info/top_level.txt +0 -2
  666. package/python/pyproject.toml +0 -3
  667. /package/lib/{opentrons-shared-data.js.LICENSE.txt → bundle.673284981fd97184260c.js.LICENSE.txt} +0 -0
@@ -1,453 +0,0 @@
1
- """A script for updating pre-existing V2 Pipette configurations."""
2
- import os
3
- import json
4
- import argparse
5
-
6
- from pathlib import Path
7
- from typing import List, Dict, Tuple, Any, Iterator, Type
8
-
9
- from pydantic import BaseModel
10
- from pydantic.main import ModelMetaclass
11
- from enum import Enum
12
-
13
- from opentrons_shared_data import get_shared_data_root
14
-
15
- from ..pipette_definition import (
16
- PipetteConfigurations,
17
- PipetteGeometryDefinition,
18
- PipettePhysicalPropertiesDefinition,
19
- PipetteLiquidPropertiesDefinition,
20
- PipetteModelVersionType,
21
- SupportedTipsDefinition,
22
- )
23
- from ..types import (
24
- PipetteModelType,
25
- PipetteChannelType,
26
- PipetteVersionType,
27
- PipetteTipType,
28
- PipetteModelMajorVersion,
29
- PipetteModelMinorVersion,
30
- LiquidClasses,
31
- )
32
- from ..load_data import _geometry, _physical, _liquid
33
- from ..pipette_load_name_conversions import convert_pipette_model
34
- from ..dev_types import PipetteModel
35
-
36
- """
37
- Instructions:
38
-
39
- To run this script, you must be in `shared-data/python`. To invoke, use the command:
40
-
41
- `pipenv run python -m opentrons_shared_data.pipette.scripts.update_configuration_files`
42
-
43
- If you want to update all files, you can simply use the argument `--update_all_models`.
44
-
45
- Make sure to run `make format-js` afterwards to ensure formatting of the json files
46
- is good.
47
-
48
- *Note* If you are adding a brand-new key, you MUST update the pydantic models
49
- found in `python/pipette/pipette_definition.py` before running this script.
50
-
51
- *Note* When you are entering in your data, please utilize the exact type. I.e. if it's a
52
- list, you must input the list like: [1, 2, 3] or if it's a dict, like: {"data": 1}..
53
-
54
- For now, we do not support updating pipetting functions in this script.
55
- """
56
-
57
- ROOT = get_shared_data_root() / "pipette" / "definitions" / "2"
58
- NOZZLE_LOCATION_CONFIGS = ["nozzle_offset", "nozzle_map"]
59
-
60
-
61
- def _change_to_camel_case(c: str) -> str:
62
- # Tiny helper function to convert to camelCase.
63
- config_name = c.split("_")
64
- if len(config_name) == 1:
65
- return config_name[0]
66
- return f"{config_name[0]}" + "".join(s.capitalize() for s in config_name[1::])
67
-
68
-
69
- def list_configuration_keys() -> Tuple[List[str], Dict[int, str]]:
70
- """List out the model keys available to modify at the top level."""
71
- lookup = {i: v for (i, v) in enumerate(PipetteConfigurations.__fields__)}
72
- return [
73
- f"{i}: {v}" for (i, v) in enumerate(PipetteConfigurations.__fields__)
74
- ], lookup
75
-
76
-
77
- def list_available_enum(enum_type: Type[Enum]) -> List[str]:
78
- """List available pipette models"""
79
- return [f"{i}: {v}" for (i, v) in enumerate(enum_type)] # type: ignore[var-annotated]
80
-
81
-
82
- def handle_subclass_model(
83
- top_level_configuration: List[str], base_model: BaseModel, is_basemodel: bool
84
- ) -> List[str]:
85
- """Handle sub-classed basemodels and update the top level model as necessary."""
86
- if is_basemodel:
87
- if base_model.__fields__ == SupportedTipsDefinition.__fields__:
88
- # pydantic does something weird with the types in ModelFields so
89
- # we cannot use isinstance checks to confirm if the base model
90
- # is a supported tips definition
91
- print(f"choose {PipetteTipType.__name__}:")
92
- for row in list_available_enum(PipetteTipType):
93
- print(f"\t{row}")
94
- tip_type = list(PipetteTipType)[
95
- int(input("select the tip volume size to modify"))
96
- ]
97
- top_level_configuration.append(tip_type.name)
98
-
99
- lookup = {i: v for (i, v) in enumerate(base_model.__fields__)}
100
- config_list = [f"{i}: {v}" for (i, v) in enumerate(base_model.__fields__)]
101
- print(f"you selected the basemodel {base_model.__name__}:") # type: ignore[attr-defined]
102
- for row in config_list:
103
- print(f"\t{row}")
104
-
105
- configuration_to_update = lookup[
106
- int(input("select a specific configuration from above\n"))
107
- ]
108
- field_type = base_model.__fields__[configuration_to_update].type_
109
- is_basemodel = isinstance(field_type, ModelMetaclass)
110
-
111
- top_level_configuration.append(configuration_to_update)
112
- return handle_subclass_model(top_level_configuration, field_type, is_basemodel)
113
- else:
114
- return top_level_configuration
115
-
116
-
117
- def check_from_version(version: str) -> str:
118
- """Check that the version requested is supported in the system."""
119
- version_int = [int(v) for v in version.split(".")]
120
- if version_int[0] not in PipetteModelMajorVersion:
121
- raise ValueError(f"Major version {version_int[0]} is not supported.")
122
- if version_int[1] not in PipetteModelMinorVersion:
123
- raise ValueError(f"Minor version {version_int[1]} is not supported.")
124
- return version
125
-
126
-
127
- def save_data_to_file(
128
- directorypath: Path,
129
- file_name: str,
130
- data: Dict[str, Any],
131
- ) -> None:
132
- """
133
- Function used to save data to a file
134
- """
135
- directorypath.mkdir(parents=True, exist_ok=True)
136
- filepath = directorypath / f"{file_name}.json"
137
- with open(filepath, "w") as f:
138
- json.dump(data, f, indent=2)
139
-
140
-
141
- def update(
142
- dict_to_update: Dict[str, Any], iter_of_configs: Iterator[str], value_to_update: Any
143
- ) -> Dict[str, Any]:
144
- """
145
- Recursively update the given dictionary to ensure no data is lost when updating.
146
- """
147
- next_key = next(iter_of_configs, None)
148
- breakpoint()
149
- if next_key and isinstance(dict_to_update[next_key], dict):
150
- dict_to_update[next_key] = update(
151
- dict_to_update.get(next_key, {}), iter_of_configs, value_to_update
152
- )
153
- elif next_key:
154
- dict_to_update[next_key] = value_to_update
155
- return dict_to_update
156
-
157
-
158
- def build_nozzle_map(
159
- nozzle_offset: List[float], channels: PipetteChannelType
160
- ) -> Dict[str, List[float]]:
161
- Y_OFFSET = 9
162
- X_OFFSET = -9
163
- breakpoint()
164
- if channels == PipetteChannelType.SINGLE_CHANNEL:
165
- return {"A1": nozzle_offset}
166
- elif channels == PipetteChannelType.EIGHT_CHANNEL:
167
- return {
168
- f"{chr(ord('A') + 1*row)}1": [
169
- nozzle_offset[0],
170
- nozzle_offset[1] + Y_OFFSET * row,
171
- nozzle_offset[2],
172
- ]
173
- for row in range(8)
174
- }
175
- elif channels == PipetteChannelType.NINETY_SIX_CHANNEL:
176
- return {
177
- f"{chr(ord('A') + 1*row)}{1 + 1*col}": [
178
- nozzle_offset[0] + X_OFFSET * col,
179
- nozzle_offset[1] + Y_OFFSET * row,
180
- nozzle_offset[2],
181
- ]
182
- for row in range(8)
183
- for col in range(12)
184
- }
185
- raise ValueError(f"Unsupported channel type {channels}")
186
-
187
-
188
- def load_and_update_file_from_config(
189
- config_to_update: List[str],
190
- value_to_update: Any,
191
- model_to_update: PipetteModelVersionType,
192
- ) -> None:
193
- """Update the requested config and save to disk.
194
-
195
- Load the requested config sub type (physical, geometry or liquid). Then
196
- update the current file and save to disk.
197
-
198
- """
199
- camel_list_to_update = iter([_change_to_camel_case(i) for i in config_to_update])
200
-
201
- if config_to_update[0] in PipetteGeometryDefinition.__fields__:
202
- geometry = _geometry(
203
- model_to_update.pipette_channels,
204
- model_to_update.pipette_type,
205
- model_to_update.pipette_version,
206
- )
207
- if config_to_update[0] == "nozzle_map":
208
- nozzle_to_use = (
209
- value_to_update if value_to_update else geometry["nozzleOffset"]
210
- )
211
- geometry["nozzleMap"] = build_nozzle_map(
212
- nozzle_to_use, model_to_update.pipette_channels
213
- )
214
- elif config_to_update[0] == "nozzle_offset":
215
- geometry["nozzleMap"] = build_nozzle_map(
216
- value_to_update, model_to_update.pipette_channels
217
- )
218
- geometry["nozzleOffset"] = value_to_update
219
- else:
220
- geometry = update(geometry, camel_list_to_update, value_to_update)
221
- PipetteGeometryDefinition.parse_obj(geometry)
222
-
223
- filepath = (
224
- ROOT
225
- / "geometry"
226
- / model_to_update.pipette_channels.name.lower()
227
- / model_to_update.pipette_type.value
228
- )
229
- save_data_to_file(
230
- filepath,
231
- f"{model_to_update.pipette_version.major}_{model_to_update.pipette_version.minor}",
232
- geometry,
233
- )
234
- elif config_to_update[0] in PipettePhysicalPropertiesDefinition.__fields__:
235
- physical = _physical(
236
- model_to_update.pipette_channels,
237
- model_to_update.pipette_type,
238
- model_to_update.pipette_version,
239
- )
240
-
241
- physical = update(physical, camel_list_to_update, value_to_update)
242
-
243
- PipettePhysicalPropertiesDefinition.parse_obj(physical)
244
- filepath = (
245
- ROOT
246
- / "general"
247
- / model_to_update.pipette_channels.name.lower()
248
- / model_to_update.pipette_type.value
249
- )
250
- save_data_to_file(
251
- filepath,
252
- f"{model_to_update.pipette_version.major}_{model_to_update.pipette_version.minor}",
253
- physical,
254
- )
255
- elif config_to_update[0] == "liquid_properties":
256
- next(camel_list_to_update)
257
- liquid = _liquid(
258
- model_to_update.pipette_channels,
259
- model_to_update.pipette_type,
260
- model_to_update.pipette_version,
261
- )
262
-
263
- print(
264
- "Please select what liquid class you wish to update.\n If you want to update all liquid classes then type 'all'.\n"
265
- )
266
-
267
- print(f"choose {LiquidClasses.__name__} or type 'all':")
268
- for row in list_available_enum(LiquidClasses):
269
- print(f"\t{row}")
270
- liquid_classes = input("liquid class: ")
271
- if liquid_classes == "all":
272
- for c in LiquidClasses:
273
- liquid = update(
274
- liquid[c.name.lower()], camel_list_to_update, value_to_update
275
- )
276
-
277
- PipetteLiquidPropertiesDefinition.parse_obj(liquid)
278
- filepath = (
279
- ROOT
280
- / "liquid"
281
- / model_to_update.pipette_channels.name.lower()
282
- / model_to_update.pipette_type.value
283
- / c.name.lower()
284
- )
285
- save_data_to_file(
286
- filepath,
287
- f"{model_to_update.pipette_version.major}_{model_to_update.pipette_version.minor}",
288
- liquid,
289
- )
290
- else:
291
- lc = list(LiquidClasses)[int(liquid_classes)]
292
- liquid = update(
293
- liquid[lc.name.lower()], camel_list_to_update, value_to_update
294
- )
295
- PipetteLiquidPropertiesDefinition.parse_obj(liquid)
296
-
297
- filepath = (
298
- ROOT
299
- / "liquid"
300
- / model_to_update.pipette_channels.name.lower()
301
- / model_to_update.pipette_type.value
302
- / lc.name.lower()
303
- )
304
- save_data_to_file(
305
- filepath,
306
- f"{model_to_update.pipette_version.major}_{model_to_update.pipette_version.minor}",
307
- liquid,
308
- )
309
- else:
310
- raise KeyError(
311
- f"{config_to_update} is not saved to a file. Check `pipette_definition.py` for more information."
312
- )
313
-
314
-
315
- def _update_single_model(configuration_to_update: List[str]) -> None:
316
- """Helper function to update single model."""
317
- print(f"choose {PipetteModelType.__name__}:")
318
- for row in list_available_enum(PipetteModelType):
319
- print(f"\t{row}")
320
- model = list(PipetteModelType)[int(input("Please select from above\n"))]
321
-
322
- print(f"choose {PipetteChannelType.__name__}:")
323
- for row in list_available_enum(PipetteChannelType):
324
- print(f"\t{row}")
325
- channels = list(PipetteChannelType)[int(input("Please select from above\n"))]
326
-
327
- version = PipetteVersionType.convert_from_float(
328
- float(check_from_version(input("Please input the version of the model\n")))
329
- )
330
-
331
- built_model: PipetteModel = PipetteModel(
332
- f"{model.name}_{str(channels)}_v{version.major}.{version.minor}"
333
- )
334
-
335
- if configuration_to_update[0] == NOZZLE_LOCATION_CONFIGS[1]:
336
- print(
337
- "You selected nozzle_map to edit. If you wish to update the nozzle offset, enter it on the next line.\n"
338
- )
339
- print("Otherwise, please type 'null' on the next line.\n")
340
-
341
- value_to_update = json.loads(
342
- input(
343
- f"Please select what you would like to update {configuration_to_update[-1]} to for {built_model}\n"
344
- )
345
- )
346
-
347
- model_version = convert_pipette_model(built_model)
348
-
349
- load_and_update_file_from_config(
350
- configuration_to_update, value_to_update, model_version
351
- )
352
-
353
-
354
- def _update_all_models(configuration_to_update: List[str]) -> None:
355
- paths_to_validate = ROOT / "liquid"
356
- _channel_model_str = {
357
- "single_channel": "single",
358
- "ninety_six_channel": "96",
359
- "eight_channel": "multi",
360
- }
361
-
362
- for channel_dir in os.listdir(paths_to_validate):
363
- for model_dir in os.listdir(paths_to_validate / channel_dir):
364
- for version_file in os.listdir(paths_to_validate / channel_dir / model_dir):
365
- version_list = version_file.split(".json")[0].split("_")
366
- built_model: PipetteModel = PipetteModel(
367
- f"{model_dir}_{_channel_model_str[channel_dir]}_v{version_list[0]}.{version_list[1]}"
368
- )
369
-
370
- if configuration_to_update[0] == NOZZLE_LOCATION_CONFIGS[1]:
371
- print(
372
- "You selected nozzle_map to edit. If you wish to update the nozzle offset, enter it on the next line.\n"
373
- )
374
- print("Otherwise, please type 'null' on the next line.\n")
375
-
376
- value_to_update = json.loads(
377
- input(
378
- f"Please select what you would like to update {configuration_to_update} to for {built_model}\n"
379
- )
380
- )
381
-
382
- model_version = convert_pipette_model(built_model)
383
-
384
- load_and_update_file_from_config(
385
- configuration_to_update, value_to_update, model_version
386
- )
387
-
388
-
389
- def determine_models_to_update(update_all_models: bool) -> None:
390
- try:
391
- while True:
392
- print(f"choose {PipetteConfigurations.__name__}:")
393
- config_list, table_lookup = list_configuration_keys()
394
- for row in config_list:
395
- print(f"\t{row}")
396
-
397
- configuration_to_update = [
398
- table_lookup[int(input("select a configuration from above\n"))]
399
- ]
400
-
401
- if configuration_to_update[0] == NOZZLE_LOCATION_CONFIGS[0]:
402
- print(
403
- f"NOTE: updating the {configuration_to_update[0]} will automatically update the {NOZZLE_LOCATION_CONFIGS[1]}\n"
404
- )
405
-
406
- field_type = PipetteConfigurations.__fields__[
407
- configuration_to_update[0]
408
- ].type_
409
- is_basemodel = isinstance(field_type, ModelMetaclass)
410
-
411
- configuration_to_update = handle_subclass_model(
412
- configuration_to_update, field_type, is_basemodel
413
- )
414
- if update_all_models:
415
- _update_all_models(configuration_to_update)
416
- else:
417
- _update_single_model(configuration_to_update)
418
- except KeyboardInterrupt:
419
- print("Finished updating! Validate that your files updated successfully.")
420
-
421
-
422
- def main() -> None:
423
- """Entry point."""
424
- parser = argparse.ArgumentParser(
425
- description="96 channel tip handling testing script."
426
- )
427
- parser.add_argument(
428
- "--update_all_models",
429
- type=bool,
430
- help="update all",
431
- default=False,
432
- )
433
-
434
- args = parser.parse_args()
435
-
436
- determine_models_to_update(args.update_all_models)
437
-
438
-
439
- if __name__ == "__main__":
440
- """
441
- A script to automate building a pipette configuration definition.
442
-
443
- This script can either perform migrations from a v1 -> v2 schema format
444
- or build a brand new script from scratch.
445
-
446
- When building a new pipette configuration model, you will either need
447
- to provide CSVs or use command line inputs.
448
-
449
- If you choose CSVs you will need one CSV for the general pipette configuration
450
- data (such as pipette model or number of channels) and one for every tip
451
- type that this pipette model can support.
452
- """
453
- main()
@@ -1,193 +0,0 @@
1
- import enum
2
- from dataclasses import dataclass
3
- from typing import Union, Dict, Mapping, Tuple, cast
4
- from typing_extensions import Literal
5
-
6
- """Pipette Definition V2 Types"""
7
-
8
- # Needed for Int Comparison. Keeping it next to
9
- # the Literal type for ease of readability
10
- PipetteModelMajorVersion = [1, 2, 3]
11
- PipetteModelMinorVersion = [0, 1, 2, 3, 4, 5, 6]
12
-
13
- # TODO Literals are only good for writing down
14
- # exact values. Is there a better typing mechanism
15
- # so we don't need to keep track of versions in two
16
- # different places?
17
- PipetteModelMajorVersionType = Literal[1, 2, 3]
18
- PipetteModelMinorVersionType = Literal[0, 1, 2, 3, 4, 5, 6]
19
-
20
-
21
- class LiquidClasses(enum.Enum):
22
- default = enum.auto()
23
- lowVolumeDefault = enum.auto()
24
-
25
-
26
- class PipetteTipType(enum.Enum):
27
- t10 = 10
28
- t20 = 20
29
- t50 = 50
30
- t200 = 200
31
- t300 = 300
32
- t1000 = 1000
33
-
34
- @classmethod
35
- def check_and_return_type(
36
- cls, working_volume: int, maximum_volume: int
37
- ) -> "PipetteTipType":
38
- try:
39
- return cls(working_volume)
40
- except ValueError:
41
- return cls(maximum_volume)
42
-
43
-
44
- class PipetteChannelType(int, enum.Enum):
45
- SINGLE_CHANNEL = 1
46
- EIGHT_CHANNEL = 8
47
- NINETY_SIX_CHANNEL = 96
48
-
49
- def __str__(self) -> str:
50
- if self.value == 96:
51
- return "96"
52
- elif self.value == 8:
53
- return "multi"
54
- else:
55
- return "single"
56
-
57
-
58
- class PipetteModelType(enum.Enum):
59
- p10 = "p10"
60
- p20 = "p20"
61
- p50 = "p50"
62
- p300 = "p300"
63
- p1000 = "p1000"
64
-
65
-
66
- class PipetteGenerationType(enum.Enum):
67
- GEN1 = "GEN1"
68
- GEN2 = "GEN2"
69
- FLEX = "FLEX"
70
-
71
-
72
- @dataclass(frozen=True)
73
- class PipetteVersionType:
74
- major: PipetteModelMajorVersionType
75
- minor: PipetteModelMinorVersionType
76
-
77
- @classmethod
78
- def convert_from_float(cls, version: float) -> "PipetteVersionType":
79
- major = cast(PipetteModelMajorVersionType, int(version // 1))
80
- minor = cast(PipetteModelMinorVersionType, int(round((version % 1), 2) * 10))
81
- return cls(major=major, minor=minor)
82
-
83
- def __str__(self) -> str:
84
- if self.major == 1 and self.minor == 0:
85
- # Maintain the format of V1 pipettes that
86
- # do not contain a minor version at all.
87
- return f"{self.major}"
88
- else:
89
- return f"{self.major}.{self.minor}"
90
-
91
- @property
92
- def as_tuple(
93
- self,
94
- ) -> Tuple[PipetteModelMajorVersionType, PipetteModelMinorVersionType]:
95
- return (self.major, self.minor)
96
-
97
-
98
- """Mutable Configs Types"""
99
-
100
-
101
- class Quirks(enum.Enum):
102
- pickupTipShake = "pickupTipShake"
103
- dropTipShake = "dropTipShake"
104
- doubleDropTip = "doubleDropTip"
105
- needsUnstick = "needsUnstick"
106
-
107
-
108
- class AvailableUnits(enum.Enum):
109
- mm = "mm"
110
- amps = "amps"
111
- speed = "mm/s"
112
- presses = "presses"
113
-
114
-
115
- @dataclass
116
- class RobotMountConfigs:
117
- stepsPerMM: float
118
- homePosition: float
119
- travelDistance: float
120
-
121
-
122
- @dataclass
123
- class MutableConfig:
124
- value: Union[int, float]
125
- default: Union[int, float]
126
- units: AvailableUnits
127
- type: str
128
- min: float
129
- max: float
130
- name: str
131
-
132
- @classmethod
133
- def build(
134
- cls,
135
- value: Union[int, float],
136
- default: Union[int, float],
137
- units: str,
138
- type: str,
139
- min: float,
140
- max: float,
141
- name: str,
142
- ) -> "MutableConfig":
143
- if units == "mm/sec":
144
- units = "mm/s"
145
- return cls(
146
- value=value,
147
- default=default,
148
- units=AvailableUnits(units),
149
- type=type,
150
- min=min,
151
- max=max,
152
- name=name,
153
- )
154
-
155
- def validate_and_add(self, new_value: Union[int, float]) -> None:
156
- if new_value < self.min or new_value > self.max:
157
- raise ValueError(f"{self.name} out of range with {new_value}")
158
- self.value = new_value
159
-
160
- def dict_for_encode(self) -> Dict[str, Union[int, float, str]]:
161
- return {
162
- "value": self.value,
163
- "default": self.default,
164
- "units": self.units.value,
165
- "type": self.type,
166
- "min": self.min,
167
- "max": self.max,
168
- }
169
-
170
-
171
- @dataclass
172
- class QuirkConfig:
173
- value: bool
174
- name: Quirks
175
-
176
- @classmethod
177
- def validate_and_build(cls, name: str, value: bool) -> "QuirkConfig":
178
- quirk_name = Quirks(name)
179
- cls.validate(name, value)
180
- return cls(value=value, name=quirk_name)
181
-
182
- @classmethod
183
- def validate(cls, name: str, value: bool) -> None:
184
- if not isinstance(value, bool):
185
- raise ValueError(f"{value} is invalid for {name}")
186
-
187
- def dict_for_encode(self) -> bool:
188
- return self.value
189
-
190
-
191
- TypeOverrides = Mapping[str, Union[float, bool, None]]
192
-
193
- OverrideType = Dict[str, Union[Dict[str, QuirkConfig], MutableConfig, str]]
@@ -1,13 +0,0 @@
1
- """
2
- opentrons_shared_data.protocol: types and bindings for json protocols
3
- """
4
- import json
5
- from typing import Any, NewType, Dict
6
-
7
- from .. import load_shared_data
8
-
9
- Schema = NewType("Schema", Dict[str, Any])
10
-
11
-
12
- def load_schema(version: int) -> "Schema":
13
- return json.loads(load_shared_data(f"protocol/schemas/{version}.json"))