opentrons-shared-data 8.7.0a11__py3-none-any.whl → 8.8.0a6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. opentrons_shared_data/_version.py +2 -2
  2. opentrons_shared_data/data/command/schemas/10.json +1 -1
  3. opentrons_shared_data/data/command/schemas/11.json +1 -1
  4. opentrons_shared_data/data/command/schemas/12.json +1 -1
  5. opentrons_shared_data/data/command/schemas/13.json +1 -1
  6. opentrons_shared_data/data/command/schemas/14.json +6 -1
  7. opentrons_shared_data/data/command/schemas/15.json +7676 -0
  8. opentrons_shared_data/data/command/schemas/8.json +1 -1
  9. opentrons_shared_data/data/command/schemas/9.json +1 -1
  10. opentrons_shared_data/data/deck/definitions/5/ot2_short_trash.json +13 -0
  11. opentrons_shared_data/data/deck/definitions/5/ot2_standard.json +13 -0
  12. opentrons_shared_data/data/deck/definitions/5/ot3_standard.json +138 -69
  13. opentrons_shared_data/data/deck/schemas/5.json +7 -1
  14. opentrons_shared_data/data/errors/definitions/1/errors.json +8 -0
  15. opentrons_shared_data/data/labware/definitions/2/agilent_1_reservoir_290ml/4.json +80 -0
  16. opentrons_shared_data/data/labware/definitions/2/axygen_1_reservoir_90ml/3.json +72 -0
  17. opentrons_shared_data/data/labware/definitions/2/biorad_96_wellplate_200ul_pcr/5.json +1187 -0
  18. opentrons_shared_data/data/labware/definitions/2/black_96_well_microtiter_plate_lid/1.json +1 -1
  19. opentrons_shared_data/data/labware/definitions/2/corning_12_wellplate_6.9ml_flat/5.json +210 -0
  20. opentrons_shared_data/data/labware/definitions/2/corning_24_wellplate_3.4ml_flat/5.json +342 -0
  21. opentrons_shared_data/data/labware/definitions/2/corning_384_wellplate_112ul_flat/5.json +5116 -0
  22. opentrons_shared_data/data/labware/definitions/2/corning_48_wellplate_1.6ml_flat/6.json +610 -0
  23. opentrons_shared_data/data/labware/definitions/2/corning_6_wellplate_16.8ml_flat/5.json +134 -0
  24. opentrons_shared_data/data/labware/definitions/2/corning_96_wellplate_330ul/1.json +1170 -0
  25. opentrons_shared_data/data/labware/definitions/2/corning_96_wellplate_360ul_flat/5.json +1177 -0
  26. opentrons_shared_data/data/labware/definitions/2/corning_falcon_384_wellplate_130ul_flat/1.json +5147 -0
  27. opentrons_shared_data/data/labware/definitions/2/corning_falcon_384_wellplate_130ul_flat_lid/1.json +118 -0
  28. opentrons_shared_data/data/labware/definitions/2/costar_96_wellplate_2.2ml/1.json +1372 -0
  29. opentrons_shared_data/data/labware/definitions/2/eppendorf_384_wellplate_45ul/1.json +4758 -0
  30. opentrons_shared_data/data/labware/definitions/2/eppendorf_96_wellplate_150ul/1.json +1184 -0
  31. opentrons_shared_data/data/labware/definitions/2/eppendorf_96_wellplate_2000ul/1.json +1395 -0
  32. opentrons_shared_data/data/labware/definitions/2/eppendorf_96_wellplate_2000ul_lobind/1.json +1395 -0
  33. opentrons_shared_data/data/labware/definitions/2/eppendorf_96_wellplate_350ul_lobind/1.json +1184 -0
  34. opentrons_shared_data/data/labware/definitions/2/eppendorf_96_wellplate_500ul/1.json +1170 -0
  35. opentrons_shared_data/data/labware/definitions/2/eppendorf_96_wellplate_500ul_lobind/1.json +1170 -0
  36. opentrons_shared_data/data/labware/definitions/2/greiner_384_wellplate_240ul/1.json +5209 -0
  37. opentrons_shared_data/data/labware/definitions/2/greiner_96_wellplate_323ul/1.json +1197 -0
  38. opentrons_shared_data/data/labware/definitions/2/greiner_96_wellplate_340ul_chimney/1.json +1166 -0
  39. opentrons_shared_data/data/labware/definitions/2/greiner_96_wellplate_382ul/1.json +1156 -0
  40. opentrons_shared_data/data/labware/definitions/2/nest_12_reservoir_15ml/3.json +226 -0
  41. opentrons_shared_data/data/labware/definitions/2/nest_1_reservoir_195ml/4.json +83 -0
  42. opentrons_shared_data/data/labware/definitions/2/nest_1_reservoir_290ml/4.json +80 -0
  43. opentrons_shared_data/data/labware/definitions/2/nest_96_wellplate_100ul_pcr_full_skirt/5.json +1166 -0
  44. opentrons_shared_data/data/labware/definitions/2/nest_96_wellplate_200ul_flat/5.json +1145 -0
  45. opentrons_shared_data/data/labware/definitions/2/nest_96_wellplate_2ml_deep/5.json +1261 -0
  46. opentrons_shared_data/data/labware/definitions/2/nunc_384_wellplate_100ul/1.json +5136 -0
  47. opentrons_shared_data/data/labware/definitions/2/nunc_96_wellplate_450ul/1.json +1159 -0
  48. opentrons_shared_data/data/labware/definitions/2/opentrons_10_tuberack_falcon_4x50ml_6x15ml_conical/3.json +232 -0
  49. opentrons_shared_data/data/labware/definitions/2/opentrons_15_tuberack_eppendorf_15ml_conical/1.json +314 -0
  50. opentrons_shared_data/data/labware/definitions/2/opentrons_15_tuberack_falcon_15ml_conical/3.json +259 -0
  51. opentrons_shared_data/data/labware/definitions/2/opentrons_24_aluminumblock_nest_0.5ml_screwcap/4.json +370 -0
  52. opentrons_shared_data/data/labware/definitions/2/opentrons_24_aluminumblock_nest_1.5ml_screwcap/3.json +356 -0
  53. opentrons_shared_data/data/labware/definitions/2/opentrons_24_aluminumblock_nest_1.5ml_snapcap/3.json +358 -0
  54. opentrons_shared_data/data/labware/definitions/2/opentrons_24_aluminumblock_nest_2ml_screwcap/3.json +350 -0
  55. opentrons_shared_data/data/labware/definitions/2/opentrons_24_aluminumblock_nest_2ml_snapcap/3.json +386 -0
  56. opentrons_shared_data/data/labware/definitions/2/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/3.json +418 -0
  57. opentrons_shared_data/data/labware/definitions/2/opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap/3.json +473 -0
  58. opentrons_shared_data/data/labware/definitions/2/opentrons_24_tuberack_nest_0.5ml_screwcap/4.json +371 -0
  59. opentrons_shared_data/data/labware/definitions/2/opentrons_6_tuberack_nest_50ml_conical/3.json +150 -0
  60. opentrons_shared_data/data/labware/definitions/2/opentrons_flex_tiprack_lid/1.json +1 -1
  61. opentrons_shared_data/data/labware/definitions/2/opentrons_tough_universal_lid/1.json +5 -0
  62. opentrons_shared_data/data/labware/definitions/2/opentrons_tough_universal_lid/2.json +101 -0
  63. opentrons_shared_data/data/labware/definitions/2/thermoscientific_96_wellplate_800ul/1.json +1194 -0
  64. opentrons_shared_data/data/labware/definitions/2/thermoscientific_abgene_96_wellplate_1.2ml/1.json +1314 -0
  65. opentrons_shared_data/data/labware/definitions/2/usascientific_12_reservoir_22ml/4.json +237 -0
  66. opentrons_shared_data/data/labware/definitions/2/usascientific_96_wellplate_2.4ml_deep/4.json +1243 -0
  67. opentrons_shared_data/data/labware/definitions/3/schema3test_96_wellplate_200ul_pcr_full_skirt/999.json +0 -27
  68. opentrons_shared_data/data/labware/definitions/3/schema3test_96_wellplate_360ul_flat/999.json +1189 -0
  69. opentrons_shared_data/data/labware/definitions/3/schema3test_tough_pcr_auto_sealing_lid/999.json +0 -47
  70. opentrons_shared_data/data/labware/definitions/3/schema3test_universal_flat_adapter/999.json +25 -5
  71. opentrons_shared_data/data/labware/schemas/2.json +1 -1
  72. opentrons_shared_data/data/labware/schemas/3.json +78 -0
  73. opentrons_shared_data/data/module/definitions/3/absorbanceReaderV1.json +6 -0
  74. opentrons_shared_data/data/module/definitions/3/flexStackerModuleV1.json +10 -93
  75. opentrons_shared_data/data/module/definitions/3/heaterShakerModuleV1.json +30 -1
  76. opentrons_shared_data/data/module/definitions/3/magneticBlockV1.json +14 -0
  77. opentrons_shared_data/data/module/definitions/3/magneticModuleV1.json +13 -0
  78. opentrons_shared_data/data/module/definitions/3/magneticModuleV2.json +13 -0
  79. opentrons_shared_data/data/module/definitions/3/temperatureModuleV1.json +13 -0
  80. opentrons_shared_data/data/module/definitions/3/temperatureModuleV2.json +21 -0
  81. opentrons_shared_data/data/module/definitions/3/thermocyclerModuleV1.json +3 -0
  82. opentrons_shared_data/data/module/definitions/3/thermocyclerModuleV2.json +4 -0
  83. opentrons_shared_data/data/module/schemas/3.json +24 -0
  84. opentrons_shared_data/data/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_0.json +1 -1
  85. opentrons_shared_data/data/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_3.json +1 -1
  86. opentrons_shared_data/data/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_4.json +1 -1
  87. opentrons_shared_data/data/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_5.json +1 -1
  88. opentrons_shared_data/data/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_6.json +1 -1
  89. opentrons_shared_data/data/pipette/definitions/2/geometry/ninety_six_channel/p200/3_0.json +1 -1
  90. opentrons_shared_data/data/pipette/definitions/2/geometry/ninety_six_channel/p200/3_1.json +1 -1
  91. opentrons_shared_data/data/pipette/definitions/2/geometry/ninety_six_channel/p200/3_2.json +1 -1
  92. opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p1000/3_0.json +2 -2
  93. opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p1000/3_3.json +2 -2
  94. opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p1000/3_4.json +2 -2
  95. opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p1000/3_5.json +2 -2
  96. opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p1000/3_6.json +2 -2
  97. opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p1000/3_7.json +2 -2
  98. opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p50/3_0.json +2 -2
  99. opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p50/3_3.json +2 -2
  100. opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p50/3_4.json +2 -2
  101. opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p50/3_5.json +2 -2
  102. opentrons_shared_data/data/pipette/definitions/2/geometry/single_channel/p50/3_6.json +2 -2
  103. opentrons_shared_data/data_files/__init__.py +26 -0
  104. opentrons_shared_data/data_files/types.py +84 -0
  105. opentrons_shared_data/deck/types.py +3 -1
  106. opentrons_shared_data/errors/codes.py +2 -0
  107. opentrons_shared_data/errors/exceptions.py +28 -1
  108. opentrons_shared_data/labware/labware_definition.py +1 -0
  109. opentrons_shared_data/labware/types.py +32 -0
  110. opentrons_shared_data/module/types.py +9 -1
  111. opentrons_shared_data/protocol/models/shared_models.py +1 -0
  112. {opentrons_shared_data-8.7.0a11.dist-info → opentrons_shared_data-8.8.0a6.dist-info}/METADATA +1 -1
  113. {opentrons_shared_data-8.7.0a11.dist-info → opentrons_shared_data-8.8.0a6.dist-info}/RECORD +115 -62
  114. {opentrons_shared_data-8.7.0a11.dist-info → opentrons_shared_data-8.8.0a6.dist-info}/WHEEL +0 -0
  115. {opentrons_shared_data-8.7.0a11.dist-info → opentrons_shared_data-8.8.0a6.dist-info}/licenses/LICENSE +0 -0
