UncountablePythonSDK 0.0.38__py3-none-any.whl → 0.0.40__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.

Files changed (129) hide show
  1. {UncountablePythonSDK-0.0.38.dist-info → UncountablePythonSDK-0.0.40.dist-info}/METADATA +1 -1
  2. UncountablePythonSDK-0.0.40.dist-info/RECORD +222 -0
  3. {UncountablePythonSDK-0.0.38.dist-info → UncountablePythonSDK-0.0.40.dist-info}/WHEEL +1 -1
  4. pkgs/type_spec/emit_python.py +43 -8
  5. pkgs/type_spec/type_info/emit_type_info.py +1 -1
  6. uncountable/core/client.py +1 -1
  7. uncountable/types/__init__.py +32 -30
  8. uncountable/types/api/batch/execute_batch.py +2 -2
  9. uncountable/types/api/batch/execute_batch_load_async.py +3 -3
  10. uncountable/types/api/chemical/convert_chemical_formats.py +2 -2
  11. uncountable/types/api/entity/create_entities.py +4 -4
  12. uncountable/types/api/entity/create_entity.py +4 -4
  13. uncountable/types/api/entity/get_entities_data.py +4 -4
  14. uncountable/types/api/entity/list_entities.py +3 -3
  15. uncountable/types/api/entity/lock_entity.py +4 -4
  16. uncountable/types/api/entity/resolve_entity_ids.py +3 -3
  17. uncountable/types/api/entity/set_values.py +4 -4
  18. uncountable/types/api/entity/transition_entity_phase.py +4 -4
  19. uncountable/types/api/entity/unlock_entity.py +4 -4
  20. uncountable/types/api/equipment/__init__.py +1 -0
  21. uncountable/types/api/equipment/associate_equipment_input.py +37 -0
  22. uncountable/types/api/field_options/upsert_field_options.py +2 -2
  23. uncountable/types/api/id_source/list_id_source.py +3 -3
  24. uncountable/types/api/id_source/match_id_source.py +3 -3
  25. uncountable/types/api/input_groups/get_input_group_names.py +2 -2
  26. uncountable/types/api/inputs/create_inputs.py +4 -4
  27. uncountable/types/api/inputs/get_input_data.py +3 -3
  28. uncountable/types/api/inputs/get_input_names.py +2 -2
  29. uncountable/types/api/inputs/get_inputs_data.py +3 -3
  30. uncountable/types/api/inputs/set_input_attribute_values.py +3 -3
  31. uncountable/types/api/inputs/set_input_category.py +3 -3
  32. uncountable/types/api/inputs/set_input_subcategories.py +4 -4
  33. uncountable/types/api/inputs/set_intermediate_type.py +2 -2
  34. uncountable/types/api/material_families/update_entity_material_families.py +6 -6
  35. uncountable/types/api/outputs/get_output_data.py +3 -3
  36. uncountable/types/api/outputs/get_output_names.py +2 -2
  37. uncountable/types/api/outputs/resolve_output_conditions.py +2 -2
  38. uncountable/types/api/permissions/set_core_permissions.py +4 -4
  39. uncountable/types/api/project/get_projects.py +3 -3
  40. uncountable/types/api/project/get_projects_data.py +5 -5
  41. uncountable/types/api/recipe_links/create_recipe_link.py +4 -4
  42. uncountable/types/api/recipe_links/remove_recipe_link.py +4 -4
  43. uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +2 -2
  44. uncountable/types/api/recipes/add_recipe_to_project.py +2 -2
  45. uncountable/types/api/recipes/archive_recipes.py +2 -2
  46. uncountable/types/api/recipes/associate_recipe_as_input.py +3 -3
  47. uncountable/types/api/recipes/associate_recipe_as_lot.py +3 -3
  48. uncountable/types/api/recipes/create_recipe.py +5 -5
  49. uncountable/types/api/recipes/create_recipes.py +3 -3
  50. uncountable/types/api/recipes/disassociate_recipe_as_input.py +3 -3
  51. uncountable/types/api/recipes/edit_recipe_inputs.py +4 -4
  52. uncountable/types/api/recipes/get_curve.py +3 -3
  53. uncountable/types/api/recipes/get_recipe_calculations.py +3 -3
  54. uncountable/types/api/recipes/get_recipe_links.py +3 -3
  55. uncountable/types/api/recipes/get_recipe_names.py +2 -2
  56. uncountable/types/api/recipes/get_recipe_output_metadata.py +3 -3
  57. uncountable/types/api/recipes/get_recipes_data.py +8 -8
  58. uncountable/types/api/recipes/lock_recipes.py +2 -2
  59. uncountable/types/api/recipes/remove_recipe_from_project.py +2 -2
  60. uncountable/types/api/recipes/set_recipe_inputs.py +2 -2
  61. uncountable/types/api/recipes/set_recipe_metadata.py +3 -3
  62. uncountable/types/api/recipes/set_recipe_output_annotations.py +3 -3
  63. uncountable/types/api/recipes/set_recipe_outputs.py +4 -4
  64. uncountable/types/api/recipes/set_recipe_tags.py +3 -3
  65. uncountable/types/api/recipes/unarchive_recipes.py +2 -2
  66. uncountable/types/api/recipes/unlock_recipes.py +2 -2
  67. uncountable/types/api/triggers/run_trigger.py +3 -3
  68. uncountable/types/async_batch.py +6 -53
  69. uncountable/types/async_batch_processor.py +43 -7
  70. uncountable/types/async_batch_t.py +59 -0
  71. uncountable/types/base.py +5 -79
  72. uncountable/types/base_t.py +85 -0
  73. uncountable/types/calculations.py +3 -18
  74. uncountable/types/calculations_t.py +23 -0
  75. uncountable/types/chemical_structure.py +3 -22
  76. uncountable/types/chemical_structure_t.py +27 -0
  77. uncountable/types/client_base.py +36 -13
  78. uncountable/types/curves.py +5 -42
  79. uncountable/types/curves_t.py +47 -0
  80. uncountable/types/entity.py +4 -269
  81. uncountable/types/entity_t.py +274 -0
  82. uncountable/types/experiment_groups.py +3 -18
  83. uncountable/types/experiment_groups_t.py +23 -0
  84. uncountable/types/field_values.py +6 -60
  85. uncountable/types/field_values_t.py +65 -0
  86. uncountable/types/fields.py +3 -19
  87. uncountable/types/fields_t.py +24 -0
  88. uncountable/types/id_source.py +7 -44
  89. uncountable/types/id_source_t.py +49 -0
  90. uncountable/types/identifier.py +6 -49
  91. uncountable/types/identifier_t.py +54 -0
  92. uncountable/types/input_attributes.py +3 -24
  93. uncountable/types/input_attributes_t.py +29 -0
  94. uncountable/types/inputs.py +5 -57
  95. uncountable/types/inputs_t.py +62 -0
  96. uncountable/types/outputs.py +3 -21
  97. uncountable/types/outputs_t.py +26 -0
  98. uncountable/types/permissions.py +3 -41
  99. uncountable/types/permissions_t.py +46 -0
  100. uncountable/types/phases.py +3 -18
  101. uncountable/types/phases_t.py +23 -0
  102. uncountable/types/post_base.py +3 -25
  103. uncountable/types/post_base_t.py +30 -0
  104. uncountable/types/recipe_identifiers.py +7 -57
  105. uncountable/types/recipe_identifiers_t.py +62 -0
  106. uncountable/types/recipe_inputs.py +4 -25
  107. uncountable/types/recipe_inputs_t.py +30 -0
  108. uncountable/types/recipe_links.py +4 -45
  109. uncountable/types/recipe_links_t.py +50 -0
  110. uncountable/types/recipe_metadata.py +5 -47
  111. uncountable/types/recipe_metadata_t.py +52 -0
  112. uncountable/types/recipe_output_metadata.py +3 -19
  113. uncountable/types/recipe_output_metadata_t.py +24 -0
  114. uncountable/types/recipe_tags.py +3 -18
  115. uncountable/types/recipe_tags_t.py +23 -0
  116. uncountable/types/recipe_workflow_steps.py +9 -83
  117. uncountable/types/recipe_workflow_steps_t.py +88 -0
  118. uncountable/types/recipes.py +3 -16
  119. uncountable/types/recipes_t.py +21 -0
  120. uncountable/types/response.py +3 -20
  121. uncountable/types/response_t.py +25 -0
  122. uncountable/types/units.py +3 -18
  123. uncountable/types/units_t.py +23 -0
  124. uncountable/types/users.py +3 -19
  125. uncountable/types/users_t.py +24 -0
  126. uncountable/types/workflows.py +4 -27
  127. uncountable/types/workflows_t.py +32 -0
  128. UncountablePythonSDK-0.0.38.dist-info/RECORD +0 -191
  129. {UncountablePythonSDK-0.0.38.dist-info → UncountablePythonSDK-0.0.40.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,54 @@
1
+ # DO NOT MODIFY -- This file is generated by type_spec
2
+ # flake8: noqa: F821
3
+ # ruff: noqa: E402 Q003
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_t
13
+
14
+ __all__: list[str] = [
15
+ "IdentifierKey",
16
+ "IdentifierKeyBatchReference",
17
+ "IdentifierKeyId",
18
+ "IdentifierKeyRefName",
19
+ ]
20
+
21
+
22
+ # DO NOT MODIFY -- This file is generated by type_spec
23
+ @serial_class(
24
+ parse_require={"type"},
25
+ )
26
+ @dataclass(kw_only=True, frozen=True, eq=True)
27
+ class IdentifierKeyId:
28
+ type: typing.Literal["id"] = "id"
29
+ id: base_t.ObjectId
30
+
31
+
32
+ # DO NOT MODIFY -- This file is generated by type_spec
33
+ @serial_class(
34
+ parse_require={"type"},
35
+ )
36
+ @dataclass(kw_only=True, frozen=True, eq=True)
37
+ class IdentifierKeyRefName:
38
+ type: typing.Literal["ref_name"] = "ref_name"
39
+ ref_name: str
40
+
41
+
42
+ # DO NOT MODIFY -- This file is generated by type_spec
43
+ @serial_class(
44
+ parse_require={"type"},
45
+ )
46
+ @dataclass(kw_only=True, frozen=True, eq=True)
47
+ class IdentifierKeyBatchReference:
48
+ type: typing.Literal["batch_reference"] = "batch_reference"
49
+ reference: str
50
+
51
+
52
+ # DO NOT MODIFY -- This file is generated by type_spec
53
+ IdentifierKey = typing.Union[IdentifierKeyId, IdentifierKeyBatchReference, IdentifierKeyRefName]
54
+ # DO NOT MODIFY -- This file is generated by type_spec
@@ -1,29 +1,8 @@
1
- # DO NOT MODIFY -- This file is generated by type_spec
2
1
  # flake8: noqa: F821
3
- # ruff: noqa: E402
2
+ # ruff: noqa: E402 Q003
4
3
  # fmt: off
5
4
  # 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
- "InputAttributeValue",
16
- ]
17
-
18
-
19
5
  # DO NOT MODIFY -- This file is generated by type_spec
