UncountablePythonSDK 0.0.40__py3-none-any.whl → 0.0.42__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.40.dist-info → UncountablePythonSDK-0.0.42.dist-info}/METADATA +5 -1
- {UncountablePythonSDK-0.0.40.dist-info → UncountablePythonSDK-0.0.42.dist-info}/RECORD +126 -107
- docs/requirements.txt +3 -3
- examples/invoke_uploader.py +23 -0
- pkgs/argument_parser/argument_parser.py +2 -2
- pkgs/filesystem_utils/__init__.py +17 -0
- pkgs/filesystem_utils/_gdrive_session.py +306 -0
- pkgs/filesystem_utils/_local_session.py +69 -0
- pkgs/filesystem_utils/_sftp_session.py +147 -0
- pkgs/filesystem_utils/file_type_utils.py +61 -0
- pkgs/filesystem_utils/filesystem_session.py +39 -0
- pkgs/serialization/yaml.py +54 -0
- pkgs/type_spec/config.py +1 -13
- pkgs/type_spec/emit_open_api.py +7 -5
- pkgs/type_spec/emit_open_api_util.py +4 -2
- pkgs/type_spec/emit_python.py +13 -14
- pkgs/type_spec/load_types.py +2 -1
- pkgs/type_spec/value_spec/__main__.py +1 -1
- uncountable/core/file_upload.py +13 -3
- uncountable/integration/construct_client.py +1 -1
- uncountable/integration/cron.py +11 -6
- uncountable/integration/entrypoint.py +6 -7
- uncountable/integration/executors/executors.py +24 -0
- uncountable/integration/executors/generic_upload_executor.py +245 -0
- uncountable/integration/executors/script_executor.py +1 -1
- uncountable/integration/job.py +19 -2
- uncountable/integration/secret_retrieval/__init__.py +3 -0
- uncountable/integration/secret_retrieval/retrieve_secret.py +40 -0
- uncountable/integration/server.py +1 -1
- uncountable/types/__init__.py +8 -0
- uncountable/types/api/batch/execute_batch.py +5 -5
- uncountable/types/api/batch/execute_batch_load_async.py +3 -3
- uncountable/types/api/chemical/convert_chemical_formats.py +4 -4
- uncountable/types/api/entity/create_entities.py +4 -4
- uncountable/types/api/entity/create_entity.py +4 -4
- uncountable/types/api/entity/get_entities_data.py +4 -4
- uncountable/types/api/entity/list_entities.py +5 -5
- uncountable/types/api/entity/lock_entity.py +3 -3
- uncountable/types/api/entity/resolve_entity_ids.py +4 -4
- uncountable/types/api/entity/set_values.py +3 -3
- uncountable/types/api/entity/transition_entity_phase.py +5 -5
- uncountable/types/api/entity/unlock_entity.py +3 -3
- uncountable/types/api/equipment/associate_equipment_input.py +3 -3
- uncountable/types/api/field_options/upsert_field_options.py +4 -4
- uncountable/types/api/id_source/list_id_source.py +4 -4
- uncountable/types/api/id_source/match_id_source.py +4 -4
- uncountable/types/api/input_groups/get_input_group_names.py +4 -4
- uncountable/types/api/inputs/create_inputs.py +5 -5
- uncountable/types/api/inputs/get_input_data.py +7 -7
- uncountable/types/api/inputs/get_input_names.py +4 -4
- uncountable/types/api/inputs/get_inputs_data.py +7 -7
- uncountable/types/api/inputs/set_input_attribute_values.py +4 -4
- uncountable/types/api/inputs/set_input_category.py +3 -3
- uncountable/types/api/inputs/set_input_subcategories.py +3 -3
- uncountable/types/api/inputs/set_intermediate_type.py +3 -3
- uncountable/types/api/material_families/update_entity_material_families.py +3 -3
- uncountable/types/api/outputs/get_output_data.py +7 -7
- uncountable/types/api/outputs/get_output_names.py +4 -4
- uncountable/types/api/outputs/resolve_output_conditions.py +6 -6
- uncountable/types/api/permissions/set_core_permissions.py +7 -7
- uncountable/types/api/project/get_projects.py +4 -4
- uncountable/types/api/project/get_projects_data.py +4 -4
- uncountable/types/api/recipe_links/create_recipe_link.py +3 -3
- uncountable/types/api/recipe_links/remove_recipe_link.py +3 -3
- uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +4 -4
- uncountable/types/api/recipes/add_recipe_to_project.py +3 -3
- uncountable/types/api/recipes/archive_recipes.py +3 -3
- uncountable/types/api/recipes/associate_recipe_as_input.py +3 -3
- uncountable/types/api/recipes/associate_recipe_as_lot.py +3 -3
- uncountable/types/api/recipes/create_recipe.py +3 -3
- uncountable/types/api/recipes/create_recipes.py +5 -5
- uncountable/types/api/recipes/disassociate_recipe_as_input.py +3 -3
- uncountable/types/api/recipes/edit_recipe_inputs.py +12 -12
- uncountable/types/api/recipes/get_curve.py +3 -3
- uncountable/types/api/recipes/get_recipe_calculations.py +4 -4
- uncountable/types/api/recipes/get_recipe_links.py +3 -3
- uncountable/types/api/recipes/get_recipe_names.py +4 -4
- uncountable/types/api/recipes/get_recipe_output_metadata.py +4 -4
- uncountable/types/api/recipes/get_recipes_data.py +12 -12
- uncountable/types/api/recipes/lock_recipes.py +4 -4
- uncountable/types/api/recipes/remove_recipe_from_project.py +3 -3
- uncountable/types/api/recipes/set_recipe_inputs.py +4 -4
- uncountable/types/api/recipes/set_recipe_metadata.py +3 -3
- uncountable/types/api/recipes/set_recipe_output_annotations.py +7 -7
- uncountable/types/api/recipes/set_recipe_outputs.py +5 -5
- uncountable/types/api/recipes/set_recipe_tags.py +7 -7
- uncountable/types/api/recipes/unarchive_recipes.py +3 -3
- uncountable/types/api/recipes/unlock_recipes.py +3 -3
- uncountable/types/api/triggers/run_trigger.py +3 -3
- uncountable/types/api/uploader/__init__.py +1 -0
- uncountable/types/api/uploader/invoke_uploader.py +38 -0
- uncountable/types/async_batch_processor.py +36 -0
- uncountable/types/async_batch_t.py +6 -4
- uncountable/types/calculations_t.py +2 -2
- uncountable/types/chemical_structure_t.py +2 -2
- uncountable/types/client_base.py +25 -2
- uncountable/types/curves_t.py +3 -3
- uncountable/types/entity_t.py +2 -2
- uncountable/types/experiment_groups_t.py +2 -2
- uncountable/types/field_values_t.py +5 -5
- uncountable/types/fields_t.py +2 -2
- uncountable/types/generic_upload.py +9 -0
- uncountable/types/generic_upload_t.py +41 -0
- uncountable/types/id_source_t.py +5 -5
- uncountable/types/identifier_t.py +4 -4
- uncountable/types/input_attributes_t.py +2 -2
- uncountable/types/inputs_t.py +2 -2
- uncountable/types/job_definition.py +26 -0
- uncountable/types/job_definition_t.py +203 -0
- uncountable/types/outputs_t.py +2 -2
- uncountable/types/phases_t.py +2 -2
- uncountable/types/recipe_identifiers_t.py +4 -4
- uncountable/types/recipe_links_t.py +2 -2
- uncountable/types/recipe_metadata_t.py +4 -4
- uncountable/types/recipe_output_metadata_t.py +2 -2
- uncountable/types/recipe_tags_t.py +2 -2
- uncountable/types/recipe_workflow_steps_t.py +5 -5
- uncountable/types/recipes_t.py +2 -2
- uncountable/types/response_t.py +2 -2
- uncountable/types/secret_retrieval.py +12 -0
- uncountable/types/secret_retrieval_t.py +69 -0
- uncountable/types/units_t.py +2 -2
- uncountable/types/users_t.py +2 -2
- uncountable/types/workflows_t.py +3 -3
- uncountable/integration/types.py +0 -89
- {UncountablePythonSDK-0.0.40.dist-info → UncountablePythonSDK-0.0.42.dist-info}/WHEEL +0 -0
- {UncountablePythonSDK-0.0.40.dist-info → UncountablePythonSDK-0.0.42.dist-info}/top_level.txt +0 -0
|
@@ -7,7 +7,7 @@ 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
|
-
|
|
10
|
+
import dataclasses
|
|
11
11
|
from ... import base_t
|
|
12
12
|
from ... import input_attributes_t
|
|
13
13
|
from ... import inputs_t
|
|
@@ -26,13 +26,13 @@ ENDPOINT_PATH = "api/external/inputs/external_create_inputs"
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
29
|
-
@dataclass(kw_only=True)
|
|
29
|
+
@dataclasses.dataclass(kw_only=True)
|
|
30
30
|
class Arguments:
|
|
31
31
|
inputs_to_create: list[InputToCreate]
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
35
|
-
@dataclass(kw_only=True)
|
|
35
|
+
@dataclasses.dataclass(kw_only=True)
|
|
36
36
|
class InputToCreate:
|
|
37
37
|
name: str
|
|
38
38
|
material_family_ids: list[base_t.ObjectId]
|
|
@@ -43,13 +43,13 @@ class InputToCreate:
|
|
|
43
43
|
|
|
44
44
|
|
|
45
45
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
46
|
-
@dataclass(kw_only=True)
|
|
46
|
+
@dataclasses.dataclass(kw_only=True)
|
|
47
47
|
class InputSimple:
|
|
48
48
|
input_id: base_t.ObjectId
|
|
49
49
|
|
|
50
50
|
|
|
51
51
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
52
|
-
@dataclass(kw_only=True)
|
|
52
|
+
@dataclasses.dataclass(kw_only=True)
|
|
53
53
|
class Data:
|
|
54
54
|
inputs: list[InputSimple]
|
|
55
55
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -7,7 +7,7 @@ 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
|
-
|
|
10
|
+
import dataclasses
|
|
11
11
|
from ... import base_t
|
|
12
12
|
from ... import input_attributes_t
|
|
13
13
|
|
|
@@ -27,7 +27,7 @@ ENDPOINT_PATH = "api/external/inputs/external_get_input_data"
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
30
|
-
@dataclass(kw_only=True)
|
|
30
|
+
@dataclasses.dataclass(kw_only=True)
|
|
31
31
|
class Arguments:
|
|
32
32
|
material_family_id: base_t.ObjectId
|
|
33
33
|
input_ids: typing.Optional[list[base_t.ObjectId]]
|
|
@@ -37,7 +37,7 @@ class Arguments:
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
40
|
-
@dataclass(kw_only=True)
|
|
40
|
+
@dataclasses.dataclass(kw_only=True)
|
|
41
41
|
class SimpleInputAttr:
|
|
42
42
|
attribute_id: base_t.ObjectId
|
|
43
43
|
name: str
|
|
@@ -45,21 +45,21 @@ class SimpleInputAttr:
|
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
48
|
-
@dataclass(kw_only=True)
|
|
48
|
+
@dataclasses.dataclass(kw_only=True)
|
|
49
49
|
class SimpleInputGlobalCategory:
|
|
50
50
|
category_id: base_t.ObjectId
|
|
51
51
|
name: str
|
|
52
52
|
|
|
53
53
|
|
|
54
54
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
55
|
-
@dataclass(kw_only=True)
|
|
55
|
+
@dataclasses.dataclass(kw_only=True)
|
|
56
56
|
class SimpleInputSubcategory:
|
|
57
57
|
subcategory_id: base_t.ObjectId
|
|
58
58
|
name: str
|
|
59
59
|
|
|
60
60
|
|
|
61
61
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
62
|
-
@dataclass(kw_only=True)
|
|
62
|
+
@dataclasses.dataclass(kw_only=True)
|
|
63
63
|
class FullInput:
|
|
64
64
|
input_id: base_t.ObjectId
|
|
65
65
|
name: str
|
|
@@ -71,7 +71,7 @@ class FullInput:
|
|
|
71
71
|
|
|
72
72
|
|
|
73
73
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
74
|
-
@dataclass(kw_only=True)
|
|
74
|
+
@dataclasses.dataclass(kw_only=True)
|
|
75
75
|
class Data:
|
|
76
76
|
inputs: list[FullInput]
|
|
77
77
|
attrs: list[SimpleInputAttr]
|
|
@@ -7,7 +7,7 @@ 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
|
-
|
|
10
|
+
import dataclasses
|
|
11
11
|
from ... import base_t
|
|
12
12
|
|
|
13
13
|
__all__: list[str] = [
|
|
@@ -23,7 +23,7 @@ ENDPOINT_PATH = "api/external/inputs/external_get_input_names"
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
26
|
-
@dataclass(kw_only=True)
|
|
26
|
+
@dataclasses.dataclass(kw_only=True)
|
|
27
27
|
class Arguments:
|
|
28
28
|
material_family_id: base_t.ObjectId
|
|
29
29
|
is_parameter: typing.Optional[bool]
|
|
@@ -32,14 +32,14 @@ class Arguments:
|
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
35
|
-
@dataclass(kw_only=True)
|
|
35
|
+
@dataclasses.dataclass(kw_only=True)
|
|
36
36
|
class InputWithName:
|
|
37
37
|
input_id: base_t.ObjectId
|
|
38
38
|
name: str
|
|
39
39
|
|
|
40
40
|
|
|
41
41
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
42
|
-
@dataclass(kw_only=True)
|
|
42
|
+
@dataclasses.dataclass(kw_only=True)
|
|
43
43
|
class Data:
|
|
44
44
|
inputs: list[InputWithName]
|
|
45
45
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -7,7 +7,7 @@ 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
|
-
|
|
10
|
+
import dataclasses
|
|
11
11
|
from ... import base_t
|
|
12
12
|
from ... import input_attributes_t
|
|
13
13
|
|
|
@@ -27,13 +27,13 @@ ENDPOINT_PATH = "api/external/inputs/external_get_inputs_data"
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
30
|
-
@dataclass(kw_only=True)
|
|
30
|
+
@dataclasses.dataclass(kw_only=True)
|
|
31
31
|
class Arguments:
|
|
32
32
|
input_ids: list[base_t.ObjectId]
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
36
|
-
@dataclass(kw_only=True)
|
|
36
|
+
@dataclasses.dataclass(kw_only=True)
|
|
37
37
|
class AttributeDetails:
|
|
38
38
|
attribute_id: base_t.ObjectId
|
|
39
39
|
name: str
|
|
@@ -41,14 +41,14 @@ class AttributeDetails:
|
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
44
|
-
@dataclass(kw_only=True)
|
|
44
|
+
@dataclasses.dataclass(kw_only=True)
|
|
45
45
|
class InputTag:
|
|
46
46
|
tag_id: base_t.ObjectId
|
|
47
47
|
tag_name: str
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
51
|
-
@dataclass(kw_only=True)
|
|
51
|
+
@dataclasses.dataclass(kw_only=True)
|
|
52
52
|
class InputCategory:
|
|
53
53
|
material_family_id: base_t.ObjectId
|
|
54
54
|
category_id: base_t.ObjectId
|
|
@@ -56,7 +56,7 @@ class InputCategory:
|
|
|
56
56
|
|
|
57
57
|
|
|
58
58
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
59
|
-
@dataclass(kw_only=True)
|
|
59
|
+
@dataclasses.dataclass(kw_only=True)
|
|
60
60
|
class InputDetails:
|
|
61
61
|
input_id: base_t.ObjectId
|
|
62
62
|
name: str
|
|
@@ -68,7 +68,7 @@ class InputDetails:
|
|
|
68
68
|
|
|
69
69
|
|
|
70
70
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
71
|
-
@dataclass(kw_only=True)
|
|
71
|
+
@dataclasses.dataclass(kw_only=True)
|
|
72
72
|
class Data:
|
|
73
73
|
input_details: list[InputDetails]
|
|
74
74
|
input_attributes: list[AttributeDetails]
|
|
@@ -7,7 +7,7 @@ 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
|
-
|
|
10
|
+
import dataclasses
|
|
11
11
|
from pkgs.serialization import serial_class
|
|
12
12
|
from ... import base_t
|
|
13
13
|
from ... import response_t
|
|
@@ -25,7 +25,7 @@ ENDPOINT_PATH = "api/external/inputs/external_set_input_attribute_values"
|
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
28
|
-
@dataclass(kw_only=True)
|
|
28
|
+
@dataclasses.dataclass(kw_only=True)
|
|
29
29
|
class Arguments:
|
|
30
30
|
attribute_values: list[InputAttributeValue]
|
|
31
31
|
|
|
@@ -35,7 +35,7 @@ class Arguments:
|
|
|
35
35
|
unconverted_values={"quantity_json"},
|
|
36
36
|
to_string_values={"quantity_dec"},
|
|
37
37
|
)
|
|
38
|
-
@dataclass(kw_only=True)
|
|
38
|
+
@dataclasses.dataclass(kw_only=True)
|
|
39
39
|
class InputAttributeValue:
|
|
40
40
|
input_id: base_t.ObjectId
|
|
41
41
|
attribute_id: base_t.ObjectId
|
|
@@ -44,7 +44,7 @@ class InputAttributeValue:
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
47
|
-
@dataclass(kw_only=True)
|
|
47
|
+
@dataclasses.dataclass(kw_only=True)
|
|
48
48
|
class Data(response_t.Response):
|
|
49
49
|
pass
|
|
50
50
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -7,7 +7,7 @@ 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
|
-
|
|
10
|
+
import dataclasses
|
|
11
11
|
from ... import identifier_t
|
|
12
12
|
from ... import response_t
|
|
13
13
|
|
|
@@ -23,7 +23,7 @@ ENDPOINT_PATH = "api/external/inputs/external_set_input_category"
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
26
|
-
@dataclass(kw_only=True)
|
|
26
|
+
@dataclasses.dataclass(kw_only=True)
|
|
27
27
|
class Arguments:
|
|
28
28
|
input_key: identifier_t.IdentifierKey
|
|
29
29
|
category_id: int
|
|
@@ -31,7 +31,7 @@ class Arguments:
|
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
34
|
-
@dataclass(kw_only=True)
|
|
34
|
+
@dataclasses.dataclass(kw_only=True)
|
|
35
35
|
class Data(response_t.Response):
|
|
36
36
|
pass
|
|
37
37
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -7,7 +7,7 @@ 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
|
-
|
|
10
|
+
import dataclasses
|
|
11
11
|
from ... import identifier_t
|
|
12
12
|
from ... import post_base_t
|
|
13
13
|
from ... import response_t
|
|
@@ -24,7 +24,7 @@ ENDPOINT_PATH = "api/external/inputs/external_set_input_subcategories"
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
27
|
-
@dataclass(kw_only=True)
|
|
27
|
+
@dataclasses.dataclass(kw_only=True)
|
|
28
28
|
class Arguments:
|
|
29
29
|
input_key: identifier_t.IdentifierKey
|
|
30
30
|
subcategory_ids: list[int]
|
|
@@ -32,7 +32,7 @@ class Arguments:
|
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
35
|
-
@dataclass(kw_only=True)
|
|
35
|
+
@dataclasses.dataclass(kw_only=True)
|
|
36
36
|
class Data(response_t.Response):
|
|
37
37
|
pass
|
|
38
38
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -8,7 +8,7 @@ import typing # noqa: F401
|
|
|
8
8
|
import datetime # noqa: F401
|
|
9
9
|
from decimal import Decimal # noqa: F401
|
|
10
10
|
from pkgs.strenum_compat import StrEnum
|
|
11
|
-
|
|
11
|
+
import dataclasses
|
|
12
12
|
from ... import identifier_t
|
|
13
13
|
|
|
14
14
|
__all__: list[str] = [
|
|
@@ -30,14 +30,14 @@ class IntermediateType(StrEnum):
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
33
|
-
@dataclass(kw_only=True)
|
|
33
|
+
@dataclasses.dataclass(kw_only=True)
|
|
34
34
|
class Arguments:
|
|
35
35
|
input_key: identifier_t.IdentifierKey
|
|
36
36
|
intermediate_type: IntermediateType
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
40
|
-
@dataclass(kw_only=True)
|
|
40
|
+
@dataclasses.dataclass(kw_only=True)
|
|
41
41
|
class Data:
|
|
42
42
|
pass
|
|
43
43
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -7,7 +7,7 @@ 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
|
-
|
|
10
|
+
import dataclasses
|
|
11
11
|
from ... import base_t
|
|
12
12
|
from ... import entity_t
|
|
13
13
|
from ... import identifier_t
|
|
@@ -26,7 +26,7 @@ ENDPOINT_PATH = "api/external/material_families/external_update_entity_material_
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
29
|
-
@dataclass(kw_only=True)
|
|
29
|
+
@dataclasses.dataclass(kw_only=True)
|
|
30
30
|
class Arguments:
|
|
31
31
|
entity_key: identifier_t.IdentifierKey
|
|
32
32
|
entity_type: typing.Union[typing.Literal[entity_t.EntityType.RECIPE_METADATA], typing.Literal[entity_t.EntityType.INGREDIENT], typing.Literal[entity_t.EntityType.OUTPUT], typing.Literal[entity_t.EntityType.CONDITION_PARAMETER], typing.Literal[entity_t.EntityType.INGREDIENT_ATTRIBUTE]]
|
|
@@ -35,7 +35,7 @@ class Arguments:
|
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
38
|
-
@dataclass(kw_only=True)
|
|
38
|
+
@dataclasses.dataclass(kw_only=True)
|
|
39
39
|
class Data(response_t.Response):
|
|
40
40
|
pass
|
|
41
41
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -7,7 +7,7 @@ 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
|
-
|
|
10
|
+
import dataclasses
|
|
11
11
|
from pkgs.serialization import serial_class
|
|
12
12
|
from ... import base_t
|
|
13
13
|
from ... import units_t
|
|
@@ -28,7 +28,7 @@ ENDPOINT_PATH = "api/external/outputs/external_get_output_data"
|
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
31
|
-
@dataclass(kw_only=True)
|
|
31
|
+
@dataclasses.dataclass(kw_only=True)
|
|
32
32
|
class Arguments:
|
|
33
33
|
material_family_id: base_t.ObjectId
|
|
34
34
|
output_ids: typing.Optional[list[base_t.ObjectId]] = None
|
|
@@ -41,7 +41,7 @@ class Arguments:
|
|
|
41
41
|
unconverted_values={"quantity_json"},
|
|
42
42
|
to_string_values={"quantity_dec"},
|
|
43
43
|
)
|
|
44
|
-
@dataclass(kw_only=True)
|
|
44
|
+
@dataclasses.dataclass(kw_only=True)
|
|
45
45
|
class OutputAttrVal:
|
|
46
46
|
attribute_id: base_t.ObjectId
|
|
47
47
|
quantity_json: base_t.JsonValue
|
|
@@ -49,7 +49,7 @@ class OutputAttrVal:
|
|
|
49
49
|
|
|
50
50
|
|
|
51
51
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
52
|
-
@dataclass(kw_only=True)
|
|
52
|
+
@dataclasses.dataclass(kw_only=True)
|
|
53
53
|
class SimpleOutputAttr:
|
|
54
54
|
attribute_id: base_t.ObjectId
|
|
55
55
|
name: str
|
|
@@ -57,14 +57,14 @@ class SimpleOutputAttr:
|
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
60
|
-
@dataclass(kw_only=True)
|
|
60
|
+
@dataclasses.dataclass(kw_only=True)
|
|
61
61
|
class SimpleOutputGlobalCategory:
|
|
62
62
|
category_id: base_t.ObjectId
|
|
63
63
|
name: str
|
|
64
64
|
|
|
65
65
|
|
|
66
66
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
67
|
-
@dataclass(kw_only=True)
|
|
67
|
+
@dataclasses.dataclass(kw_only=True)
|
|
68
68
|
class FullOutput:
|
|
69
69
|
output_id: base_t.ObjectId
|
|
70
70
|
name: str
|
|
@@ -75,7 +75,7 @@ class FullOutput:
|
|
|
75
75
|
|
|
76
76
|
|
|
77
77
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
78
|
-
@dataclass(kw_only=True)
|
|
78
|
+
@dataclasses.dataclass(kw_only=True)
|
|
79
79
|
class Data:
|
|
80
80
|
outputs: list[FullOutput]
|
|
81
81
|
attrs: list[SimpleOutputAttr]
|
|
@@ -7,7 +7,7 @@ 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
|
-
|
|
10
|
+
import dataclasses
|
|
11
11
|
from ... import base_t
|
|
12
12
|
|
|
13
13
|
__all__: list[str] = [
|
|
@@ -23,7 +23,7 @@ ENDPOINT_PATH = "api/external/outputs/external_get_output_names"
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
26
|
-
@dataclass(kw_only=True)
|
|
26
|
+
@dataclasses.dataclass(kw_only=True)
|
|
27
27
|
class Arguments:
|
|
28
28
|
material_family_id: base_t.ObjectId
|
|
29
29
|
offset: typing.Optional[int] = None
|
|
@@ -31,14 +31,14 @@ class Arguments:
|
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
34
|
-
@dataclass(kw_only=True)
|
|
34
|
+
@dataclasses.dataclass(kw_only=True)
|
|
35
35
|
class OutputWithName:
|
|
36
36
|
output_id: base_t.ObjectId
|
|
37
37
|
name: str
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
41
|
-
@dataclass(kw_only=True)
|
|
41
|
+
@dataclasses.dataclass(kw_only=True)
|
|
42
42
|
class Data:
|
|
43
43
|
outputs: list[OutputWithName]
|
|
44
44
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -7,7 +7,7 @@ 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
|
-
|
|
10
|
+
import dataclasses
|
|
11
11
|
from pkgs.serialization import serial_class
|
|
12
12
|
from ... import base_t
|
|
13
13
|
|
|
@@ -30,7 +30,7 @@ ENDPOINT_PATH = "api/external/outputs/external_resolve_output_conditions"
|
|
|
30
30
|
@serial_class(
|
|
31
31
|
to_string_values={"value_numeric"},
|
|
32
32
|
)
|
|
33
|
-
@dataclass(kw_only=True)
|
|
33
|
+
@dataclasses.dataclass(kw_only=True)
|
|
34
34
|
class ConditionParameterValueRecord:
|
|
35
35
|
condition_parameter_id: base_t.ObjectId
|
|
36
36
|
value_numeric: typing.Optional[Decimal] = None
|
|
@@ -38,26 +38,26 @@ class ConditionParameterValueRecord:
|
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
41
|
-
@dataclass(kw_only=True)
|
|
41
|
+
@dataclasses.dataclass(kw_only=True)
|
|
42
42
|
class ConditionRequest:
|
|
43
43
|
conditions: list[ConditionParameterValueRecord]
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
47
|
-
@dataclass(kw_only=True)
|
|
47
|
+
@dataclasses.dataclass(kw_only=True)
|
|
48
48
|
class Arguments:
|
|
49
49
|
requested_conditions: list[ConditionRequest]
|
|
50
50
|
|
|
51
51
|
|
|
52
52
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
53
|
-
@dataclass(kw_only=True)
|
|
53
|
+
@dataclasses.dataclass(kw_only=True)
|
|
54
54
|
class ConditionResponse:
|
|
55
55
|
conditions: list[ConditionParameterValueRecord]
|
|
56
56
|
output_condition_id: base_t.ObjectId
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
60
|
-
@dataclass(kw_only=True)
|
|
60
|
+
@dataclasses.dataclass(kw_only=True)
|
|
61
61
|
class Data:
|
|
62
62
|
resolved_conditions: list[ConditionResponse]
|
|
63
63
|
|
|
@@ -7,7 +7,7 @@ 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
|
-
|
|
10
|
+
import dataclasses
|
|
11
11
|
from pkgs.serialization import serial_class
|
|
12
12
|
from ... import identifier_t
|
|
13
13
|
from ... import permissions_t
|
|
@@ -33,7 +33,7 @@ ENDPOINT_PATH = "api/external/permissions/external_set_core_permissions"
|
|
|
33
33
|
@serial_class(
|
|
34
34
|
parse_require={"type"},
|
|
35
35
|
)
|
|
36
|
-
@dataclass(kw_only=True)
|
|
36
|
+
@dataclasses.dataclass(kw_only=True)
|
|
37
37
|
class PermissionsScopeProject:
|
|
38
38
|
type: typing.Literal["project"] = "project"
|
|
39
39
|
project_key: identifier_t.IdentifierKey
|
|
@@ -43,7 +43,7 @@ class PermissionsScopeProject:
|
|
|
43
43
|
@serial_class(
|
|
44
44
|
parse_require={"type"},
|
|
45
45
|
)
|
|
46
|
-
@dataclass(kw_only=True)
|
|
46
|
+
@dataclasses.dataclass(kw_only=True)
|
|
47
47
|
class PermissionsScopeRecipe:
|
|
48
48
|
type: typing.Literal["recipe"] = "recipe"
|
|
49
49
|
recipe_key: identifier_t.IdentifierKey
|
|
@@ -53,7 +53,7 @@ class PermissionsScopeRecipe:
|
|
|
53
53
|
@serial_class(
|
|
54
54
|
parse_require={"type"},
|
|
55
55
|
)
|
|
56
|
-
@dataclass(kw_only=True)
|
|
56
|
+
@dataclasses.dataclass(kw_only=True)
|
|
57
57
|
class PermissionsScopeMaterialFamily:
|
|
58
58
|
type: typing.Literal["material_family"] = "material_family"
|
|
59
59
|
material_family_key: identifier_t.IdentifierKey
|
|
@@ -63,7 +63,7 @@ class PermissionsScopeMaterialFamily:
|
|
|
63
63
|
@serial_class(
|
|
64
64
|
parse_require={"type"},
|
|
65
65
|
)
|
|
66
|
-
@dataclass(kw_only=True)
|
|
66
|
+
@dataclasses.dataclass(kw_only=True)
|
|
67
67
|
class PermissionsScopeAllMaterialFamilies:
|
|
68
68
|
type: typing.Literal["all_material_families"] = "all_material_families"
|
|
69
69
|
|
|
@@ -73,7 +73,7 @@ PermissionsScope = typing.Union[PermissionsScopeProject, PermissionsScopeRecipe,
|
|
|
73
73
|
|
|
74
74
|
|
|
75
75
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
76
|
-
@dataclass(kw_only=True)
|
|
76
|
+
@dataclasses.dataclass(kw_only=True)
|
|
77
77
|
class Arguments:
|
|
78
78
|
scope: PermissionsScope
|
|
79
79
|
permissions_types: list[permissions_t.CorePermissionType]
|
|
@@ -83,7 +83,7 @@ class Arguments:
|
|
|
83
83
|
|
|
84
84
|
|
|
85
85
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
86
|
-
@dataclass(kw_only=True)
|
|
86
|
+
@dataclasses.dataclass(kw_only=True)
|
|
87
87
|
class Data:
|
|
88
88
|
pass
|
|
89
89
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -7,7 +7,7 @@ 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
|
-
|
|
10
|
+
import dataclasses
|
|
11
11
|
from ... import base_t
|
|
12
12
|
from ... import phases_t
|
|
13
13
|
|
|
@@ -24,14 +24,14 @@ ENDPOINT_PATH = "api/external/project/external_get_projects"
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
27
|
-
@dataclass(kw_only=True)
|
|
27
|
+
@dataclasses.dataclass(kw_only=True)
|
|
28
28
|
class Arguments:
|
|
29
29
|
all_material_families: bool
|
|
30
30
|
material_family_id: typing.Optional[base_t.ObjectId]
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
34
|
-
@dataclass(kw_only=True)
|
|
34
|
+
@dataclasses.dataclass(kw_only=True)
|
|
35
35
|
class Project:
|
|
36
36
|
id: base_t.ObjectId
|
|
37
37
|
name: str
|
|
@@ -41,7 +41,7 @@ class Project:
|
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
44
|
-
@dataclass(kw_only=True)
|
|
44
|
+
@dataclasses.dataclass(kw_only=True)
|
|
45
45
|
class Data:
|
|
46
46
|
projects: list[Project]
|
|
47
47
|
phases: list[phases_t.Phase]
|
|
@@ -7,7 +7,7 @@ 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
|
-
|
|
10
|
+
import dataclasses
|
|
11
11
|
from ... import base_t
|
|
12
12
|
from ... import field_values_t
|
|
13
13
|
from ... import fields_t
|
|
@@ -26,7 +26,7 @@ ENDPOINT_PATH = "api/external/project/external_get_projects_data"
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
29
|
-
@dataclass(kw_only=True)
|
|
29
|
+
@dataclasses.dataclass(kw_only=True)
|
|
30
30
|
class Arguments:
|
|
31
31
|
project_ids: list[base_t.ObjectId]
|
|
32
32
|
offset: typing.Optional[typing.Optional[int]] = None
|
|
@@ -34,7 +34,7 @@ class Arguments:
|
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
37
|
-
@dataclass(kw_only=True)
|
|
37
|
+
@dataclasses.dataclass(kw_only=True)
|
|
38
38
|
class ProjectDetailed:
|
|
39
39
|
id: base_t.ObjectId
|
|
40
40
|
name: str
|
|
@@ -45,7 +45,7 @@ class ProjectDetailed:
|
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
48
|
-
@dataclass(kw_only=True)
|
|
48
|
+
@dataclasses.dataclass(kw_only=True)
|
|
49
49
|
class Data:
|
|
50
50
|
projects: list[ProjectDetailed]
|
|
51
51
|
phases: list[phases_t.Phase]
|
|
@@ -7,7 +7,7 @@ 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
|
-
|
|
10
|
+
import dataclasses
|
|
11
11
|
from ... import async_batch_t
|
|
12
12
|
from ... import identifier_t
|
|
13
13
|
from ... import recipe_links_t
|
|
@@ -24,7 +24,7 @@ ENDPOINT_PATH = "api/external/recipe_links/create_recipe_link"
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
27
|
-
@dataclass(kw_only=True)
|
|
27
|
+
@dataclasses.dataclass(kw_only=True)
|
|
28
28
|
class Arguments:
|
|
29
29
|
recipe_from_key: identifier_t.IdentifierKey
|
|
30
30
|
recipe_to_key: identifier_t.IdentifierKey
|
|
@@ -33,7 +33,7 @@ class Arguments:
|
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
36
|
-
@dataclass(kw_only=True)
|
|
36
|
+
@dataclasses.dataclass(kw_only=True)
|
|
37
37
|
class Data(async_batch_t.AsyncBatchActionReturn):
|
|
38
38
|
pass
|
|
39
39
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -7,7 +7,7 @@ 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
|
-
|
|
10
|
+
import dataclasses
|
|
11
11
|
from ... import async_batch_t
|
|
12
12
|
from ... import identifier_t
|
|
13
13
|
from ... import recipe_links_t
|
|
@@ -24,7 +24,7 @@ ENDPOINT_PATH = "api/external/recipe_links/remove_recipe_link"
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
27
|
-
@dataclass(kw_only=True)
|
|
27
|
+
@dataclasses.dataclass(kw_only=True)
|
|
28
28
|
class Arguments:
|
|
29
29
|
recipe_from_key: identifier_t.IdentifierKey
|
|
30
30
|
recipe_to_key: identifier_t.IdentifierKey
|
|
@@ -32,7 +32,7 @@ class Arguments:
|
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
35
|
-
@dataclass(kw_only=True)
|
|
35
|
+
@dataclasses.dataclass(kw_only=True)
|
|
36
36
|
class Data(async_batch_t.AsyncBatchActionReturn):
|
|
37
37
|
pass
|
|
38
38
|
# DO NOT MODIFY -- This file is generated by type_spec
|