@@ -63,53 +63,6 @@
63
63
  "z": 0
64
64
  }
65
65
  },
66
- "stackingOffsetWithLabware": {
67
- "default": {
68
- "x": 0,
69
- "y": 0,
70
- "z": 8.193
71
- },
72
- "opentrons_tough_pcr_auto_sealing_lid": {
73
- "x": 0,
74
- "y": 0,
75
- "z": 6.492
76
- },
77
- "schema3test_tough_pcr_auto_sealing_lid": {
78
- "x": 0,
79
- "y": 0,
80
- "z": 6.492
81
- },
82
- "armadillo_96_wellplate_200ul_pcr_full_skirt": {
83
- "x": 0,
84
- "y": 0,
85
- "z": 8.193
86
- },
87
- "opentrons_96_wellplate_200ul_pcr_full_skirt": {
88
- "x": 0,
89
- "y": 0,
90
- "z": 8.193
91
- },
92
- "schema3test_96_wellplate_200ul_pcr_full_skirt": {
93
- "x": 0,
94
- "y": 0,
95
- "z": 8.193
96
- },
97
- "biorad_96_wellplate_200ul_pcr": {
98
- "x": 0,
99
- "y": 0,
100
- "z": 8.08
101
- },
102
- "opentrons_flex_deck_riser": {
103
- "x": 0,
104
- "y": 0,
105
- "z": 34
106
- },
107
- "protocol_engine_lid_stack_object": {
108
- "x": 0,
109
- "y": 0,
110
- "z": 0
111
- }
112
- },
113
66
  "stackLimit": 5,