20
- @serial_class(
21
- unconverted_values={"quantity_json"},
22
- to_string_values={"quantity_dec"},
23
- )
24
- @dataclass(kw_only=True)
25
- class InputAttributeValue:
26
- attribute_id: base_t.ObjectId
27
- quantity_dec: typing.Optional[Decimal] = None
28
- quantity_json: typing.Optional[base_t.JsonValue] = None
6
+ # Kept only for SDK backwards compatibility
7
+ from .input_attributes_t import InputAttributeValue as InputAttributeValue
29
8
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -0,0 +1,29 @@
1
+ # DO NOT MODIFY -- This file is generated by type_spec
2
+ # flake8: noqa: F821
3
+ # ruff: noqa: E402 Q003
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_t
13
+
14
+ __all__: list[str] = [
15
+ "InputAttributeValue",
16
+ ]
17
+
18
+
19
+ # DO NOT MODIFY -- This file is generated by type_spec
20
+ @serial_class(
21
+ unconverted_values={"quantity_json"},
22
+ to_string_values={"quantity_dec"},
23
+ )
24
+ @dataclass(kw_only=True)
25
+ class InputAttributeValue:
26
+ attribute_id: base_t.ObjectId
27
+ quantity_dec: typing.Optional[Decimal] = None
28
+ quantity_json: typing.Optional[base_t.JsonValue] = None
29
+ # DO NOT MODIFY -- This file is generated by type_spec
@@ -1,62 +1,10 @@
1
- # DO NOT MODIFY -- This file is generated by type_spec
2
1
  # flake8: noqa: F821
