UncountablePythonSDK 0.0.6__py3-none-any.whl → 0.0.7__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.
Potentially problematic release.
This version of UncountablePythonSDK might be problematic. Click here for more details.
- {UncountablePythonSDK-0.0.6.dist-info → UncountablePythonSDK-0.0.7.dist-info}/METADATA +1 -1
- {UncountablePythonSDK-0.0.6.dist-info → UncountablePythonSDK-0.0.7.dist-info}/RECORD +20 -17
- {UncountablePythonSDK-0.0.6.dist-info → UncountablePythonSDK-0.0.7.dist-info}/WHEEL +1 -1
- pkgs/type_spec/builder.py +0 -61
- pkgs/type_spec/config.py +3 -0
- pkgs/type_spec/emit_open_api.py +33 -22
- pkgs/type_spec/emit_open_api_util.py +6 -2
- pkgs/type_spec/emit_python.py +3 -2
- type_spec/external/api/entity/create_entities.yaml +3 -25
- type_spec/external/api/entity/create_entity.yaml +3 -13
- type_spec/external/api/recipes/get_recipe_links.yaml +2 -37
- uncountable/types/__init__.py +6 -0
- uncountable/types/api/entity/create_entities.py +5 -25
- uncountable/types/api/entity/create_entity.py +5 -11
- uncountable/types/api/recipes/get_recipe_links.py +3 -37
- uncountable/types/client_base.py +33 -30
- uncountable/types/entity.py +271 -0
- uncountable/types/field_values.py +28 -0
- uncountable/types/recipe_links.py +49 -0
- {UncountablePythonSDK-0.0.6.dist-info → UncountablePythonSDK-0.0.7.dist-info}/top_level.txt +0 -0
|
@@ -7,64 +7,30 @@ from __future__ import annotations
|
|
|
7
7
|
import typing # noqa: F401
|
|
8
8
|
import datetime # noqa: F401
|
|
9
9
|
from decimal import Decimal # noqa: F401
|
|
10
|
-
from pkgs.strenum_compat import StrEnum
|
|
11
10
|
from dataclasses import dataclass
|
|
12
|
-
from
|
|
11
|
+
from ... import recipe_links as recipe_links_t
|
|
13
12
|
|
|
14
13
|
__all__: list[str] = [
|
|
15
14
|
"Arguments",
|
|
16
15
|
"Data",
|
|
17
16
|
"ENDPOINT_METHOD",
|
|
18
17
|
"ENDPOINT_PATH",
|
|
19
|
-
"RecipeLink",
|
|
20
|
-
"RecipeLinkType",
|
|
21
18
|
]
|
|
22
19
|
|
|
23
20
|
ENDPOINT_METHOD = "GET"
|
|
24
21
|
ENDPOINT_PATH = "api/external/recipes/external_get_recipe_links"
|
|
25
22
|
|
|
26
23
|
|
|
27
|
-
# DO NOT MODIFY -- This file is generated by type_spec
|
|
28
|
-
@serial_string_enum(
|
|
29
|
-
labels={
|
|
30
|
-
"user_link": "Manual Link",
|
|
31
|
-
"child": "Test Sample",
|
|
32
|
-
"self": "Self Link",
|
|
33
|
-
"recipe_as_output": "Analytical Sample",
|
|
34
|
-
"control": "Control Link",
|
|
35
|
-
"intermediate_recipe": "Used as Component Link",
|
|
36
|
-
"previous_experiment": "Previous Sample",
|
|
37
|
-
},
|
|
38
|
-
)
|
|
39
|
-
class RecipeLinkType(StrEnum):
|
|
40
|
-
USER_LINK = "user_link"
|
|
41
|
-
CHILD = "child"
|
|
42
|
-
SELF = "self"
|
|
43
|
-
RECIPE_AS_OUTPUT = "recipe_as_output"
|
|
44
|
-
CONTROL = "control"
|
|
45
|
-
INTERMEDIATE_RECIPE = "intermediate_recipe"
|
|
46
|
-
PREVIOUS_EXPERIMENT = "previous_experiment"
|
|
47
|
-
|
|
48
|
-
|
|
49
24
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
50
25
|
@dataclass(kw_only=True)
|
|
51
26
|
class Arguments:
|
|
52
27
|
recipe_ids: list[int]
|
|
53
28
|
depth: int = 1
|
|
54
|
-
link_types: typing.Optional[list[RecipeLinkType]]
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
# DO NOT MODIFY -- This file is generated by type_spec
|
|
58
|
-
@dataclass(kw_only=True, frozen=True, eq=True)
|
|
59
|
-
class RecipeLink:
|
|
60
|
-
recipe_id_from: int
|
|
61
|
-
recipe_id_to: int
|
|
62
|
-
link_type: str
|
|
63
|
-
name: str
|
|
29
|
+
link_types: typing.Optional[list[recipe_links_t.RecipeLinkType]]
|
|
64
30
|
|
|
65
31
|
|
|
66
32
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
67
33
|
@dataclass(kw_only=True)
|
|
68
34
|
class Data:
|
|
69
|
-
recipe_links: list[RecipeLink]
|
|
35
|
+
recipe_links: list[recipe_links_t.RecipeLink]
|
|
70
36
|
# DO NOT MODIFY -- This file is generated by type_spec
|
uncountable/types/client_base.py
CHANGED
|
@@ -14,7 +14,9 @@ import uncountable.types.api.entity.create_entities as create_entities_t
|
|
|
14
14
|
import uncountable.types.api.entity.create_entity as create_entity_t
|
|
15
15
|
import uncountable.types.api.inputs.create_inputs as create_inputs_t
|
|
16
16
|
import uncountable.types.api.recipes.create_recipes as create_recipes_t
|
|
17
|
+
from . import entity as entity_t
|
|
17
18
|
import uncountable.types.api.batch.execute_batch as execute_batch_t
|
|
19
|
+
from . import field_values as field_values_t
|
|
18
20
|
import uncountable.types.api.recipes.get_curve as get_curve_t
|
|
19
21
|
import uncountable.types.api.entity.get_entities_data as get_entities_data_t
|
|
20
22
|
import uncountable.types.api.inputs.get_input_data as get_input_data_t
|
|
@@ -32,6 +34,7 @@ import uncountable.types.api.recipes.get_recipe_names as get_recipe_names_t
|
|
|
32
34
|
import uncountable.types.api.recipes.get_recipe_output_metadata as get_recipe_output_metadata_t
|
|
33
35
|
import uncountable.types.api.recipes.get_recipes_data as get_recipes_data_t
|
|
34
36
|
import uncountable.types.api.entity.list_entities as list_entities_t
|
|
37
|
+
from . import recipe_links as recipe_links_t
|
|
35
38
|
import uncountable.types.api.entity.resolve_entity_ids as resolve_entity_ids_t
|
|
36
39
|
import uncountable.types.api.outputs.resolve_output_conditions as resolve_output_conditions_t
|
|
37
40
|
import uncountable.types.api.inputs.set_input_attribute_values as set_input_attribute_values_t
|
|
@@ -58,11 +61,11 @@ class ClientMethods(ABC):
|
|
|
58
61
|
...
|
|
59
62
|
|
|
60
63
|
|
|
61
|
-
def
|
|
64
|
+
def create_entities(
|
|
62
65
|
self,
|
|
63
66
|
*,
|
|
64
67
|
definition_id: int,
|
|
65
|
-
entity_type: typing.Union[typing.Literal[
|
|
68
|
+
entity_type: typing.Union[typing.Literal[entity_t.EntityType.LAB_REQUEST], typing.Literal[entity_t.EntityType.APPROVAL], typing.Literal[entity_t.EntityType.CUSTOM_ENTITY], typing.Literal[entity_t.EntityType.TASK], typing.Literal[entity_t.EntityType.PROJECT]],
|
|
66
69
|
entities_to_create: list[create_entities_t.EntityToCreate],
|
|
67
70
|
) -> create_entities_t.Data:
|
|
68
71
|
args = create_entities_t.Arguments(
|
|
@@ -78,12 +81,12 @@ class ClientMethods(ABC):
|
|
|
78
81
|
return self.do_request(api_request=api_request, return_type=create_entities_t.Data)
|
|
79
82
|
|
|
80
83
|
|
|
81
|
-
def
|
|
84
|
+
def create_entity(
|
|
82
85
|
self,
|
|
83
86
|
*,
|
|
84
87
|
definition_id: int,
|
|
85
|
-
entity_type: typing.Union[typing.Literal[
|
|
86
|
-
field_values: typing.Optional[typing.Optional[list[
|
|
88
|
+
entity_type: typing.Union[typing.Literal[entity_t.EntityType.LAB_REQUEST], typing.Literal[entity_t.EntityType.APPROVAL], typing.Literal[entity_t.EntityType.CUSTOM_ENTITY], typing.Literal[entity_t.EntityType.TASK], typing.Literal[entity_t.EntityType.PROJECT]],
|
|
89
|
+
field_values: typing.Optional[typing.Optional[list[field_values_t.FieldRefNameValue]]] = None,
|
|
87
90
|
) -> create_entity_t.Data:
|
|
88
91
|
args = create_entity_t.Arguments(
|
|
89
92
|
definition_id=definition_id,
|
|
@@ -114,7 +117,7 @@ class ClientMethods(ABC):
|
|
|
114
117
|
return self.do_request(api_request=api_request, return_type=create_inputs_t.Data)
|
|
115
118
|
|
|
116
119
|
|
|
117
|
-
def
|
|
120
|
+
def create_recipes(
|
|
118
121
|
self,
|
|
119
122
|
*,
|
|
120
123
|
material_family_id: int,
|
|
@@ -150,7 +153,7 @@ class ClientMethods(ABC):
|
|
|
150
153
|
return self.do_request(api_request=api_request, return_type=execute_batch_t.Data)
|
|
151
154
|
|
|
152
155
|
|
|
153
|
-
def
|
|
156
|
+
def get_curve(
|
|
154
157
|
self,
|
|
155
158
|
*,
|
|
156
159
|
recipe_output_id: int,
|
|
@@ -166,7 +169,7 @@ class ClientMethods(ABC):
|
|
|
166
169
|
return self.do_request(api_request=api_request, return_type=get_curve_t.Data)
|
|
167
170
|
|
|
168
171
|
|
|
169
|
-
def
|
|
172
|
+
def get_entities_data(
|
|
170
173
|
self,
|
|
171
174
|
*,
|
|
172
175
|
entity_ids: list[int],
|
|
@@ -184,7 +187,7 @@ class ClientMethods(ABC):
|
|
|
184
187
|
return self.do_request(api_request=api_request, return_type=get_entities_data_t.Data)
|
|
185
188
|
|
|
186
189
|
|
|
187
|
-
def
|
|
190
|
+
def get_input_data(
|
|
188
191
|
self,
|
|
189
192
|
*,
|
|
190
193
|
material_family_id: int,
|
|
@@ -208,7 +211,7 @@ class ClientMethods(ABC):
|
|
|
208
211
|
return self.do_request(api_request=api_request, return_type=get_input_data_t.Data)
|
|
209
212
|
|
|
210
213
|
|
|
211
|
-
def
|
|
214
|
+
def get_input_group_names(
|
|
212
215
|
self,
|
|
213
216
|
*,
|
|
214
217
|
material_family_id: int,
|
|
@@ -224,7 +227,7 @@ class ClientMethods(ABC):
|
|
|
224
227
|
return self.do_request(api_request=api_request, return_type=get_input_group_names_t.Data)
|
|
225
228
|
|
|
226
229
|
|
|
227
|
-
def
|
|
230
|
+
def get_input_names(
|
|
228
231
|
self,
|
|
229
232
|
*,
|
|
230
233
|
material_family_id: int,
|
|
@@ -246,7 +249,7 @@ class ClientMethods(ABC):
|
|
|
246
249
|
return self.do_request(api_request=api_request, return_type=get_input_names_t.Data)
|
|
247
250
|
|
|
248
251
|
|
|
249
|
-
def
|
|
252
|
+
def get_inputs_data(
|
|
250
253
|
self,
|
|
251
254
|
*,
|
|
252
255
|
input_ids: list[int],
|
|
@@ -262,7 +265,7 @@ class ClientMethods(ABC):
|
|
|
262
265
|
return self.do_request(api_request=api_request, return_type=get_inputs_data_t.Data)
|
|
263
266
|
|
|
264
267
|
|
|
265
|
-
def
|
|
268
|
+
def get_output_data(
|
|
266
269
|
self,
|
|
267
270
|
*,
|
|
268
271
|
material_family_id: int,
|
|
@@ -284,7 +287,7 @@ class ClientMethods(ABC):
|
|
|
284
287
|
return self.do_request(api_request=api_request, return_type=get_output_data_t.Data)
|
|
285
288
|
|
|
286
289
|
|
|
287
|
-
def
|
|
290
|
+
def get_output_names(
|
|
288
291
|
self,
|
|
289
292
|
*,
|
|
290
293
|
material_family_id: int,
|
|
@@ -304,7 +307,7 @@ class ClientMethods(ABC):
|
|
|
304
307
|
return self.do_request(api_request=api_request, return_type=get_output_names_t.Data)
|
|
305
308
|
|
|
306
309
|
|
|
307
|
-
def
|
|
310
|
+
def get_projects(
|
|
308
311
|
self,
|
|
309
312
|
*,
|
|
310
313
|
all_material_families: bool,
|
|
@@ -322,7 +325,7 @@ class ClientMethods(ABC):
|
|
|
322
325
|
return self.do_request(api_request=api_request, return_type=get_projects_t.Data)
|
|
323
326
|
|
|
324
327
|
|
|
325
|
-
def
|
|
328
|
+
def get_projects_data(
|
|
326
329
|
self,
|
|
327
330
|
*,
|
|
328
331
|
project_ids: list[int],
|
|
@@ -342,7 +345,7 @@ class ClientMethods(ABC):
|
|
|
342
345
|
return self.do_request(api_request=api_request, return_type=get_projects_data_t.Data)
|
|
343
346
|
|
|
344
347
|
|
|
345
|
-
def
|
|
348
|
+
def get_recipe_calculations(
|
|
346
349
|
self,
|
|
347
350
|
*,
|
|
348
351
|
recipe_ids: list[int],
|
|
@@ -360,12 +363,12 @@ class ClientMethods(ABC):
|
|
|
360
363
|
return self.do_request(api_request=api_request, return_type=get_recipe_calculations_t.Data)
|
|
361
364
|
|
|
362
365
|
|
|
363
|
-
def
|
|
366
|
+
def get_recipe_links(
|
|
364
367
|
self,
|
|
365
368
|
*,
|
|
366
369
|
recipe_ids: list[int],
|
|
367
370
|
depth: int = 1,
|
|
368
|
-
link_types: typing.Optional[list[
|
|
371
|
+
link_types: typing.Optional[list[recipe_links_t.RecipeLinkType]],
|
|
369
372
|
) -> get_recipe_links_t.Data:
|
|
370
373
|
args = get_recipe_links_t.Arguments(
|
|
371
374
|
recipe_ids=recipe_ids,
|
|
@@ -380,7 +383,7 @@ class ClientMethods(ABC):
|
|
|
380
383
|
return self.do_request(api_request=api_request, return_type=get_recipe_links_t.Data)
|
|
381
384
|
|
|
382
385
|
|
|
383
|
-
def
|
|
386
|
+
def get_recipe_metadata_data(
|
|
384
387
|
self,
|
|
385
388
|
*,
|
|
386
389
|
material_family_id: int,
|
|
@@ -402,7 +405,7 @@ class ClientMethods(ABC):
|
|
|
402
405
|
return self.do_request(api_request=api_request, return_type=get_recipe_metadata_data_t.Data)
|
|
403
406
|
|
|
404
407
|
|
|
405
|
-
def
|
|
408
|
+
def get_recipe_names(
|
|
406
409
|
self,
|
|
407
410
|
*,
|
|
408
411
|
project_id: int,
|
|
@@ -418,7 +421,7 @@ class ClientMethods(ABC):
|
|
|
418
421
|
return self.do_request(api_request=api_request, return_type=get_recipe_names_t.Data)
|
|
419
422
|
|
|
420
423
|
|
|
421
|
-
def
|
|
424
|
+
def get_recipe_output_metadata(
|
|
422
425
|
self,
|
|
423
426
|
*,
|
|
424
427
|
recipe_output_ids: list[int],
|
|
@@ -434,7 +437,7 @@ class ClientMethods(ABC):
|
|
|
434
437
|
return self.do_request(api_request=api_request, return_type=get_recipe_output_metadata_t.Data)
|
|
435
438
|
|
|
436
439
|
|
|
437
|
-
def
|
|
440
|
+
def get_recipes_data(
|
|
438
441
|
self,
|
|
439
442
|
*,
|
|
440
443
|
recipe_ids: typing.Optional[list[int]],
|
|
@@ -456,7 +459,7 @@ class ClientMethods(ABC):
|
|
|
456
459
|
return self.do_request(api_request=api_request, return_type=get_recipes_data_t.Data)
|
|
457
460
|
|
|
458
461
|
|
|
459
|
-
def
|
|
462
|
+
def list_entities(
|
|
460
463
|
self,
|
|
461
464
|
*,
|
|
462
465
|
entity_type: str,
|
|
@@ -480,7 +483,7 @@ class ClientMethods(ABC):
|
|
|
480
483
|
return self.do_request(api_request=api_request, return_type=list_entities_t.Data)
|
|
481
484
|
|
|
482
485
|
|
|
483
|
-
def
|
|
486
|
+
def resolve_entity_ids(
|
|
484
487
|
self,
|
|
485
488
|
*,
|
|
486
489
|
entity_ids: list[typing.Union[str, int]],
|
|
@@ -498,7 +501,7 @@ class ClientMethods(ABC):
|
|
|
498
501
|
return self.do_request(api_request=api_request, return_type=resolve_entity_ids_t.Data)
|
|
499
502
|
|
|
500
503
|
|
|
501
|
-
def
|
|
504
|
+
def resolve_output_conditions(
|
|
502
505
|
self,
|
|
503
506
|
*,
|
|
504
507
|
requested_conditions: list[resolve_output_conditions_t.ConditionRequest],
|
|
@@ -514,7 +517,7 @@ class ClientMethods(ABC):
|
|
|
514
517
|
return self.do_request(api_request=api_request, return_type=resolve_output_conditions_t.Data)
|
|
515
518
|
|
|
516
519
|
|
|
517
|
-
def
|
|
520
|
+
def set_input_attribute_values(
|
|
518
521
|
self,
|
|
519
522
|
*,
|
|
520
523
|
attribute_values: list[set_input_attribute_values_t.InputAttributeValue],
|
|
@@ -530,7 +533,7 @@ class ClientMethods(ABC):
|
|
|
530
533
|
return self.do_request(api_request=api_request, return_type=set_input_attribute_values_t.Data)
|
|
531
534
|
|
|
532
535
|
|
|
533
|
-
def
|
|
536
|
+
def set_recipe_inputs(
|
|
534
537
|
self,
|
|
535
538
|
*,
|
|
536
539
|
input_data: list[set_recipe_inputs_t.RecipeInputValue],
|
|
@@ -546,7 +549,7 @@ class ClientMethods(ABC):
|
|
|
546
549
|
return self.do_request(api_request=api_request, return_type=set_recipe_inputs_t.Data)
|
|
547
550
|
|
|
548
551
|
|
|
549
|
-
def
|
|
552
|
+
def set_recipe_outputs(
|
|
550
553
|
self,
|
|
551
554
|
*,
|
|
552
555
|
output_data: list[set_recipe_outputs_t.RecipeOutputValue],
|
|
@@ -562,7 +565,7 @@ class ClientMethods(ABC):
|
|
|
562
565
|
return self.do_request(api_request=api_request, return_type=set_recipe_outputs_t.Data)
|
|
563
566
|
|
|
564
567
|
|
|
565
|
-
def
|
|
568
|
+
def set_values(
|
|
566
569
|
self,
|
|
567
570
|
*,
|
|
568
571
|
entity: set_values_t.Entity,
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
+
# flake8: noqa: F821
|
|
3
|
+
# ruff: noqa: E402
|
|
4
|
+
# fmt: off
|
|
5
|
+
# isort: skip_file
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
import typing # noqa: F401
|
|
8
|
+
import datetime # noqa: F401
|
|
9
|
+
from decimal import Decimal # noqa: F401
|
|
10
|
+
from pkgs.strenum_compat import StrEnum
|
|
11
|
+
from dataclasses import dataclass
|
|
12
|
+
from pkgs.serialization import serial_string_enum
|
|
13
|
+
|
|
14
|
+
__all__: list[str] = [
|
|
15
|
+
"Entity",
|
|
16
|
+
"EntityType",
|
|
17
|
+
]
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
21
|
+
@serial_string_enum(
|
|
22
|
+
labels={
|
|
23
|
+
"analytical_method": "Analytical Method",
|
|
24
|
+
"analytical_method_category": "Analytical Method Category",
|
|
25
|
+
"annotation_type": "Annotation Type",
|
|
26
|
+
"approval": "Approval",
|
|
27
|
+
"calculation": "Calculation",
|
|
28
|
+
"calendar": "Calendar",
|
|
29
|
+
"calendar_event": "Calendar Event",
|
|
30
|
+
"certification": "Certification",
|
|
31
|
+
"comment": "Comment",
|
|
32
|
+
"comment_thread": "Comment Thread",
|
|
33
|
+
"condition_parameter": "Condition Parameter",
|
|
34
|
+
"condition_parameter_mat_family": "Condition Parameter Material Family",
|
|
35
|
+
"constraint": "Constraint",
|
|
36
|
+
"constraint_set": "Constraint Set",
|
|
37
|
+
"curve_settings": "Curve Settings",
|
|
38
|
+
"custom_entity": "Custom Entity",
|
|
39
|
+
"doe_run": "Suggest Experiments",
|
|
40
|
+
"entities_viewed": "Entities Viewed",
|
|
41
|
+
"entity_field": "Field",
|
|
42
|
+
"entity_field_audit_log": "Entity Field Audit Log",
|
|
43
|
+
"entity_phase_event": "Entity Phase Event",
|
|
44
|
+
"entity_tag": "Entity Tag",
|
|
45
|
+
"equipment": "Equipment",
|
|
46
|
+
"equipment_type": "Equipment Type",
|
|
47
|
+
"experiment_group": "Experiment Group",
|
|
48
|
+
"experiment_group_type": "Experiment Group Type",
|
|
49
|
+
"favorite_link": "Favorite Link",
|
|
50
|
+
"field_option_set": "Field Option Set",
|
|
51
|
+
"file_folder": "File Folder",
|
|
52
|
+
"file_folder_membership": "File Folder Membership",
|
|
53
|
+
"goal": "Goal",
|
|
54
|
+
"ingredient": "Ingredient",
|
|
55
|
+
"ingredient_attribute": "Ingredient Attribute",
|
|
56
|
+
"ingredient_attribute_category": "Ingredient Attribute Category",
|
|
57
|
+
"ingredient_category": "Ingredient Category",
|
|
58
|
+
"ingredient_category_all": "Ingredient Category",
|
|
59
|
+
"ingredient_lot": "Ingredient Lot",
|
|
60
|
+
"ingredient_role": "Ingredient Role",
|
|
61
|
+
"ingredient_tag": "Ingredient Subcategory",
|
|
62
|
+
"input_group": "Input Group",
|
|
63
|
+
"inv_local_locations": "Inventory Location",
|
|
64
|
+
"inventory_amount": "Inventory Amount",
|
|
65
|
+
"lab_location": "Lab Location",
|
|
66
|
+
"lab_request": "Lab Request",
|
|
67
|
+
"license": "License",
|
|
68
|
+
"maintenance_schedule": "Maintenance Schedule",
|
|
69
|
+
"material_family": "Material Family",
|
|
70
|
+
"ml_job": "Batch Processing Job",
|
|
71
|
+
"naming_scheme": "Naming Scheme",
|
|
72
|
+
"naming_counter": "Naming Counter",
|
|
73
|
+
"notebook": "Notebook",
|
|
74
|
+
"notebook_cell": "Notebook Cell",
|
|
75
|
+
"output": "Output",
|
|
76
|
+
"output_calculation_entity_mapping": "Output Calculation Entity Mapping",
|
|
77
|
+
"output_category_all": "Output Category",
|
|
78
|
+
"output_condition": "Output Condition",
|
|
79
|
+
"output_default_condition": "Output Default Condition",
|
|
80
|
+
"output_condition_parameter": "Output Condition Parameter",
|
|
81
|
+
"output_condition_parameter_analytical_method_category": "Output Condition Parameter Analytical Method Category",
|
|
82
|
+
"output_condition_parameter_analytical_method": "Output Condition Parameter Analytical Method",
|
|
83
|
+
"output_group": "Output Group",
|
|
84
|
+
"recipe_output_metadata": "Recipe Output Metadata",
|
|
85
|
+
"permission": "Permission",
|
|
86
|
+
"phase_workflow": "Phase Workflow",
|
|
87
|
+
"predictive_model": "Predictive Model",
|
|
88
|
+
"product": "Product",
|
|
89
|
+
"project": "Project",
|
|
90
|
+
"recipe": "Experiment",
|
|
91
|
+
"recipe_calculation": "Recipe Calculation",
|
|
92
|
+
"recipe_permission_view": "Recipe Permission View",
|
|
93
|
+
"recipe_project": "Recipe Project",
|
|
94
|
+
"recipe_check": "Experiment Check",
|
|
95
|
+
"recipe_export": "Recipe Export",
|
|
96
|
+
"recipe_ingredients_compounded": "Recipe Ingredients Compounded",
|
|
97
|
+
"recipe_ingredients_compounded_calculation": "Recipe Ingredients Compounded Caclulation",
|
|
98
|
+
"recipe_step": "Recipe Step",
|
|
99
|
+
"recipe_tag": "Recipe Tag",
|
|
100
|
+
"recipe_metadata": "Experiment Metadata",
|
|
101
|
+
"review": "Review",
|
|
102
|
+
"review_entity_user_status": "Review Entity User Status",
|
|
103
|
+
"review_user": "Review User",
|
|
104
|
+
"rlw_phase": "Phase",
|
|
105
|
+
"rlw_trigger_set": "Trigger Set",
|
|
106
|
+
"safety_data_sheet": "Safety Data Sheet",
|
|
107
|
+
"scheduled_notification": "Scheduled Notification",
|
|
108
|
+
"specs": "Spec",
|
|
109
|
+
"split_template": "Split Template",
|
|
110
|
+
"structured_loading_user_config": "List Config",
|
|
111
|
+
"task": "Task",
|
|
112
|
+
"task_board": "Task Board",
|
|
113
|
+
"template": "Template",
|
|
114
|
+
"timesheet_entry": "Timesheet Entry",
|
|
115
|
+
"training_run": "Analyze Experiment",
|
|
116
|
+
"training_set": "Training Set",
|
|
117
|
+
"units": "Units",
|
|
118
|
+
"user_favorite": "User Favorite",
|
|
119
|
+
"user": "User",
|
|
120
|
+
"user_certification": "User Certification",
|
|
121
|
+
"user_group": "User Group",
|
|
122
|
+
"user_list_set": "User List Set",
|
|
123
|
+
"webhook": "Webhook",
|
|
124
|
+
"webhook_event": "Webhook Event",
|
|
125
|
+
"workflow": "Workflow",
|
|
126
|
+
"workflow_step": "Workflow Step",
|
|
127
|
+
"workflow_variant": "Workflow Variant",
|
|
128
|
+
"platform_notification": "Platform Notification",
|
|
129
|
+
"inventory_location_type": "Inventory Location Type",
|
|
130
|
+
"entity_definition": "Entity Definition",
|
|
131
|
+
"phase_transition": "Phase Transition",
|
|
132
|
+
"public_data_entity_link": "Public Data Entity Link",
|
|
133
|
+
"public_data_sourced_output": "ChemQuery Property",
|
|
134
|
+
"public_data_sourced_project": "ChemQuery Category",
|
|
135
|
+
"public_data_sourced_recipe": "ChemQuery Product",
|
|
136
|
+
"public_data_sourced_recipe_project": "ChemQuery Product Category",
|
|
137
|
+
"public_data_sourced_recipe_metadata": "ChemQuery Product Information",
|
|
138
|
+
"public_data_sourced_units": "ChemQuery Units",
|
|
139
|
+
"public_data_sourced_condition_parameter": "ChemQuery Condition Parameter",
|
|
140
|
+
"public_data_sourced_company": "ChemQuery Company",
|
|
141
|
+
"uploader": "Uploader",
|
|
142
|
+
},
|
|
143
|
+
)
|
|
144
|
+
class EntityType(StrEnum):
|
|
145
|
+
ANALYTICAL_METHOD = "analytical_method"
|
|
146
|
+
ANALYTICAL_METHOD_CATEGORY = "analytical_method_category"
|
|
147
|
+
ANNOTATION_TYPE = "annotation_type"
|
|
148
|
+
APPROVAL = "approval"
|
|
149
|
+
CALCULATION = "calculation"
|
|
150
|
+
CALENDAR = "calendar"
|
|
151
|
+
CALENDAR_EVENT = "calendar_event"
|
|
152
|
+
CERTIFICATION = "certification"
|
|
153
|
+
COMMENT = "comment"
|
|
154
|
+
COMMENT_THREAD = "comment_thread"
|
|
155
|
+
CONDITION_PARAMETER = "condition_parameter"
|
|
156
|
+
CONDITION_PARAMETER_MAT_FAMILY = "condition_parameter_mat_family"
|
|
157
|
+
CONSTRAINT = "constraint"
|
|
158
|
+
CONSTRAINT_SET = "constraint_set"
|
|
159
|
+
CURVE_SETTINGS = "curve_settings"
|
|
160
|
+
CUSTOM_ENTITY = "custom_entity"
|
|
161
|
+
DOE_RUN = "doe_run"
|
|
162
|
+
ENTITIES_VIEWED = "entities_viewed"
|
|
163
|
+
ENTITY_FIELD = "entity_field"
|
|
164
|
+
ENTITY_FIELD_AUDIT_LOG = "entity_field_audit_log"
|
|
165
|
+
ENTITY_PHASE_EVENT = "entity_phase_event"
|
|
166
|
+
ENTITY_TAG = "entity_tag"
|
|
167
|
+
EQUIPMENT = "equipment"
|
|
168
|
+
EQUIPMENT_TYPE = "equipment_type"
|
|
169
|
+
EXPERIMENT_GROUP = "experiment_group"
|
|
170
|
+
EXPERIMENT_GROUP_TYPE = "experiment_group_type"
|
|
171
|
+
FAVORITE_LINK = "favorite_link"
|
|
172
|
+
FIELD_OPTION_SET = "field_option_set"
|
|
173
|
+
FILE_FOLDER = "file_folder"
|
|
174
|
+
FILE_FOLDER_MEMBERSHIP = "file_folder_membership"
|
|
175
|
+
GOAL = "goal"
|
|
176
|
+
INGREDIENT = "ingredient"
|
|
177
|
+
INGREDIENT_ATTRIBUTE = "ingredient_attribute"
|
|
178
|
+
INGREDIENT_ATTRIBUTE_CATEGORY = "ingredient_attribute_category"
|
|
179
|
+
INGREDIENT_CATEGORY = "ingredient_category"
|
|
180
|
+
INGREDIENT_CATEGORY_ALL = "ingredient_category_all"
|
|
181
|
+
INGREDIENT_LOT = "ingredient_lot"
|
|
182
|
+
INGREDIENT_ROLE = "ingredient_role"
|
|
183
|
+
INGREDIENT_TAG = "ingredient_tag"
|
|
184
|
+
INPUT_GROUP = "input_group"
|
|
185
|
+
INV_LOCAL_LOCATIONS = "inv_local_locations"
|
|
186
|
+
INVENTORY_AMOUNT = "inventory_amount"
|
|
187
|
+
LAB_LOCATION = "lab_location"
|
|
188
|
+
LAB_REQUEST = "lab_request"
|
|
189
|
+
LICENSE = "license"
|
|
190
|
+
MAINTENANCE_SCHEDULE = "maintenance_schedule"
|
|
191
|
+
MATERIAL_FAMILY = "material_family"
|
|
192
|
+
ML_JOB = "ml_job"
|
|
193
|
+
NAMING_SCHEME = "naming_scheme"
|
|
194
|
+
NAMING_COUNTER = "naming_counter"
|
|
195
|
+
NOTEBOOK = "notebook"
|
|
196
|
+
NOTEBOOK_CELL = "notebook_cell"
|
|
197
|
+
OUTPUT = "output"
|
|
198
|
+
OUTPUT_CALCULATION_ENTITY_MAPPING = "output_calculation_entity_mapping"
|
|
199
|
+
OUTPUT_CATEGORY_ALL = "output_category_all"
|
|
200
|
+
OUTPUT_CONDITION = "output_condition"
|
|
201
|
+
OUTPUT_DEFAULT_CONDITION = "output_default_condition"
|
|
202
|
+
OUTPUT_CONDITION_PARAMETER = "output_condition_parameter"
|
|
203
|
+
OUTPUT_CONDITION_PARAMETER_ANALYTICAL_METHOD_CATEGORY = "output_condition_parameter_analytical_method_category"
|
|
204
|
+
OUTPUT_CONDITION_PARAMETER_ANALYTICAL_METHOD = "output_condition_parameter_analytical_method"
|
|
205
|
+
OUTPUT_GROUP = "output_group"
|
|
206
|
+
RECIPE_OUTPUT_METADATA = "recipe_output_metadata"
|
|
207
|
+
PERMISSION = "permission"
|
|
208
|
+
PHASE_WORKFLOW = "phase_workflow"
|
|
209
|
+
PREDICTIVE_MODEL = "predictive_model"
|
|
210
|
+
PRODUCT = "product"
|
|
211
|
+
PROJECT = "project"
|
|
212
|
+
RECIPE = "recipe"
|
|
213
|
+
RECIPE_CALCULATION = "recipe_calculation"
|
|
214
|
+
RECIPE_PERMISSION_VIEW = "recipe_permission_view"
|
|
215
|
+
RECIPE_PROJECT = "recipe_project"
|
|
216
|
+
RECIPE_CHECK = "recipe_check"
|
|
217
|
+
RECIPE_EXPORT = "recipe_export"
|
|
218
|
+
RECIPE_INGREDIENTS_COMPOUNDED = "recipe_ingredients_compounded"
|
|
219
|
+
RECIPE_INGREDIENTS_COMPOUNDED_CALCULATION = "recipe_ingredients_compounded_calculation"
|
|
220
|
+
RECIPE_STEP = "recipe_step"
|
|
221
|
+
RECIPE_TAG = "recipe_tag"
|
|
222
|
+
RECIPE_METADATA = "recipe_metadata"
|
|
223
|
+
REVIEW = "review"
|
|
224
|
+
REVIEW_ENTITY_USER_STATUS = "review_entity_user_status"
|
|
225
|
+
REVIEW_USER = "review_user"
|
|
226
|
+
RLW_PHASE = "rlw_phase"
|
|
227
|
+
RLW_TRIGGER_SET = "rlw_trigger_set"
|
|
228
|
+
SAFETY_DATA_SHEET = "safety_data_sheet"
|
|
229
|
+
SCHEDULED_NOTIFICATION = "scheduled_notification"
|
|
230
|
+
SPECS = "specs"
|
|
231
|
+
SPLIT_TEMPLATE = "split_template"
|
|
232
|
+
STRUCTURED_LOADING_USER_CONFIG = "structured_loading_user_config"
|
|
233
|
+
TASK = "task"
|
|
234
|
+
TASK_BOARD = "task_board"
|
|
235
|
+
TEMPLATE = "template"
|
|
236
|
+
TIMESHEET_ENTRY = "timesheet_entry"
|
|
237
|
+
TRAINING_RUN = "training_run"
|
|
238
|
+
TRAINING_SET = "training_set"
|
|
239
|
+
UNITS = "units"
|
|
240
|
+
USER_FAVORITE = "user_favorite"
|
|
241
|
+
USER = "user"
|
|
242
|
+
USER_CERTIFICATION = "user_certification"
|
|
243
|
+
USER_GROUP = "user_group"
|
|
244
|
+
USER_LIST_SET = "user_list_set"
|
|
245
|
+
WEBHOOK = "webhook"
|
|
246
|
+
WEBHOOK_EVENT = "webhook_event"
|
|
247
|
+
WORKFLOW = "workflow"
|
|
248
|
+
WORKFLOW_STEP = "workflow_step"
|
|
249
|
+
WORKFLOW_VARIANT = "workflow_variant"
|
|
250
|
+
PLATFORM_NOTIFICATION = "platform_notification"
|
|
251
|
+
INVENTORY_LOCATION_TYPE = "inventory_location_type"
|
|
252
|
+
ENTITY_DEFINITION = "entity_definition"
|
|
253
|
+
PHASE_TRANSITION = "phase_transition"
|
|
254
|
+
PUBLIC_DATA_ENTITY_LINK = "public_data_entity_link"
|
|
255
|
+
PUBLIC_DATA_SOURCED_OUTPUT = "public_data_sourced_output"
|
|
256
|
+
PUBLIC_DATA_SOURCED_PROJECT = "public_data_sourced_project"
|
|
257
|
+
PUBLIC_DATA_SOURCED_RECIPE = "public_data_sourced_recipe"
|
|
258
|
+
PUBLIC_DATA_SOURCED_RECIPE_PROJECT = "public_data_sourced_recipe_project"
|
|
259
|
+
PUBLIC_DATA_SOURCED_RECIPE_METADATA = "public_data_sourced_recipe_metadata"
|
|
260
|
+
PUBLIC_DATA_SOURCED_UNITS = "public_data_sourced_units"
|
|
261
|
+
PUBLIC_DATA_SOURCED_CONDITION_PARAMETER = "public_data_sourced_condition_parameter"
|
|
262
|
+
PUBLIC_DATA_SOURCED_COMPANY = "public_data_sourced_company"
|
|
263
|
+
UPLOADER = "uploader"
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
267
|
+
@dataclass(kw_only=True)
|
|
268
|
+
class Entity:
|
|
269
|
+
id: int
|
|
270
|
+
type: EntityType
|
|
271
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
+
# flake8: noqa: F821
|
|
3
|
+
# ruff: noqa: E402
|
|
4
|
+
# fmt: off
|
|
5
|
+
# isort: skip_file
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
import typing # noqa: F401
|
|
8
|
+
import datetime # noqa: F401
|
|
9
|
+
from decimal import Decimal # noqa: F401
|
|
10
|
+
from dataclasses import dataclass
|
|
11
|
+
from pkgs.serialization import serial_class
|
|
12
|
+
from . import base as base_t
|
|
13
|
+
|
|
14
|
+
__all__: list[str] = [
|
|
15
|
+
"FieldRefNameValue",
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
20
|
+
@serial_class(
|
|
21
|
+
unconverted_values={"value"},
|
|
22
|
+
)
|
|
23
|
+
@dataclass(kw_only=True)
|
|
24
|
+
class FieldRefNameValue:
|
|
25
|
+
field_ref_name: str
|
|
26
|
+
value: base_t.JsonValue
|
|
27
|
+
row_index: typing.Optional[typing.Optional[int]] = None
|
|
28
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
+
# flake8: noqa: F821
|
|
3
|
+
# ruff: noqa: E402
|
|
4
|
+
# fmt: off
|
|
5
|
+
# isort: skip_file
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
import typing # noqa: F401
|
|
8
|
+
import datetime # noqa: F401
|
|
9
|
+
from decimal import Decimal # noqa: F401
|
|
10
|
+
from pkgs.strenum_compat import StrEnum
|
|
11
|
+
from dataclasses import dataclass
|
|
12
|
+
from pkgs.serialization import serial_string_enum
|
|
13
|
+
|
|
14
|
+
__all__: list[str] = [
|
|
15
|
+
"RecipeLink",
|
|
16
|
+
"RecipeLinkType",
|
|
17
|
+
]
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
21
|
+
@serial_string_enum(
|
|
22
|
+
labels={
|
|
23
|
+
"user_link": "Manual Link",
|
|
24
|
+
"child": "Test Sample",
|
|
25
|
+
"self": "Self Link",
|
|
26
|
+
"recipe_as_output": "Analytical Sample",
|
|
27
|
+
"control": "Control Link",
|
|
28
|
+
"intermediate_recipe": "Used as Component Link",
|
|
29
|
+
"previous_experiment": "Previous Sample",
|
|
30
|
+
},
|
|
31
|
+
)
|
|
32
|
+
class RecipeLinkType(StrEnum):
|
|
33
|
+
USER_LINK = "user_link"
|
|
34
|
+
CHILD = "child"
|
|
35
|
+
SELF = "self"
|
|
36
|
+
RECIPE_AS_OUTPUT = "recipe_as_output"
|
|
37
|
+
CONTROL = "control"
|
|
38
|
+
INTERMEDIATE_RECIPE = "intermediate_recipe"
|
|
39
|
+
PREVIOUS_EXPERIMENT = "previous_experiment"
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
43
|
+
@dataclass(kw_only=True, frozen=True, eq=True)
|
|
44
|
+
class RecipeLink:
|
|
45
|
+
recipe_id_from: int
|
|
46
|
+
recipe_id_to: int
|
|
47
|
+
link_type: str
|
|
48
|
+
name: str
|
|
49
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
File without changes
|