114
67
  "compatibleParentLabware": [
115
68
  "armadillo_96_wellplate_200ul_pcr_full_skirt",
@@ -14,18 +14,38 @@
14
14
  "extents": {
15
15
  "total": {
16
16
  "backLeftBottom": {
17
- "x": 8.5,
18
- "y": -5.5,
17
+ "x": 0,
18
+ "y": 0,
19
19
  "z": 0
20
20
  },
21
21
  "frontRightTop": {
22
- "x": 119.5,
23
- "y": -80.5,
22
+ "x": 127.2,
23
+ "y": -74.8,
24
24
  "z": 12
25
25
  }
26
26
  }
27
27
  },
28
- "features": {},
28
+ "features": {
29
+ "heaterShakerUniversalFlatAdapter": {
30
+ "flatSupportThermalCouplingZ": 4.7,
31
+ "deckLeft": {
32
+ "wallX": 7.52,
33
+ "screwCenter": {
34
+ "x": 71.7,
35
+ "y": -37.4,
36
+ "z": 0
37
+ }
38
+ },
39
+ "deckRight": {
40
+ "wallX": -7.52,
41
+ "screwCenter": {
42
+ "x": 55.5,
43
+ "y": -37.4,
44
+ "z": 0
45
+ }
46
+ }
47
+ }
48
+ },
29
49
  "wells": {},
30
50
  "groups": [
31
51
  {
@@ -684,7 +684,7 @@
684
684
  },
685
685
  "stackingOffsetWithLabware": {
686
686
  "type": "object",
687
- "description": "Supported labware that can be stacked upon, with overlap height between both labware.",
687
+ "description": "Supported labware that this one can be stacked atop, with overlaps between both labware. x and y should always equal 0 to preserve intended behavior. z=0 means the bottom of this labware is at the top of the labware below it. +z moves this labware down.",
688
688
  "additionalProperties": {
689
689
  "$ref": "#/definitions/vector"
690
690
  }
@@ -700,6 +700,77 @@
700
700
  "type": "number"
701
701
  }
702
702
  }
703
+ },
704
+ "heaterShakerUniversalFlatAdapter": {
705
+ "description": "Designates this labware as the Opentrons Universal Flat Adapter",
706
+ "type": "object",
707
+ "required": ["flatSupportThermalCouplingZ", "deckLeft", "deckRight"],
708
+ "properties": {
709
+ "flatSupportThermalCouplingZ": {
710
+ "description": "The bottom of the labware to the top of the labware's surface that makes contact with a child labware's wells.",
711
+ "type": "number"
712
+ },
713
+ "deckLeft": {
714
+ "type": "object",
715
+ "required": ["wallX", "screwCenter"],
716
+ "properties": {
717
+ "wallX": {
718
+ "description": "The +x coordinate in mm from the edge of the labware's external protrusion to the interior of the `wall` when the labware is placed on the left side of the deck.",
719
+ "type": "number"
720
+ },
721
+ "screwCenter": {
722
+ "description": "The +x,-y,+z coordinate offset from the labware origin to the bottom center of the pilot hole when the labware is placed on the left side of the deck.",
723
+ "$ref": "#/definitions/vector3D"
724
+ }
725
+ }
726
+ },
727
+ "deckRight": {
728
+ "type": "object",
729
+ "required": ["wallX", "screwCenter"],
730
+ "properties": {
731
+ "wallX": {
732
+ "description": "The -x coordinate in mm from the edge of the labware's external protrusion to the interior of the `wall` when the labware is placed on the right side of the deck.",
733
+ "type": "number"
734
+ },
735
+ "screwCenter": {
736
+ "description": "The +x,-y,+z coordinate offset from the labware origin to the bottom center of the pilot hole when the labware is placed on the right side of the deck.",
737
+ "$ref": "#/definitions/vector3D"
738
+ }
739
+ }
740
+ }
741
+ }
742
+ },
743
+ "flatSupportThermalCouplingAsChild": {
744
+ "type": "object",
745
+ "required": ["wellExteriorBottomZ"],
746
+ "properties": {
747
+ "wellExteriorBottomZ": {
748
+ "description": "The +z-coordinate in mm from the bottom of the labware's exterior wells to the bottom of the labware.",
749
+ "type": "number"
750
+ }
751
+ }
752
+ },
753
+ "screwAnchoredAsParent": {
754
+ "description": "The labware provides a threaded hole into which a child deck item may be screwed securely.",
755
+ "type": "object",
756
+ "required": ["screwCenter"],
757
+ "properties": {
758
+ "screwCenter": {
759
+ "description": "The +x,-y,+z coordinate offset from the labware origin to the center of the threaded hole. The +z coordinate is zero by convention.",
760
+ "$ref": "#/definitions/vector3D"
761
+ }
762
+ }
763
+ },
764
+ "screwAnchoredAsChild": {
765
+ "description": "The labware contains a pilot hole through which the labware may be screwed securely to a parent deck item.",
766
+ "type": "object",
767
+ "required": ["screwCenter"],
768
+ "properties": {
769
+ "screwCenter": {
770
+ "description": "The +x,-y,+z coordinate offset from the labware origin to the center of the pilot hole. The +z coordinate is zero by convention.",
771
+ "$ref": "#/definitions/vector3D"
772
+ }
773
+ }
703
774
  }