3
- # ruff: noqa: E402
2
+ # ruff: noqa: E402 Q003
4
3
  # fmt: off
5
4
  # 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
- from . import base as base_t
14
-
15
- __all__: list[str] = [
16
- "IngredientQuantityType",
17
- "IngredientType",
18
- "SimpleInput",
19
- ]
20
-
21
-
22
- # DO NOT MODIFY -- This file is generated by type_spec
23
- @serial_string_enum(
24
- labels={
25
- "numeric": "Numeric",
26
- "recipe": "Experiment Component",
27
- "date": "Date",
28
- "categorical": "Categorical",
29
- "timestamp": "Timestamp",
30
- "text": "Text",
31
- "curve": "Curve",
32
- "files": "Attachments",
33
- },
34
- )
35
- class IngredientQuantityType(StrEnum):
36
- NUMERIC = "numeric"
37
- RECIPE = "recipe"
38
- DATE = "date"
39
- CATEGORICAL = "categorical"
40
- TIMESTAMP = "timestamp"
41
- TEXT = "text"
42
- CURVE = "curve"
43
- FILES = "files"
44
-
45
-
46
- # DO NOT MODIFY -- This file is generated by type_spec
47
- class IngredientType(StrEnum):
48
- INGREDIENT = "ingredient"
49
- PROCESS_PARAMETER = "process_parameter"
50
- EQUIPMENT = "equipment"
51
-
52
-
53
5
  # DO NOT MODIFY -- This file is generated by type_spec
