@opentrons/shared-data 0.0.1-alpha.20 → 0.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/Makefile +1 -1
  2. package/lib/opentrons-shared-data.js +1 -1
  3. package/lib/opentrons-shared-data.js.map +1 -1
  4. package/package.json +1 -1
  5. package/js/__tests__/__snapshots__/pipettes.test.ts.snap +0 -5969
  6. package/js/__tests__/deckSchemas.test.ts +0 -87
  7. package/js/__tests__/errors.test.js +0 -21
  8. package/js/__tests__/getAreSlotsAdjacent.test.ts +0 -128
  9. package/js/__tests__/getWellNamePerMultiTip.test.ts +0 -162
  10. package/js/__tests__/labwareDefQuirks.test.ts +0 -37
  11. package/js/__tests__/labwareDefSchemaV1.test.ts +0 -82
  12. package/js/__tests__/labwareDefSchemaV2.test.ts +0 -298
  13. package/js/__tests__/moduleAccessors.test.ts +0 -50
  14. package/js/__tests__/moduleSpecsSchema.test.ts +0 -77
  15. package/js/__tests__/pipetteSchemaV2.test.ts +0 -107
  16. package/js/__tests__/pipetteSpecSchemas.test.ts +0 -48
  17. package/js/__tests__/pipettes.test.ts +0 -58
  18. package/js/__tests__/protocolSchemaV4.test.ts +0 -137
  19. package/js/__tests__/protocolSchemaV5.test.ts +0 -137
  20. package/js/__tests__/protocolSchemaV6.test.ts +0 -132
  21. package/js/__tests__/protocolSchemaV7.test.ts +0 -64
  22. package/js/__tests__/protocolValidation.test.ts +0 -83
  23. package/js/__tests__/sortWells.test.ts +0 -40
  24. package/js/__tests__/splitWellsOnColumn.test.ts +0 -21
  25. package/js/__tests__/validateErrors.test.js +0 -34
  26. package/js/constants.ts +0 -338
  27. package/js/cypressUtils.ts +0 -35
  28. package/js/errors.ts +0 -33
  29. package/js/fixtures.ts +0 -161
  30. package/js/getLabware.ts +0 -154
  31. package/js/gripper.ts +0 -29
  32. package/js/helpers/__tests__/getAdapterName.test.ts +0 -31
  33. package/js/helpers/__tests__/getDeckDefFromLoadedLabware.test.ts +0 -12
  34. package/js/helpers/__tests__/getVectorDifference.test.ts +0 -25
  35. package/js/helpers/__tests__/getVectorSum.test.ts +0 -21
  36. package/js/helpers/__tests__/labwareInference.test.ts +0 -84
  37. package/js/helpers/__tests__/orderWells.test.ts +0 -87
  38. package/js/helpers/__tests__/parseProtocolData.test.ts +0 -165
  39. package/js/helpers/__tests__/volume.test.ts +0 -108
  40. package/js/helpers/__tests__/wellSets.test.ts +0 -352
  41. package/js/helpers/get96Channel384WellPlateWells.ts +0 -44
  42. package/js/helpers/getAddressableAreasInProtocol.ts +0 -59
  43. package/js/helpers/getLoadedLabwareDefinitionsByUri.ts +0 -30
  44. package/js/helpers/getModuleVizDims.ts +0 -118
  45. package/js/helpers/getOccludedSlotCountForModule.ts +0 -13
  46. package/js/helpers/getVectorDifference.ts +0 -12
  47. package/js/helpers/getVectorSum.ts +0 -12
  48. package/js/helpers/getWellNamePerMultiTip.ts +0 -86
  49. package/js/helpers/getWellTotalVolume.ts +0 -16
  50. package/js/helpers/index.ts +0 -347
  51. package/js/helpers/labwareInference.ts +0 -92
  52. package/js/helpers/orderWells.ts +0 -69
  53. package/js/helpers/parseProtocolData.ts +0 -141
  54. package/js/helpers/volume.ts +0 -35
  55. package/js/helpers/wellIsRect.ts +0 -6
  56. package/js/helpers/wellSets.ts +0 -155
  57. package/js/index.ts +0 -14
  58. package/js/labwareTools/__tests__/__snapshots__/createIrregularLabware.test.ts.snap +0 -3
  59. package/js/labwareTools/__tests__/__snapshots__/createLabware.test.ts.snap +0 -3
  60. package/js/labwareTools/__tests__/createDefaultDisplayName.test.ts +0 -111
  61. package/js/labwareTools/__tests__/createIrregularLabware.test.ts +0 -226
  62. package/js/labwareTools/__tests__/createLabware.test.ts +0 -147
  63. package/js/labwareTools/index.ts +0 -452
  64. package/js/modules.ts +0 -97
  65. package/js/pipettes.ts +0 -89
  66. package/js/protocols.ts +0 -290
  67. package/js/schema.ts +0 -80
  68. package/js/scripts/generateDeckLayersFromSVG.js +0 -46
  69. package/js/titleCase.ts +0 -30
  70. package/js/types.ts +0 -600
  71. package/python/.coveragerc +0 -4
  72. package/python/.flake8 +0 -32
  73. package/python/Config.in +0 -10
  74. package/python/Makefile +0 -134
  75. package/python/Pipfile +0 -28
  76. package/python/Pipfile.lock +0 -645
  77. package/python/buildroot.mk +0 -30
  78. package/python/mypy.ini +0 -41
  79. package/python/opentrons_shared_data/__init__.py +0 -17
  80. package/python/opentrons_shared_data/_version.py +0 -20
  81. package/python/opentrons_shared_data/command/__init__.py +0 -52
  82. package/python/opentrons_shared_data/deck/__init__.py +0 -96
  83. package/python/opentrons_shared_data/deck/dev_types.py +0 -180
  84. package/python/opentrons_shared_data/errors/__init__.py +0 -30
  85. package/python/opentrons_shared_data/errors/categories.py +0 -60
  86. package/python/opentrons_shared_data/errors/codes.py +0 -108
  87. package/python/opentrons_shared_data/errors/exceptions.py +0 -915
  88. package/python/opentrons_shared_data/gripper/__init__.py +0 -63
  89. package/python/opentrons_shared_data/gripper/constants.py +0 -6
  90. package/python/opentrons_shared_data/gripper/gripper_definition.py +0 -101
  91. package/python/opentrons_shared_data/labware/__init__.py +0 -22
  92. package/python/opentrons_shared_data/labware/constants.py +0 -7
  93. package/python/opentrons_shared_data/labware/dev_types.py +0 -140
  94. package/python/opentrons_shared_data/labware/labware_definition.py +0 -328
  95. package/python/opentrons_shared_data/load.py +0 -57
  96. package/python/opentrons_shared_data/module/__init__.py +0 -74
  97. package/python/opentrons_shared_data/module/dev_types.py +0 -141
  98. package/python/opentrons_shared_data/pipette/__init__.py +0 -107
  99. package/python/opentrons_shared_data/pipette/dev_types.py +0 -177
  100. package/python/opentrons_shared_data/pipette/file_operation_helpers.py +0 -37
  101. package/python/opentrons_shared_data/pipette/load_data.py +0 -261
  102. package/python/opentrons_shared_data/pipette/model_constants.py +0 -123
  103. package/python/opentrons_shared_data/pipette/mutable_configurations.py +0 -431
  104. package/python/opentrons_shared_data/pipette/pipette_definition.py +0 -503
  105. package/python/opentrons_shared_data/pipette/pipette_load_name_conversions.py +0 -240
  106. package/python/opentrons_shared_data/pipette/scripts/__init__.py +0 -0
  107. package/python/opentrons_shared_data/pipette/scripts/build_json_script.py +0 -469
  108. package/python/opentrons_shared_data/pipette/scripts/update_configuration_files.py +0 -450
  109. package/python/opentrons_shared_data/pipette/types.py +0 -193
  110. package/python/opentrons_shared_data/protocol/__init__.py +0 -13
  111. package/python/opentrons_shared_data/protocol/constants.py +0 -98
  112. package/python/opentrons_shared_data/protocol/dev_types.py +0 -436
  113. package/python/opentrons_shared_data/protocol/models/__init__.py +0 -48
  114. package/python/opentrons_shared_data/protocol/models/protocol_schema_v6.py +0 -145
  115. package/python/opentrons_shared_data/protocol/models/protocol_schema_v7.py +0 -95
  116. package/python/opentrons_shared_data/protocol/models/protocol_schema_v8.py +0 -110
  117. package/python/opentrons_shared_data/protocol/models/shared_models.py +0 -111
  118. package/python/opentrons_shared_data/py.typed +0 -0
  119. package/python/opentrons_shared_data/robot/__init__.py +0 -33
  120. package/python/opentrons_shared_data/robot/dev_types.py +0 -37
  121. package/python/pytest.ini +0 -2
  122. package/python/setup.cfg +0 -5
  123. package/python/setup.py +0 -179
  124. package/python/tests/__init__.py +0 -1
  125. package/python/tests/conftest.py +0 -0
  126. package/python/tests/deck/__init__.py +0 -0
  127. package/python/tests/deck/test_list_names.py +0 -12
  128. package/python/tests/deck/test_position.py +0 -113
  129. package/python/tests/deck/test_typechecks.py +0 -28
  130. package/python/tests/errors/__init__.py +0 -1
  131. package/python/tests/errors/test_error_completeness.py +0 -19
  132. package/python/tests/errors/test_exceptions.py +0 -74
  133. package/python/tests/gripper/__init__.py +0 -0
  134. package/python/tests/gripper/test_definition.py +0 -30
  135. package/python/tests/gripper/test_load.py +0 -16
  136. package/python/tests/labware/__init__.py +0 -13
  137. package/python/tests/labware/test_typechecks.py +0 -21
  138. package/python/tests/module/__init__.py +0 -20
  139. package/python/tests/module/test_load.py +0 -49
  140. package/python/tests/module/test_typechecks.py +0 -34
  141. package/python/tests/pipette/__init__.py +0 -0
  142. package/python/tests/pipette/test_load_data.py +0 -103
  143. package/python/tests/pipette/test_mutable_configurations.py +0 -266
  144. package/python/tests/pipette/test_pipette_definition.py +0 -183
  145. package/python/tests/pipette/test_pipette_load_name_conversions.py +0 -222
  146. package/python/tests/pipette/test_typechecks.py +0 -50
  147. package/python/tests/pipette/test_validate_schema.py +0 -37
  148. package/python/tests/protocol/__init__.py +0 -15
  149. package/python/tests/protocol/test_protocol_schema_v6.py +0 -107
  150. package/python/tests/protocol/test_protocol_schema_v7.py +0 -34
  151. package/python/tests/protocol/test_protocol_schema_v8.py +0 -20
  152. package/python/tests/protocol/test_typechecks.py +0 -36
  153. package/python/tests/robot/__init__.py +0 -0
  154. package/python/tests/robot/test_typechecks.py +0 -20