704
775
  }
705
776
  },
@@ -778,6 +849,13 @@
778
849
  "$ref": "#/definitions/vector3D"
779
850
  }
780
851
  },
852
+ "legacyStackingOffsetWithLabware": {
853
+ "type": "object",
854
+ "description": "Legacy labware stacking offsets for Labware Schema 2 compatibility. See Labware Schema 2 `stackingOffsetWithLabware` documentation.",
855
+ "additionalProperties": {
856
+ "$ref": "#/definitions/vector3D"
857
+ }
858
+ },
781
859
  "stackingOffsetWithModule": {
782
860
  "type": "object",
783
861
  "description": "Supported module that can be stacked upon, with overlap height between labware and module.",
@@ -48,6 +48,12 @@
48
48
  "ot2_short_trash": {},
49
49
  "ot3_standard": {}
50
50
  },
51
+ "orientation": {
52
+ "A3": "right",
53
+ "B3": "right",
54
+ "C3": "right",
55
+ "D3": "right"
56
+ },
51
57
  "compatibleWith": [],
52
58
  "incompatibleWithDecks": ["ot2_standard", "ot2_short_trash"],
53
59
  "uniqueModuleData": {}
@@ -60,99 +60,16 @@
60
60
  },
61
61
  "displayName": "Flex Stacker Module GEN1",