54
- @dataclass(kw_only=True)
55
- class SimpleInput:
56
- input_id: base_t.ObjectId
57
- quantity_type: IngredientQuantityType
58
- name: str
59
- is_parameter: bool
60
- intermediate_recipe_id: typing.Optional[base_t.ObjectId]
61
- input_type: str
6
+ # Kept only for SDK backwards compatibility
7
+ from .inputs_t import IngredientQuantityType as IngredientQuantityType
8
+ from .inputs_t import IngredientType as IngredientType
9
+ from .inputs_t import SimpleInput as SimpleInput
62
10
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -0,0 +1,62 @@
1
+ # DO NOT MODIFY -- This file is generated by type_spec
2
+ # flake8: noqa: F821
3
+ # ruff: noqa: E402 Q003
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
+ from . import base_t
14
+
15
+ __all__: list[str] = [
16
+ "IngredientQuantityType",
17
+ "IngredientType",
18
+ "SimpleInput",
19
+ ]
20
+
21
+
22
+ # DO NOT MODIFY -- This file is generated by type_spec
23
+ @serial_string_enum(
24
+ labels={
25
+ "numeric": "Numeric",
26
+ "recipe": "Experiment Component",
27
+ "date": "Date",
28
+ "categorical": "Categorical",
29
+ "timestamp": "Timestamp",
30
+ "text": "Text",
31
+ "curve": "Curve",
32
+ "files": "Attachments",
33
+ },
34
+ )
35
+ class IngredientQuantityType(StrEnum):
36
+ NUMERIC = "numeric"
37
+ RECIPE = "recipe"
38
+ DATE = "date"
39
+ CATEGORICAL = "categorical"
40
+ TIMESTAMP = "timestamp"
41
+ TEXT = "text"
42
+ CURVE = "curve"
43
+ FILES = "files"
44
+
45
+
46
+ # DO NOT MODIFY -- This file is generated by type_spec
47
+ class IngredientType(StrEnum):
48
+ INGREDIENT = "ingredient"
49
+ PROCESS_PARAMETER = "process_parameter"
50
+ EQUIPMENT = "equipment"
51
+
52
+
53
+ # DO NOT MODIFY -- This file is generated by type_spec
54
+ @dataclass(kw_only=True)
55
+ class SimpleInput:
56
+ input_id: base_t.ObjectId
57
+ quantity_type: IngredientQuantityType
58
+ name: str
59
+ is_parameter: bool
60
+ intermediate_recipe_id: typing.Optional[base_t.ObjectId]
61
+ input_type: str
62
+ # DO NOT MODIFY -- This file is generated by type_spec
@@ -1,26 +1,8 @@
1
- # DO NOT MODIFY -- This file is generated by type_spec
2
1
  # flake8: noqa: F821