package/js/types.ts DELETED
@@ -1,600 +0,0 @@
1
- import {
2
- MAGDECK,
3
- TEMPDECK,
4
- THERMOCYCLER,
5
- MAGNETIC_MODULE_V1,
6
- MAGNETIC_MODULE_V2,
7
- TEMPERATURE_MODULE_V1,
8
- TEMPERATURE_MODULE_V2,
9
- THERMOCYCLER_MODULE_V1,
10
- THERMOCYCLER_MODULE_V2,
11
- HEATERSHAKER_MODULE_V1,
12
- MAGNETIC_MODULE_TYPE,
13
- TEMPERATURE_MODULE_TYPE,
14
- THERMOCYCLER_MODULE_TYPE,
15
- HEATERSHAKER_MODULE_TYPE,
16
- MAGNETIC_BLOCK_TYPE,
17
- GEN1,
18
- GEN2,
19
- FLEX,
20
- LEFT,
21
- RIGHT,
22
- GRIPPER_V1,
23
- GRIPPER_V1_1,
24
- GRIPPER_V1_2,
25
- EXTENSION,
26
- MAGNETIC_BLOCK_V1,
27
- } from './constants'
28
- import type { INode } from 'svgson'
29
- import type { RunTimeCommand, LabwareLocation } from '../command/types'
30
- import type { AddressableAreaName, CutoutFixtureId, CutoutId } from '../deck'
31
- import type { PipetteName } from './pipettes'
32
-
33
- export type RobotType = 'OT-2 Standard' | 'OT-3 Standard'
34
-
35
- export interface RobotDefinition {
36
- displayName: string
37
- robotType: RobotType
38
- models: string[]
39
- }
40
-
41
- // TODO Ian 2019-06-04 split this out into eg ../labware/flowTypes/labwareV1.js
42
- export interface WellDefinition {
43
- diameter?: number
44
- // NOTE: presence of diameter indicates a circular well
45
- depth?: number
46
- // TODO Ian 2018-03-12: depth should be required, but is missing in MALDI-plate
47
- height: number
48
- length: number
49
- width: number
50
- x: number
51
- y: number
52
- z: number
53
- 'total-liquid-volume': number
54
- }
55
-
56
- // typedef for labware definitions under v1 labware schema
57
- export interface LabwareDefinition1 {
58
- metadata: {
59
- name: string
60
- format: string
61
- deprecated?: boolean
62
- displayName?: string
63
- displayCategory?: string
64
- isValidSource?: boolean
65
- isTiprack?: boolean
66
- tipVolume?: number
67
- }
68
- ordering: string[][]
69
- wells: {
70
- [well: string]: WellDefinition
71
- }
72
- }
73
-
74
- // TODO(mc, 2019-05-29): Remove this enum in favor of string + exported
75
- // constants + unit tests to catch typos in our definitions. Make changes
76
- // here and in shared-data/labware/schemas/2.json
77
- export type LabwareDisplayCategory =
78
- | 'wellPlate'
79
- | 'tipRack'
80
- | 'tubeRack'
81
- | 'reservoir'
82
- | 'aluminumBlock'
83
- | 'trash'
84
- | 'other'
85
- | 'adapter'
86
-
87
- export type LabwareVolumeUnits = 'µL' | 'mL' | 'L'
88
-
89
- // TODO(mc, 2019-05-29): Remove this enum in favor of string + exported
90
- // constants + unit tests to catch typos in our definitions. Make changes
91
- // here and in shared-data/labware/schemas/2.json
92
- export type WellBottomShape = 'flat' | 'u' | 'v'
93
-
94
- export interface LabwareMetadata {
95
- displayName: string
96
- displayCategory: LabwareDisplayCategory
97
- displayVolumeUnits: LabwareVolumeUnits
98
- tags?: string[]
99
- }
100
-
101
- export interface LabwareDimensions {
102
- xDimension: number
103
- yDimension: number
104
- zDimension: number
105
- }
106
-
107
- export interface Coordinates {
108
- x: number
109
- y: number
110
- z: number
111
- }
112
- export type LabwareOffset = Coordinates
113
-
114
- // 1. Valid pipette type for a container (i.e. is there multi channel access?)
115
- // 2. Is the container a tiprack?
116
- export interface LabwareParameters {
117
- loadName: string
118
- format: string
119
- isTiprack: boolean
120
- tipLength?: number
121
- isMagneticModuleCompatible: boolean
122
- magneticModuleEngageHeight?: number
123
- quirks?: string[]
124
- }
125
-
126
- export interface LabwareBrand {
127
- brand: string
128
- brandId?: string[]
129
- links?: string[]
130
- }
131
-
132
- export type LabwareWellShapeProperties =
133
- | {
134
- shape: 'circular'
135
- diameter: number
136
- }
137
- | {
138
- shape: 'rectangular'
139
- xDimension: number
140
- yDimension: number
141
- }
142
-
143
- // well without x,y,z
144
- export type LabwareWellProperties = LabwareWellShapeProperties & {
145
- depth: number
146
- totalLiquidVolume: number
147
- }
148
-
149
- export type LabwareWell = LabwareWellProperties & {
150
- x: number
151
- y: number
152
- z: number
153
- }
154
-
155
- // TODO(mc, 2019-03-21): exact object is tough to use with the initial value in
156
- // reduce, so leaving this inexact (e.g. `const a: {||} = {}` errors)
157
- export type LabwareWellMap = Record<string, LabwareWell>
158
-
159
- export interface LabwareWellGroupMetadata {
160
- displayName?: string
161
- displayCategory?: LabwareDisplayCategory
162
- wellBottomShape?: WellBottomShape
163
- }
164
-
165
- export interface LabwareWellGroup {
166
- wells: string[]
167
- metadata: LabwareWellGroupMetadata
168
- brand?: LabwareBrand
169
- }
170
-
171
- export type LabwareRoles = 'labware' | 'adapter' | 'fixture' | 'maintenance'
172
-
173
- // NOTE: must be synced with shared-data/labware/schemas/2.json
174
- export interface LabwareDefinition2 {
175
- version: number
176
- schemaVersion: 2
177
- namespace: string
178
- metadata: LabwareMetadata
179
- dimensions: LabwareDimensions
180
- cornerOffsetFromSlot: LabwareOffset
181
- parameters: LabwareParameters
182
- brand: LabwareBrand
183
- ordering: string[][]
184
- wells: LabwareWellMap
185
- groups: LabwareWellGroup[]
186
- allowedRoles?: LabwareRoles[]
187
- }
188
-
189
- export type ModuleType =
190
- | typeof MAGNETIC_MODULE_TYPE
191
- | typeof TEMPERATURE_MODULE_TYPE
192
- | typeof THERMOCYCLER_MODULE_TYPE
193
- | typeof HEATERSHAKER_MODULE_TYPE
194
- | typeof MAGNETIC_BLOCK_TYPE
195
-
196
- // ModuleModel corresponds to top-level keys in shared-data/module/definitions/2
197
- export type MagneticModuleModel =
198
- | typeof MAGNETIC_MODULE_V1
199
- | typeof MAGNETIC_MODULE_V2
200
-
201
- export type TemperatureModuleModel =
202
- | typeof TEMPERATURE_MODULE_V1
203
- | typeof TEMPERATURE_MODULE_V2
204
-
205
- export type ThermocyclerModuleModel =
206
- | typeof THERMOCYCLER_MODULE_V1
207
- | typeof THERMOCYCLER_MODULE_V2
208
-
209
- export type HeaterShakerModuleModel = typeof HEATERSHAKER_MODULE_V1
210
-
211
- export type MagneticBlockModel = typeof MAGNETIC_BLOCK_V1
212
-
213
- export type ModuleModel =
214
- | MagneticModuleModel
215
- | TemperatureModuleModel
216
- | ThermocyclerModuleModel
217
- | HeaterShakerModuleModel
218
- | MagneticBlockModel
219
-
220
- export type GripperModel =
221
- | typeof GRIPPER_V1
222
- | typeof GRIPPER_V1_1
223
- | typeof GRIPPER_V1_2
224
-
225
- export type ModuleModelWithLegacy =
226
- | ModuleModel
227
- | typeof THERMOCYCLER
228
- | typeof MAGDECK
229
- | typeof TEMPDECK
230
-
231
- export interface Dimensions {
232
- xDimension: number
233
- yDimension: number
234
- zDimension: number
235
- }
236
-
237
- export interface DeckRobot {
238
- model: RobotType
239
- }
240
-
241
- export type CoordinateTuple = [number, number, number]
242
-
243
- export type UnitDirection = 1 | -1
244
-
245
- export type UnitVectorTuple = [UnitDirection, UnitDirection, UnitDirection]
246
-
247
- export type DeckSlotId = string
248
-
249
- export interface DeckSlot {
250
- id: DeckSlotId
251
- position: CoordinateTuple
252
- matingSurfaceUnitVector?: UnitVectorTuple
253
- boundingBox: Dimensions
254
- displayName: string
255
- compatibleModules: ModuleType[]
256
- }
257
-
258
- export interface DeckCalibrationPoint {
259
- id: string
260
- position: CoordinateTuple
261
- displayName: string
262
- }
263
-
264
- export interface CutoutFixture {
265
- id: CutoutFixtureId
266
- mayMountTo: CutoutId[]
267
- displayName: string
268
- providesAddressableAreas: Record<CutoutId, AddressableAreaName[]>
269
- }
270
-
271
- type AreaType = 'slot' | 'movableTrash' | 'wasteChute' | 'fixedTrash'
272
-
273
- export interface AddressableArea {
274
- id: AddressableAreaName
275
- areaType: AreaType
276
- offsetFromCutoutFixture: CoordinateTuple
277
- boundingBox: Dimensions
278
- displayName: string
279
- compatibleModuleTypes: ModuleType[]
280
- ableToDropLabware?: boolean
281
- ableToDropTips?: boolean
282
- dropLabwareOffset?: CoordinateTuple
283
- dropTipsOffset?: CoordinateTuple
284
- matingSurfaceUnitVector?: UnitVectorTuple
285
- }
286
-
287
- export interface DeckMetadata {
288
- displayName: string
289
- tags: string[]
290
- }
291
-
292
- export interface DeckCutout {
293
- id: string
294
- position: CoordinateTuple
295
- displayName: string
296
- }
297
-
298
- export interface LegacyFixture {
299
- id: string
300
- slot: string
301
- labware: string
302
- displayName: string
303
- }
304
-
305
- export interface DeckLocations {
306
- addressableAreas: AddressableArea[]
307
- calibrationPoints: DeckCalibrationPoint[]
308
- cutouts: DeckCutout[]
309
- legacyFixtures: LegacyFixture[]
310
- }
311
-
312
- export interface DeckDefinition {
313
- otId: string
314
- cornerOffsetFromOrigin: CoordinateTuple
315
- dimensions: CoordinateTuple
316
- robot: DeckRobot
317
- locations: DeckLocations
318
- metadata: DeckMetadata
319
- cutoutFixtures: CutoutFixture[]
320
- }
321
-
322
- export interface ModuleDimensions {
323
- bareOverallHeight: number
324
- overLabwareHeight: number
325
- xDimension: number
326
- yDimension: number
327
- footprintXDimension?: number
328
- footprintYDimension?: number
329
- labwareInterfaceXDimension?: number
330
- labwareInterfaceYDimension?: number
331
- lidHeight?: number
332
- }
333
-
334
- export interface ModuleCalibrationPoint {
335
- x: number
336
- y: number
337
- z?: number
338
- }
339
-
340
- export interface ModuleLayer {
341
- name: string
342
- pathDValues: string[]
343
- }
344
-
345
- // module definition that adheres to the v3 module json schema
346
- export interface ModuleDefinition {
347
- moduleType: ModuleType
348
- model: ModuleModel
349
- labwareOffset: Coordinates
350
- dimensions: ModuleDimensions
351
- cornerOffsetFromSlot: Coordinates
352
- calibrationPoint: ModuleCalibrationPoint
353
- displayName: string
354
- quirks: string[]
355
- slotTransforms: SlotTransforms
356
- compatibleWith: ModuleModel[]
357
- twoDimensionalRendering: INode
358
- }
359
-
360
- export type AffineTransformMatrix = number[][]
361
-
362
- export interface SlotTransforms {
363
- [deckOtId: string]: {
364
- [slotId: string]: {
365
- [transformKey in keyof ModuleDefinition]?: AffineTransformMatrix
366
- }
367
- }
368
- }
369
-
370
- export type ModuleOrientation = 'left' | 'right'
371
-
372
- export type PipetteChannels = 1 | 8 | 96
373
-
374
- export type PipetteDisplayCategory = typeof GEN1 | typeof GEN2 | typeof FLEX
375
-
376
- export type PipetteMount = typeof LEFT | typeof RIGHT
377
- export type GantryMount = typeof LEFT | typeof RIGHT | typeof EXTENSION
378
- export interface FlowRateSpec {
379
- value: number
380
- min: number
381
- max: number
382
- }
383
-
384
- export interface PipetteNameSpecs {
385
- name: string
386
- displayName: string
387
- displayCategory: PipetteDisplayCategory
388
- minVolume: number
389
- maxVolume: number
390
- channels: PipetteChannels
391
- defaultAspirateFlowRate: FlowRateSpec
392
- defaultDispenseFlowRate: FlowRateSpec
393
- defaultBlowOutFlowRate: FlowRateSpec
394
- defaultTipracks: string[]
395
- smoothieConfigs?: {
396
- stepsPerMM: number
397
- homePosition: number
398
- travelDistance: number
399
- }
400
- }
401
-
402
- // TODO(bc, 2021-05-27): the type of `model` here should be PipetteModel
403
- // TODO(mc, 2019-10-14): update this type according to the schema
404
- export interface PipetteModelSpecs extends PipetteNameSpecs {
405
- model: string
406
- backCompatNames?: string[]
407
- tipLength: {
408
- value: number
409
- }
410
- }
411
- export interface ProtocolMetadata {
412
- protocolName?: string
413
- author?: string
414
- description?: string | null
415
- created?: number
416
- lastModified?: number | null
417
- category?: string | null
418
- subcategory?: string | null
419
- tags?: string[]
420
- [key: string]: unknown
421
- }
422
- export interface PendingProtocolAnalysis {
423
- id: string
424
- status?: 'pending'
425
- }
426
- export interface ProtocolAnalysisSummary {
427
- id: string
428
- status: 'pending' | 'completed'
429
- }
430
- export interface LoadedPipette {
431
- id: string
432
- pipetteName: PipetteName
433
- mount: 'left' | 'right'
434
- }
435
- export interface LoadedLabware {
436
- id: string
437
- loadName: string
438
- definitionUri: string
439
- location: LabwareLocation
440
- offsetId?: string
441
- displayName?: string
442
- }
443
- export interface LoadedModule {
444
- id: string
445
- model: ModuleModel
446
- location: {
447
- slotName: string
448
- }
449
- serialNumber: string
450
- }
451
- export interface Liquid {
452
- id: string
453
- displayName: string
454
- description: string
455
- displayColor?: string
456
- }
457
-
458
- export interface AnalysisError {
459
- id: string
460
- detail: string
461
- errorType: string
462
- createdAt: string
463
- }
464
-
465
- // TODO(BC, 10/25/2023): this type (and others in this file) probably belong in api-client, not here
466
- export interface CompletedProtocolAnalysis {
467
- id: string
468
- status?: 'completed'
469
- result: 'ok' | 'not-ok' | 'error'
470
- pipettes: LoadedPipette[]
471
- labware: LoadedLabware[]
472
- modules: LoadedModule[]
473
- liquids: Liquid[]
474
- commands: RunTimeCommand[]
475
- errors: AnalysisError[]
476
- robotType?: RobotType | null
477
- }
478
-
479
- export interface ResourceFile {
480
- name: string
481
- role: string
482
- }
483
- export interface ProtocolResource {
484
- id: string
485
- createdAt: string
486
- protocolType: 'json' | 'python'
487
- robotType: RobotType
488
- metadata: ProtocolMetadata
489
- analysisSummaries: ProtocolAnalysisSummary[]
490
- files: ResourceFile[]
491
- key?: string
492
- }
493
-
494
- export interface ProtocolAnalysesResource {
495
- analyses: Array<PendingProtocolAnalysis | CompletedProtocolAnalysis>
496
- }
497
- export type MotorAxis =
498
- | 'x'
499
- | 'y'
500
- | 'leftZ'
501
- | 'rightZ'
502
- | 'leftPlunger'
503
- | 'rightPlunger'
504
- | 'extensionZ'
505
- | 'extensionJaw'
506
-
507
- export type MotorAxes = MotorAxis[]
508
-
509
- export type ThermalAdapterName =
510
- | 'PCR Adapter'
511
- | 'Deep Well Adapter'
512
- | '96 Flat Bottom Adapter'
513
- | 'Universal Flat Adapter'
514
-
515
- // gripper definition that adheres to the v1 gripper json schema
516
- export interface GripperDefinition {
517
- $otSharedSchema: string
518
- model: GripperModel
519
- schemaVersion: number
520
- displayName: string
521
- zMotorConfigurations: { idle: number; run: number }
522
- jawMotorConfigurations: { vref: number }
523
- gripForceProfile: {
524
- polynomial: [[number, number], [number, number]]
525
- defaultGripForce: number
526
- defaultHomeForce: number
527
- defaultIdleForce: number
528
- min: number
529
- max: number
530
- }
531
- geometry: {
532
- baseOffsetFromMount: [number, number, number]
533
- jawCenterOffsetFromBase: [number, number, number]
534
- pinOneOffsetFromBase: [number, number, number]
535
- pinTwoOffsetFromBase: [number, number, number]
536
- jawWidth: { min: number; max: number }
537
- }
538
- }
539
-
540
- export type StatusBarAnimation =
541
- | 'idle'
542
- | 'confirm'
543
- | 'updating'
544
- | 'disco'
545
- | 'off'
546
-
547
- export type StatusBarAnimations = StatusBarAnimation[]
548
-
549
- export type Cutout =
550
- | 'cutoutA1'
551
- | 'cutoutB1'
552
- | 'cutoutC1'
553
- | 'cutoutD1'
554
- | 'cutoutA2'
555
- | 'cutoutB2'
556
- | 'cutoutC2'
557
- | 'cutoutD2'
558
- | 'cutoutA3'
559
- | 'cutoutB3'
560
- | 'cutoutC3'
561
- | 'cutoutD3'
562
-
563
- export type OT2Cutout =
564
- | 'cutout1'
565
- | 'cutout2'
566
- | 'cutout3'
567
- | 'cutout4'
568
- | 'cutout5'
569
- | 'cutout6'
570
- | 'cutout7'
571
- | 'cutout8'
572
- | 'cutout9'
573
- | 'cutout10'
574
- | 'cutout11'
575
- | 'cutout12'
576
-
577
- export type FlexSlot =
578
- | 'A1'
579
- | 'B1'
580
- | 'C1'
581
- | 'D1'
582
- | 'A2'
583
- | 'B2'
584
- | 'C2'
585
- | 'D2'
586
- | 'A3'
587
- | 'B3'
588
- | 'C3'
589
- | 'D3'
590
- | 'A4'
591
- | 'B4'
592
- | 'C4'
593
- | 'D4'
594
-
595
- export interface CutoutConfig {
596
- cutoutId: CutoutId
597
- cutoutFixtureId: CutoutFixtureId | null
598
- }
599
-
600
- export type DeckConfiguration = CutoutConfig[]
@@ -1,4 +0,0 @@
1
- [report]
2
- exclude_lines =
3
- @overload
4
- if TYPE_CHECKING:
package/python/.flake8 DELETED
@@ -1,32 +0,0 @@
1
- [flake8]
2
-
3
- # max cyclomatic complexity
4
- max-complexity = 9
5
-
6
- extend-ignore =
7
- # defer formatting concerns to black
8
- # E203: space around `:` operator
9
- # E501: maximum line length
10
- E203,
11
- E501,
12
- # do not require type annotations for self nor cls
13
- ANN101,
14
- ANN102
15
-
16
- # configure flake8-docstrings
17
- # https://pypi.org/project/flake8-docstrings/
18
- docstring-convention = google
19
-
20
- noqa-require-code = true
21
-
22
- # TODO(mc, 2021-04-12): this config ignores type annotation and doc
23
- # string lints in these modules; remove entries as they are fixed
24
- per-file-ignores =
25
- setup.py:ANN,D
26
- opentrons_shared_data/load.py:ANN,D
27
- opentrons_shared_data/deck/*:ANN,D
28
- opentrons_shared_data/labware/*:ANN,D
29
- opentrons_shared_data/module/*:ANN,D
30
- opentrons_shared_data/pipette/*:ANN,D
31
- opentrons_shared_data/protocol/*:ANN,D
32
- tests/*:ANN,D
package/python/Config.in DELETED
@@ -1,10 +0,0 @@
1
- config BR2_PACKAGE_PYTHON_OPENTRONS_SHARED_DATA
2
- bool "python-opentrons-shared-data"
3
- depends on BR2_PACKAGE_PYTHON3
4
- select BR2_PACKAGE_PYTHON_JSONSCHEMA # runtime
5
- select BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS # runtime
6
-
7
- help
8
- Opentrons data sources. Used on an OT-2 robot.
9
-
10
- https://opentrons.com