62
62
  "quirks": [],
63
- "slotTransforms": {
64
- "ot2_short_trash": {
65
- "3": {
66
- "labwareOffset": [
67
- [-1, 0, 0, 0],
68
- [0, -1, 0, 0],
69
- [0, 0, 1, 0],
70
- [0, 0, 0, 1]
71
- ]
72
- },
73
- "6": {
74
- "labwareOffset": [
75
- [-1, 0, 0, 0],
76
- [0, -1, 0, 0],
77
- [0, 0, 1, 0],
78
- [0, 0, 0, 1]
79
- ]
80
- },
81
- "9": {
82
- "labwareOffset": [
83
- [-1, 0, 0, 0],
84
- [0, -1, 0, 0],
85
- [0, 0, 1, 0],
86
- [0, 0, 0, 1]
87
- ]
88
- }
89
- },
90
- "ot3_standard": {
91
- "D1": {
92
- "labwareOffset": [
93
- [1, 0, 0, 0.125],
94
- [0, 1, 0, -1.125],
95
- [0, 0, 1, -49.325],
96
- [0, 0, 0, 1]
97
- ]
98
- },
99
- "C1": {
100
- "labwareOffset": [
101
- [1, 0, 0, 0.125],
102
- [0, 1, 0, -1.125],
103
- [0, 0, 1, -49.325],
104
- [0, 0, 0, 1]
105
- ]
106
- },
107
- "B1": {
108
- "labwareOffset": [
109
- [1, 0, 0, 0.125],
110
- [0, 1, 0, -1.125],
111
- [0, 0, 1, -49.325],
112
- [0, 0, 0, 1]
113
- ]
114
- },
115
- "A1": {
116
- "labwareOffset": [
117
- [1, 0, 0, 0.125],
118
- [0, 1, 0, -1.125],
119
- [0, 0, 1, -49.325],
120
- [0, 0, 0, 1]
121
- ]
122
- },
123
- "D3": {
124
- "labwareOffset": [
125
- [1, 0, 0, 0.125],
126
- [0, 1, 0, -1.125],
127
- [0, 0, 1, -49.325],
128
- [0, 0, 0, 1]
129
- ]
130
- },
131
- "C3": {
132
- "labwareOffset": [
133
- [1, 0, 0, 0.125],
134
- [0, 1, 0, -1.125],
135
- [0, 0, 1, -49.325],
136
- [0, 0, 0, 1]
137
- ]
138
- },
139
- "B3": {
140
- "labwareOffset": [
141
- [1, 0, 0, 0.125],
142
- [0, 1, 0, -1.125],
143
- [0, 0, 1, -49.325],
144
- [0, 0, 0, 1]
145
- ]
146
- },
147
- "A3": {
148
- "labwareOffset": [
149
- [1, 0, 0, 0.125],
150
- [0, 1, 0, -1.125],
151
- [0, 0, 1, -49.325],
152
- [0, 0, 0, 1]
153
- ]
154
- }
155
- }
63
+ "slotTransforms": {},
64
+ "orientation": {
65
+ "A3": "right",
66
+ "A4": "right",
67
+ "B3": "right",
68
+ "B4": "right",
69
+ "C3": "right",
70
+ "C4": "right",
71
+ "D3": "right",
72
+ "D4": "right"
156
73
  },
157
74
  "compatibleWith": [],
158
75
  "incompatibleWithDecks": ["ot2_standard", "ot2_short_trash"],
@@ -7,7 +7,15 @@
7
7
  "y": 1.125,
8
8
  "z": 68.275
9
9
  },