3
- # ruff: noqa: E402
2
+ # ruff: noqa: E402 Q003
4
3
  # fmt: off
5
4
  # 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 . import base as base_t
12
- from . import units as units_t
13
-
14
- __all__: list[str] = [
15
- "SimpleOutput",
16
- ]
17
-
18
-
19
5
  # DO NOT MODIFY -- This file is generated by type_spec
20
- @dataclass(kw_only=True)
21
- class SimpleOutput:
22
- output_id: base_t.ObjectId
23
- name: str
24
- unit: typing.Optional[units_t.SimpleUnit]
25
- quantity_type: str
6
+ # Kept only for SDK backwards compatibility
7
+ from .outputs_t import SimpleOutput as SimpleOutput
26
8
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -0,0 +1,26 @@
1
+ # DO NOT MODIFY -- This file is generated by type_spec
2
+ # flake8: noqa: F821
3
+ # ruff: noqa: E402 Q003
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 . import base_t
12
+ from . import units_t
13
+
14
+ __all__: list[str] = [
15
+ "SimpleOutput",
16
+ ]
17
+
18
+
19
+ # DO NOT MODIFY -- This file is generated by type_spec
20
+ @dataclass(kw_only=True)
21
+ class SimpleOutput:
22
+ output_id: base_t.ObjectId
23
+ name: str
24
+ unit: typing.Optional[units_t.SimpleUnit]
25
+ quantity_type: str
26
+ # DO NOT MODIFY -- This file is generated by type_spec
@@ -1,46 +1,8 @@
1
- # DO NOT MODIFY -- This file is generated by type_spec
2
1
  # flake8: noqa: F821
3
- # ruff: noqa: E402
2
+ # ruff: noqa: E402 Q003
4
3
  # fmt: off
5
4
  # 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 pkgs.serialization import serial_string_enum
12
-
13
- __all__: list[str] = [
14
- "CorePermissionType",
15
- ]
16
-
17
-
18
5
  # DO NOT MODIFY -- This file is generated by type_spec