10
- "features": {},
10
+ "features": {
11
+ "screwAnchoredAsParent": {
12
+ "screwCenter": {
13
+ "x": 64,
14
+ "y": 43,
15
+ "z": 0
16
+ }
17
+ }
18
+ },
11
19
  "dimensions": {
12
20
  "bareOverallHeight": 82,
13
21
  "overLabwareHeight": 0,
@@ -184,6 +192,27 @@
184
192
  }
185
193
  }
186
194
  },
195
+ "orientation": {
196
+ "1": "left",
197
+ "2": "center",
198
+ "3": "right",
199
+ "4": "left",
200
+ "5": "center",
201
+ "6": "right",
202
+ "7": "left",
203
+ "8": "center",
204
+ "9": "right",
205
+ "10": "left",
206
+ "11": "center",
207
+ "A1": "left",
208
+ "A3": "right",
209
+ "B1": "left",
210
+ "B3": "right",
211
+ "C1": "left",
212
+ "C3": "right",
213
+ "D1": "left",
214
+ "D3": "right"
215
+ },
187
216
  "compatibleWith": [],
188
217
  "incompatibleWithDecks": []
189
218
  }
@@ -64,6 +64,20 @@
64
64
  "ot2_short_trash": {},
65
65
  "ot3_standard": {}
66
66
  },
67
+ "orientation": {
68
+ "A1": "center",
69
+ "A2": "center",
70
+ "A3": "center",
71
+ "B1": "center",
72
+ "B2": "center",
73
+ "B3": "center",
74
+ "C1": "center",
75
+ "C2": "center",
76
+ "C3": "center",
77
+ "D1": "center",
78
+ "D2": "center",
79
+ "D3": "center"
80
+ },
67
81
  "compatibleWith": [],
68
82
  "incompatibleWithDecks": [],
69
83
  "uniqueModuleData": {}
@@ -48,6 +48,19 @@
48
48
  "displayName": "Magnetic Module GEN1",
49
49
  "quirks": [],
50
50
  "slotTransforms": {},
51
+ "orientation": {
52
+ "1": "left",
53
+ "2": "center",
54
+ "3": "right",
55
+ "4": "left",
56
+ "5": "center",
57
+ "6": "right",
58
+ "7": "left",
59
+ "8": "center",
60
+ "9": "right",
61
+ "10": "left",
62
+ "11": "center"
63
+ },
51
64
  "compatibleWith": [],
52
65
  "incompatibleWithDecks": ["ot3_standard"],
53
66
  "uniqueModuleData": {}
@@ -101,6 +101,19 @@
101
101
  }
102
102
  }
103
103
  },
104
+ "orientation": {
105
+ "1": "left",
106
+ "2": "center",
107
+ "3": "right",
108
+ "4": "left",
109
+ "5": "center",
110
+ "6": "right",
111
+ "7": "left",
112
+ "8": "center",
113
+ "9": "right",
114
+ "10": "left",
115
+ "11": "center"
116
+ },
104
117
  "compatibleWith": [],
105
118
  "incompatibleWithDecks": ["ot3_standard"],
106
119
  "uniqueModuleData": {}
@@ -49,6 +49,19 @@
49
49
  "displayName": "Temperature Module GEN1",
50
50
  "quirks": [],
51
51
  "slotTransforms": {},
52
+ "orientation": {
53
+ "1": "left",
54
+ "2": "center",
55
+ "3": "right",
56
+ "4": "left",
57
+ "5": "center",
58
+ "6": "right",
59
+ "7": "left",
60
+ "8": "center",
61
+ "9": "right",
62
+ "10": "left",
63
+ "11": "center"
64
+ },
52
65
  "compatibleWith": ["temperatureModuleV2"],
53
66
  "incompatibleWithDecks": ["ot3_standard"],
54
67
  "uniqueModuleData": {}
@@ -182,6 +182,27 @@
182
182
  }
183
183
  }
184
184
  },
185
+ "orientation": {
186
+ "1": "left",
187
+ "2": "center",
188
+ "3": "right",
189
+ "4": "left",
190
+ "5": "center",
191
+ "6": "right",
192
+ "7": "left",
193
+ "8": "center",
194
+ "9": "right",
195
+ "10": "left",
196
+ "11": "center",
197
+ "A1": "left",
198
+ "A3": "right",
199
+ "B1": "left",
200
+ "B3": "right",
201
+ "C1": "left",
202
+ "C3": "right",
203
+ "D1": "left",
204
+ "D3": "right"
205
+ },
185
206
  "compatibleWith": ["temperatureModuleV1"],
186
207
  "incompatibleWithDecks": [],
187
208
  "uniqueModuleData": {}
@@ -52,6 +52,9 @@
52
52
  "displayName": "Thermocycler Module GEN1",
53
53
  "quirks": [],
54
54
  "slotTransforms": {},
55
+ "orientation": {
56
+ "7": "left"
57
+ },
55
58
  "compatibleWith": ["thermocyclerModuleV1"],
56
59
  "incompatibleWithDecks": ["ot3_standard"],
57
60
  "uniqueModuleData": {}
@@ -83,6 +83,10 @@
83
83
  }
84
84
  }
85
85
  },
86
+ "orientation": {
87
+ "7": "left",
88
+ "B1": "left"
89
+ },
86
90
  "compatibleWith": [],
87
91
  "incompatibleWithDecks": [],
88
92
  "uniqueModuleData": {}
@@ -111,6 +111,7 @@
111
111
  "displayName",
112
112
  "quirks",
113
113
  "slotTransforms",
114
+ "orientation",
114
115
  "compatibleWith",
115
116
  "incompatibleWithDecks"
116
117
  ],
@@ -180,6 +181,17 @@
180
181
  "enum": ["backLeftBottom"]
181
182
  }
182
183
  }
184
+ },
185
+ "screwAnchoredAsParent": {
186
+ "description": "The module provides a threaded hole into which a child deck item may be screwed securely.",
187
+ "type": "object",
188
+ "required": ["screwCenter"],
189
+ "properties": {
190
+ "screwCenter": {
191
+ "description": "The +x,+y,+z coordinate offset measured from the module's X/Y labware interface dimension origin to the center of the threaded hole. The +z is 0 by convention. When the threaded hole is located in a spring-loaded plate, the z represents the top of the threaded hole when the plate is compressed.",
192
+ "$ref": "#/definitions/vector3D"
193
+ }
194
+ }
183
195
  }
184
196
  }
185
197
  },
@@ -297,6 +309,18 @@
297
309
  }
298
310
  }
299
311
  },