19
- @serial_string_enum(
20
- labels={
21
- "admin_rights": "Admin Rights",
22
- "read_ingredients": "View Ingredients",
23
- "read_recipe_all": "View Entire Recipe",
24
- "read_recipe_outputs": "View Recipe Outputs",
25
- "view_material_family": "View Material Family",
26
- "write_ingredients": "Modify Ingredients",
27
- "write_outputs": "Modify Outputs",
28
- "write_recipe_all": "Modify Entire Recipe",
29
- "write_recipe_ingredients": "Modify Recipe Inputs",
30
- "write_recipe_outputs": "Modify Recipe Outputs",
31
- "add_recipe": "Create Experiments",
32
- },
33
- )
34
- class CorePermissionType(StrEnum):
35
- ADMIN_RIGHTS = "admin_rights"
36
- READ_INGREDIENTS = "read_ingredients"
37
- READ_RECIPE_ALL = "read_recipe_all"
38
- READ_RECIPE_OUTPUTS = "read_recipe_outputs"
39
- VIEW_MATERIAL_FAMILY = "view_material_family"
40
- WRITE_INGREDIENTS = "write_ingredients"
41
- WRITE_OUTPUTS = "write_outputs"
42
- WRITE_RECIPE_ALL = "write_recipe_all"
43
- WRITE_RECIPE_INGREDIENTS = "write_recipe_ingredients"
44
- WRITE_RECIPE_OUTPUTS = "write_recipe_outputs"
45
- ADD_RECIPE = "add_recipe"
6
+ # Kept only for SDK backwards compatibility
7
+ from .permissions_t import CorePermissionType as CorePermissionType
46
8
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -0,0 +1,46 @@
1
+ # DO NOT MODIFY -- This file is generated by type_spec
2
+ # flake8: noqa: F821
3
+ # ruff: noqa: E402 Q003
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 pkgs.serialization import serial_string_enum
12
+
13
+ __all__: list[str] = [
14
+ "CorePermissionType",
15
+ ]
16
+
17
+
18
+ # DO NOT MODIFY -- This file is generated by type_spec
19
+ @serial_string_enum(
20
+ labels={
21
+ "admin_rights": "Admin Rights",
22
+ "read_ingredients": "View Ingredients",
23
+ "read_recipe_all": "View Entire Recipe",
24
+ "read_recipe_outputs": "View Recipe Outputs",
25
+ "view_material_family": "View Material Family",
26
+ "write_ingredients": "Modify Ingredients",
27
+ "write_outputs": "Modify Outputs",
28
+ "write_recipe_all": "Modify Entire Recipe",
29
+ "write_recipe_ingredients": "Modify Recipe Inputs",
30
+ "write_recipe_outputs": "Modify Recipe Outputs",
31
+ "add_recipe": "Create Experiments",
32
+ },
33
+ )
34
+ class CorePermissionType(StrEnum):
35
+ ADMIN_RIGHTS = "admin_rights"
36
+ READ_INGREDIENTS = "read_ingredients"
37
+ READ_RECIPE_ALL = "read_recipe_all"
38
+ READ_RECIPE_OUTPUTS = "read_recipe_outputs"
39
+ VIEW_MATERIAL_FAMILY = "view_material_family"
40
+ WRITE_INGREDIENTS = "write_ingredients"
41
+ WRITE_OUTPUTS = "write_outputs"
42
+ WRITE_RECIPE_ALL = "write_recipe_all"
43
+ WRITE_RECIPE_INGREDIENTS = "write_recipe_ingredients"
44
+ WRITE_RECIPE_OUTPUTS = "write_recipe_outputs"
45
+ ADD_RECIPE = "add_recipe"
46
+ # DO NOT MODIFY -- This file is generated by type_spec
@@ -1,23 +1,8 @@
1
- # DO NOT MODIFY -- This file is generated by type_spec
2
1
  # flake8: noqa: F821
3
- # ruff: noqa: E402
2
+ # ruff: noqa: E402 Q003
4
3
  # fmt: off
5
4
  # 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 . import base as base_t
12
-
13
- __all__: list[str] = [
14
- "Phase",
15
- ]
16
-
17
-
18
5
  # DO NOT MODIFY -- This file is generated by type_spec
19
- @dataclass(kw_only=True)
20
- class Phase:
21
- id: base_t.ObjectId
22
- name: str
6
+ # Kept only for SDK backwards compatibility
7
+ from .phases_t import Phase as Phase
23
8
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -0,0 +1,23 @@
1
+ # DO NOT MODIFY -- This file is generated by type_spec
2
+ # flake8: noqa: F821
3
+ # ruff: noqa: E402 Q003
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 . import base_t
12
+
13
+ __all__: list[str] = [
14
+ "Phase",
15
+ ]
16
+
17
+
18
+ # DO NOT MODIFY -- This file is generated by type_spec
19
+ @dataclass(kw_only=True)
20
+ class Phase:
21
+ id: base_t.ObjectId
22
+ name: str
23
+ # DO NOT MODIFY -- This file is generated by type_spec
@@ -1,30 +1,8 @@
1
- # DO NOT MODIFY -- This file is generated by type_spec
2
1
  # flake8: noqa: F821