312
+ "orientation": {
313
+ "type": "object",
314
+ "description": "The orientation of the module when placed in a particular cutout id.",
315
+ "patternProperties": {
316
+ "^([1-9]|10|11|[A-D][1-4])$": {
317
+ "description": "The keys are the id of cutouts.",
318
+ "type": "string",
319
+ "enum": ["left", "right", "center"]
320
+ }
321
+ },
322
+ "additionalProperties": false
323
+ },
300
324
  "compatibleWith": {
301
325
  "type": "array",
302
326
  "items": {
@@ -3,7 +3,7 @@
3
3
  "pathTo3D": "pipette/definitions/2/geometry/ninety_six_channel/p1000/placeholder.gltf",
4
4
  "nozzleOffset": [-36.0, -25.5, -259.15],
5
5
  "pipetteBoundingBoxOffsets": {
6
- "backLeftCorner": [-67.0, -3.5, -259.15],
6
+ "backLeftCorner": [-67.0, 0.0, -259.15],
7
7
  "frontRightCorner": [94.0, -113.0, -259.15]
8
8
  },
9
9
  "orderedRows": [
@@ -3,7 +3,7 @@
3
3
  "pathTo3D": "pipette/definitions/2/geometry/ninety_six_channel/p1000/placeholder.gltf",
4
4
  "nozzleOffset": [-36.0, -25.5, -259.15],
5
5
  "pipetteBoundingBoxOffsets": {
6
- "backLeftCorner": [-67.0, -3.5, -259.15],
6
+ "backLeftCorner": [-67.0, 0.0, -259.15],
7
7
  "frontRightCorner": [94.0, -113.0, -259.15]
8
8
  },
9
9
  "orderedRows": [
@@ -3,7 +3,7 @@
3
3
  "pathTo3D": "pipette/definitions/2/geometry/ninety_six_channel/p1000/placeholder.gltf",
4
4
  "nozzleOffset": [-36.0, -25.5, -259.15],
5
5
  "pipetteBoundingBoxOffsets": {
6
- "backLeftCorner": [-67.0, -3.5, -259.15],
6
+ "backLeftCorner": [-67.0, 0.0, -259.15],
7
7
  "frontRightCorner": [94.0, -113.0, -259.15]
8
8
  },
9
9
  "orderedRows": [
@@ -3,7 +3,7 @@
3
3
  "pathTo3D": "pipette/definitions/2/geometry/ninety_six_channel/p1000/placeholder.gltf",
4
4
  "nozzleOffset": [-36.0, -25.5, -259.15],
5
5
  "pipetteBoundingBoxOffsets": {
6
- "backLeftCorner": [-67.0, -3.5, -259.15],
6
+ "backLeftCorner": [-67.0, 0.0, -259.15],
7
7
  "frontRightCorner": [94.0, -113.0, -259.15]
8
8
  },
9
9
  "orderedRows": [
@@ -3,7 +3,7 @@
3
3
  "pathTo3D": "pipette/definitions/2/geometry/ninety_six_channel/p1000/placeholder.gltf",
4
4
  "nozzleOffset": [-36.0, -25.5, -259.15],
5
5
  "pipetteBoundingBoxOffsets": {
6
- "backLeftCorner": [-67.0, -3.5, -259.15],
6
+ "backLeftCorner": [-67.0, 0.0, -259.15],
7
7
  "frontRightCorner": [94.0, -113.0, -259.15]
8
8
  },
9
9
  "orderedRows": [
@@ -3,7 +3,7 @@
3
3
  "pathTo3D": "pipette/definitions/2/geometry/ninety_six_channel/p200/placeholder.gltf",
4
4
  "nozzleOffset": [-36.0, -25.5, -259.15],
5
5
  "pipetteBoundingBoxOffsets": {
6
- "backLeftCorner": [-67.0, -3.5, -259.15],
6
+ "backLeftCorner": [-67.0, 0.0, -259.15],
7
7
  "frontRightCorner": [94.0, -113.0, -259.15]
8
8
  },
9
9
  "orderedRows": [
@@ -3,7 +3,7 @@
3
3
  "pathTo3D": "pipette/definitions/2/geometry/ninety_six_channel/p200/placeholder.gltf",
4
4
  "nozzleOffset": [-36.0, -25.5, -259.15],
5
5
  "pipetteBoundingBoxOffsets": {
6
- "backLeftCorner": [-67.0, -3.5, -259.15],
6
+ "backLeftCorner": [-67.0, 0.0, -259.15],
7
7
  "frontRightCorner": [94.0, -113.0, -259.15]
8
8
  },
9
9
  "orderedRows": [
@@ -3,7 +3,7 @@
3
3
  "pathTo3D": "pipette/definitions/2/geometry/ninety_six_channel/p200/placeholder.gltf",
4
4
  "nozzleOffset": [-36.0, -25.5, -259.15],
5
5
  "pipetteBoundingBoxOffsets": {
6
- "backLeftCorner": [-67.0, -3.5, -259.15],
6
+ "backLeftCorner": [-67.0, 0.0, -259.15],
7
7
  "frontRightCorner": [94.0, -113.0, -259.15]
8
8
  },
9
9
  "orderedRows": [
@@ -3,8 +3,8 @@
3
3
  "pathTo3D": "pipette/definitions/2/geometry/single_channel/p1000/placeholder.gltf",
4
4
  "nozzleOffset": [-8.0, -22.0, -259.15],
5
5
  "pipetteBoundingBoxOffsets": {
6
- "backLeftCorner": [-8.0, -22.0, -259.15],
7
- "frontRightCorner": [-8.0, -22.0, -259.15]
6
+ "backLeftCorner": [-38.0, 0.0, -259.15],
7
+ "frontRightCorner": [11.5, -64.0, -259.15]
8
8
  },
9
9
  "orderedRows": [{ "key": "A", "orderedNozzles": ["A1"] }],
10
10
  "orderedColumns": [{ "key": "1", "orderedNozzles": ["A1"] }],
@@ -3,8 +3,8 @@
3
3
  "pathTo3D": "pipette/definitions/2/geometry/single_channel/p1000/placeholder.gltf",
4
4
  "nozzleOffset": [-8.0, -22.0, -259.15],
5
5
  "pipetteBoundingBoxOffsets": {
6
- "backLeftCorner": [-8.0, -22.0, -259.15],
7
- "frontRightCorner": [-8.0, -22.0, -259.15]
6
+ "backLeftCorner": [-38.0, 0.0, -259.15],
7
+ "frontRightCorner": [11.5, -64.0, -259.15]
8
8
  },
9
9
  "orderedRows": [{ "key": "A", "orderedNozzles": ["A1"] }],
10
10
  "orderedColumns": [{ "key": "1", "orderedNozzles": ["A1"] }],
@@ -3,8 +3,8 @@
3
3
  "pathTo3D": "pipette/definitions/2/geometry/single_channel/p1000/placeholder.gltf",
4
4
  "nozzleOffset": [-8.0, -22.0, -259.15],
5
5
  "pipetteBoundingBoxOffsets": {
6
- "backLeftCorner": [-8.0, -22.0, -259.15],
7
- "frontRightCorner": [-8.0, -22.0, -259.15]
6
+ "backLeftCorner": [-38.0, 0.0, -259.15],
7
+ "frontRightCorner": [11.5, -64.0, -259.15]
8
8
  },
9
9
  "orderedRows": [{ "key": "A", "orderedNozzles": ["A1"] }],
10
10
  "orderedColumns": [{ "key": "1", "orderedNozzles": ["A1"] }],