3
- # ruff: noqa: E402
2
+ # ruff: noqa: E402 Q003
4
3
  # fmt: off
5
4
  # 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 pkgs.serialization import serial_string_enum
12
-
13
- __all__: list[str] = [
14
- "UpdateType",
15
- ]
16
-
17
-
18
5
  # DO NOT MODIFY -- This file is generated by type_spec
19
- @serial_string_enum(
20
- labels={
21
- "append": "Append values",
22
- "override": "Wipe existing and replace",
23
- "remove": "Remove values",
24
- },
25
- )
26
- class UpdateType(StrEnum):
27
- APPEND = "append"
28
- OVERRIDE = "override"
29
- REMOVE = "remove"
6
+ # Kept only for SDK backwards compatibility
7
+ from .post_base_t import UpdateType as UpdateType
30
8
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -0,0 +1,30 @@
1
+ # DO NOT MODIFY -- This file is generated by type_spec
2
+ # flake8: noqa: F821
3
+ # ruff: noqa: E402 Q003
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 pkgs.serialization import serial_string_enum
12
+
13
+ __all__: list[str] = [
14
+ "UpdateType",
15
+ ]
16
+
17
+
18
+ # DO NOT MODIFY -- This file is generated by type_spec
19
+ @serial_string_enum(
20
+ labels={
21
+ "append": "Append values",
22
+ "override": "Wipe existing and replace",
23
+ "remove": "Remove values",
24
+ },
25
+ )
26
+ class UpdateType(StrEnum):
27
+ APPEND = "append"
28
+ OVERRIDE = "override"
29
+ REMOVE = "remove"
30
+ # DO NOT MODIFY -- This file is generated by type_spec
@@ -1,62 +1,12 @@
1
- # DO NOT MODIFY -- This file is generated by type_spec
2
1
  # flake8: noqa: F821
3
- # ruff: noqa: E402
2
+ # ruff: noqa: E402 Q003
4
3
  # fmt: off
5
4
  # 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
- "RecipeIdentifier",
16
- "RecipeIdentifierEditableName",
17
- "RecipeIdentifierMaterialFamily",
18
- "RecipeIdentifierMetadata",
19
- "RecipeIdentifiers",
20
- ]
21
-
22
-
23
- # DO NOT MODIFY -- This file is generated by type_spec
24
- @serial_class(
25
- parse_require={"type"},
26
- )
27
- @dataclass(kw_only=True)
28
- class RecipeIdentifierEditableName:
29
- type: typing.Literal["name"] = "name"
30
- editable_name: str
31
-
32
-
33
- # DO NOT MODIFY -- This file is generated by type_spec
34
- @serial_class(
35
- to_string_values={"quantity_dec"},
36
- parse_require={"type"},
37
- )
38
- @dataclass(kw_only=True)
39
- class RecipeIdentifierMetadata:
40
- type: typing.Literal["metadata"] = "metadata"
41
- recipe_metadata_id: base_t.ObjectId
42
- quantity_dec: typing.Optional[Decimal] = None
43
- quantity_json: typing.Optional[str] = None
44
-
45
-
46
- # DO NOT MODIFY -- This file is generated by type_spec
47
- @serial_class(
48
- parse_require={"type"},
49
- )
50
- @dataclass(kw_only=True)
51
- class RecipeIdentifierMaterialFamily:
52
- type: typing.Literal["material_family_id"] = "material_family_id"
53
- material_family_id: base_t.ObjectId
54
-
55
-
56
- # DO NOT MODIFY -- This file is generated by type_spec
57
- RecipeIdentifier = typing.Union[RecipeIdentifierEditableName, RecipeIdentifierMetadata, RecipeIdentifierMaterialFamily]
58
-
59
-
60
5
  # DO NOT MODIFY -- This file is generated by type_spec
61
- RecipeIdentifiers = list[RecipeIdentifier]
6
+ # Kept only for SDK backwards compatibility
7
+ from .recipe_identifiers_t import RecipeIdentifierEditableName as RecipeIdentifierEditableName
8
+ from .recipe_identifiers_t import RecipeIdentifierMetadata as RecipeIdentifierMetadata
9
+ from .recipe_identifiers_t import RecipeIdentifierMaterialFamily as RecipeIdentifierMaterialFamily
10
+ from .recipe_identifiers_t import RecipeIdentifier as RecipeIdentifier
11
+ from .recipe_identifiers_t import RecipeIdentifiers as RecipeIdentifiers
62
12
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -0,0 +1,62 @@
1
+ # DO NOT MODIFY -- This file is generated by type_spec
2
+ # flake8: noqa: F821
3
+ # ruff: noqa: E402 Q003
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_t
13
+
14
+ __all__: list[str] = [
15
+ "RecipeIdentifier",
16
+ "RecipeIdentifierEditableName",
17
+ "RecipeIdentifierMaterialFamily",
18
+ "RecipeIdentifierMetadata",
19
+ "RecipeIdentifiers",
20
+ ]
21
+
22
+
23
+ # DO NOT MODIFY -- This file is generated by type_spec
24
+ @serial_class(
25
+ parse_require={"type"},
26
+ )
27
+ @dataclass(kw_only=True)
28
+ class RecipeIdentifierEditableName:
29
+ type: typing.Literal["name"] = "name"
30
+ editable_name: str
31
+
32
+
33
+ # DO NOT MODIFY -- This file is generated by type_spec
34
+ @serial_class(
35
+ to_string_values={"quantity_dec"},
36
+ parse_require={"type"},
37
+ )
38
+ @dataclass(kw_only=True)
39
+ class RecipeIdentifierMetadata:
40
+ type: typing.Literal["metadata"] = "metadata"
41
+ recipe_metadata_id: base_t.ObjectId
42
+ quantity_dec: typing.Optional[Decimal] = None
43
+ quantity_json: typing.Optional[str] = None
44
+
45
+
46
+ # DO NOT MODIFY -- This file is generated by type_spec
47
+ @serial_class(
48
+ parse_require={"type"},
49
+ )
50
+ @dataclass(kw_only=True)
51
+ class RecipeIdentifierMaterialFamily:
52
+ type: typing.Literal["material_family_id"] = "material_family_id"
53
+ material_family_id: base_t.ObjectId
54
+
55
+
56
+ # DO NOT MODIFY -- This file is generated by type_spec
57
+ RecipeIdentifier = typing.Union[RecipeIdentifierEditableName, RecipeIdentifierMetadata, RecipeIdentifierMaterialFamily]
58
+
59
+
60
+ # DO NOT MODIFY -- This file is generated by type_spec
61
+ RecipeIdentifiers = list[RecipeIdentifier]
62
+ # DO NOT MODIFY -- This file is generated by type_spec
@@ -1,30 +1,9 @@
1
- # DO NOT MODIFY -- This file is generated by type_spec
2
1
  # flake8: noqa: F821
3
- # ruff: noqa: E402
2
+ # ruff: noqa: E402 Q003
4
3
  # fmt: off
5
4
  # 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
-
12
- __all__: list[str] = [
13
- "InputValueType",
14
- "QuantityBasis",
15
- ]
16
-
17
-
18
- # DO NOT MODIFY -- This file is generated by type_spec
19
- class InputValueType(StrEnum):
20
- VALUE = "value"
21
- ACTUAL_VALUE = "actual_value"
22
-
23
-
24
5
  # DO NOT MODIFY -- This file is generated by type_spec
25
- class QuantityBasis(StrEnum):
26
- ARBITRARY = "arbitrary"
27
- MASS = "mass"
28
- MOLES = "moles"
29
- VOLUME = "volume"
6
+ # Kept only for SDK backwards compatibility
7
+ from .recipe_inputs_t import InputValueType as InputValueType
8
+ from .recipe_inputs_t import QuantityBasis as QuantityBasis
30
9
  # DO NOT MODIFY -- This file is generated by type_spec