UncountablePythonSDK 0.0.111__py3-none-any.whl → 0.0.113__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.
- docs/conf.py +2 -2
- docs/justfile +1 -1
- examples/integration-server/jobs/materials_auto/example_runsheet_wh.py +35 -0
- examples/integration-server/jobs/materials_auto/profile.yaml +9 -0
- examples/integration-server/pyproject.toml +2 -2
- pkgs/argument_parser/argument_parser.py +6 -3
- pkgs/filesystem_utils/_blob_session.py +8 -1
- pkgs/type_spec/emit_python.py +9 -3
- pkgs/type_spec/emit_typescript_util.py +16 -1
- pkgs/type_spec/parts/base.py.prepart +4 -0
- pkgs/type_spec/ui_entry_actions/__init__.py +4 -0
- pkgs/type_spec/ui_entry_actions/generate_ui_entry_actions.py +294 -0
- pkgs/type_spec/value_spec/convert_type.py +13 -0
- uncountable/core/client.py +7 -4
- uncountable/integration/executors/generic_upload_executor.py +3 -2
- uncountable/integration/job.py +24 -1
- uncountable/integration/queue_runner/datastore/datastore_sqlite.py +3 -2
- uncountable/integration/scan_profiles.py +1 -1
- uncountable/integration/scheduler.py +4 -3
- uncountable/integration/secret_retrieval/retrieve_secret.py +1 -1
- uncountable/types/__init__.py +2 -0
- uncountable/types/api/batch/execute_batch.py +4 -4
- uncountable/types/api/batch/execute_batch_load_async.py +2 -2
- uncountable/types/api/chemical/convert_chemical_formats.py +3 -3
- uncountable/types/api/condition_parameters/upsert_condition_match.py +4 -3
- uncountable/types/api/entity/create_entities.py +3 -3
- uncountable/types/api/entity/create_entity.py +3 -3
- uncountable/types/api/entity/create_or_update_entity.py +3 -2
- uncountable/types/api/entity/get_entities_data.py +3 -3
- uncountable/types/api/entity/grant_entity_permissions.py +3 -2
- uncountable/types/api/entity/list_entities.py +4 -4
- uncountable/types/api/entity/lock_entity.py +3 -2
- uncountable/types/api/entity/lookup_entity.py +5 -5
- uncountable/types/api/entity/resolve_entity_ids.py +3 -3
- uncountable/types/api/entity/set_entity_field_values.py +3 -2
- uncountable/types/api/entity/set_values.py +3 -2
- uncountable/types/api/entity/transition_entity_phase.py +5 -4
- uncountable/types/api/entity/unlock_entity.py +3 -2
- uncountable/types/api/equipment/associate_equipment_input.py +2 -2
- uncountable/types/api/field_options/upsert_field_options.py +4 -3
- uncountable/types/api/files/download_file.py +4 -3
- uncountable/types/api/id_source/list_id_source.py +3 -3
- uncountable/types/api/id_source/match_id_source.py +3 -3
- uncountable/types/api/input_groups/get_input_group_names.py +3 -3
- uncountable/types/api/inputs/create_inputs.py +4 -4
- uncountable/types/api/inputs/get_input_data.py +6 -6
- uncountable/types/api/inputs/get_input_names.py +3 -3
- uncountable/types/api/inputs/get_inputs_data.py +6 -6
- uncountable/types/api/inputs/set_input_attribute_values.py +3 -3
- uncountable/types/api/inputs/set_input_category.py +3 -2
- uncountable/types/api/inputs/set_input_subcategories.py +3 -2
- uncountable/types/api/inputs/set_intermediate_type.py +3 -2
- uncountable/types/api/material_families/update_entity_material_families.py +2 -2
- uncountable/types/api/outputs/get_output_data.py +6 -6
- uncountable/types/api/outputs/get_output_names.py +3 -3
- uncountable/types/api/outputs/resolve_output_conditions.py +5 -5
- uncountable/types/api/permissions/set_core_permissions.py +7 -6
- uncountable/types/api/project/get_projects.py +3 -3
- uncountable/types/api/project/get_projects_data.py +3 -3
- uncountable/types/api/recipe_links/create_recipe_link.py +3 -2
- uncountable/types/api/recipe_links/remove_recipe_link.py +3 -2
- uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +3 -3
- uncountable/types/api/recipes/add_recipe_to_project.py +3 -2
- uncountable/types/api/recipes/add_time_series_data.py +4 -3
- uncountable/types/api/recipes/archive_recipes.py +3 -2
- uncountable/types/api/recipes/associate_recipe_as_input.py +3 -2
- uncountable/types/api/recipes/associate_recipe_as_lot.py +3 -2
- uncountable/types/api/recipes/clear_recipe_outputs.py +3 -2
- uncountable/types/api/recipes/create_recipe.py +2 -2
- uncountable/types/api/recipes/create_recipes.py +4 -4
- uncountable/types/api/recipes/disassociate_recipe_as_input.py +3 -2
- uncountable/types/api/recipes/edit_recipe_inputs.py +17 -16
- uncountable/types/api/recipes/get_column_calculation_values.py +3 -3
- uncountable/types/api/recipes/get_curve.py +2 -2
- uncountable/types/api/recipes/get_recipe_calculations.py +3 -3
- uncountable/types/api/recipes/get_recipe_links.py +2 -2
- uncountable/types/api/recipes/get_recipe_names.py +3 -3
- uncountable/types/api/recipes/get_recipe_output_metadata.py +3 -3
- uncountable/types/api/recipes/get_recipes_data.py +11 -11
- uncountable/types/api/recipes/lock_recipes.py +4 -3
- uncountable/types/api/recipes/remove_recipe_from_project.py +3 -2
- uncountable/types/api/recipes/set_recipe_inputs.py +3 -3
- uncountable/types/api/recipes/set_recipe_metadata.py +3 -2
- uncountable/types/api/recipes/set_recipe_output_annotations.py +6 -6
- uncountable/types/api/recipes/set_recipe_output_file.py +3 -3
- uncountable/types/api/recipes/set_recipe_outputs.py +5 -5
- uncountable/types/api/recipes/set_recipe_tags.py +6 -6
- uncountable/types/api/recipes/unarchive_recipes.py +3 -2
- uncountable/types/api/recipes/unlock_recipes.py +3 -2
- uncountable/types/api/runsheet/__init__.py +1 -0
- uncountable/types/api/runsheet/complete_async_upload.py +41 -0
- uncountable/types/api/triggers/run_trigger.py +3 -2
- uncountable/types/api/uploader/invoke_uploader.py +2 -2
- uncountable/types/async_batch_processor.py +34 -0
- uncountable/types/async_batch_t.py +6 -5
- uncountable/types/auth_retrieval_t.py +4 -3
- uncountable/types/base_t.py +4 -0
- uncountable/types/calculations_t.py +1 -1
- uncountable/types/chemical_structure_t.py +2 -1
- uncountable/types/client_base.py +21 -0
- uncountable/types/client_config_t.py +2 -1
- uncountable/types/curves_t.py +2 -2
- uncountable/types/data.py +2 -2
- uncountable/types/data_t.py +42 -32
- uncountable/types/entity_t.py +3 -3
- uncountable/types/experiment_groups_t.py +1 -1
- uncountable/types/field_values_t.py +20 -20
- uncountable/types/fields_t.py +1 -1
- uncountable/types/generic_upload_t.py +7 -6
- uncountable/types/id_source_t.py +5 -4
- uncountable/types/identifier_t.py +3 -3
- uncountable/types/input_attributes_t.py +1 -1
- uncountable/types/inputs_t.py +1 -1
- uncountable/types/integration_server_t.py +2 -1
- uncountable/types/job_definition_t.py +14 -13
- uncountable/types/outputs_t.py +1 -1
- uncountable/types/overrides_t.py +3 -2
- uncountable/types/phases_t.py +1 -1
- uncountable/types/queued_job_t.py +7 -7
- uncountable/types/recipe_identifiers_t.py +3 -3
- uncountable/types/recipe_links_t.py +1 -1
- uncountable/types/recipe_metadata_t.py +3 -3
- uncountable/types/recipe_output_metadata_t.py +1 -1
- uncountable/types/recipe_tags_t.py +1 -1
- uncountable/types/recipe_workflow_steps_t.py +5 -4
- uncountable/types/recipes_t.py +2 -1
- uncountable/types/response_t.py +2 -1
- uncountable/types/secret_retrieval_t.py +4 -3
- uncountable/types/units_t.py +1 -1
- uncountable/types/users_t.py +1 -1
- uncountable/types/webhook_job_t.py +4 -3
- uncountable/types/workflows_t.py +2 -2
- {uncountablepythonsdk-0.0.111.dist-info → uncountablepythonsdk-0.0.113.dist-info}/METADATA +2 -1
- {uncountablepythonsdk-0.0.111.dist-info → uncountablepythonsdk-0.0.113.dist-info}/RECORD +136 -131
- {uncountablepythonsdk-0.0.111.dist-info → uncountablepythonsdk-0.0.113.dist-info}/WHEEL +1 -1
- {uncountablepythonsdk-0.0.111.dist-info → uncountablepythonsdk-0.0.113.dist-info}/top_level.txt +0 -0
|
@@ -27,7 +27,7 @@ ENDPOINT_PATH = "api/external/id_source/match_id_source"
|
|
|
27
27
|
@serial_class(
|
|
28
28
|
named_type_path="sdk.api.id_source.match_id_source.Arguments",
|
|
29
29
|
)
|
|
30
|
-
@dataclasses.dataclass(kw_only=True)
|
|
30
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
31
31
|
class Arguments:
|
|
32
32
|
spec: id_source_t.IdSourceSpec
|
|
33
33
|
names: list[str]
|
|
@@ -37,7 +37,7 @@ class Arguments:
|
|
|
37
37
|
@serial_class(
|
|
38
38
|
named_type_path="sdk.api.id_source.match_id_source.Match",
|
|
39
39
|
)
|
|
40
|
-
@dataclasses.dataclass(kw_only=True)
|
|
40
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
41
41
|
class Match:
|
|
42
42
|
name: str
|
|
43
43
|
ids: list[base_t.ObjectId | str]
|
|
@@ -47,7 +47,7 @@ class Match:
|
|
|
47
47
|
@serial_class(
|
|
48
48
|
named_type_path="sdk.api.id_source.match_id_source.Data",
|
|
49
49
|
)
|
|
50
|
-
@dataclasses.dataclass(kw_only=True)
|
|
50
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
51
51
|
class Data:
|
|
52
52
|
results: list[Match]
|
|
53
53
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -26,7 +26,7 @@ ENDPOINT_PATH = "api/external/input_groups/external_get_input_group_names"
|
|
|
26
26
|
@serial_class(
|
|
27
27
|
named_type_path="sdk.api.input_groups.get_input_group_names.Arguments",
|
|
28
28
|
)
|
|
29
|
-
@dataclasses.dataclass(kw_only=True)
|
|
29
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
30
30
|
class Arguments:
|
|
31
31
|
material_family_id: base_t.ObjectId
|
|
32
32
|
|
|
@@ -35,7 +35,7 @@ class Arguments:
|
|
|
35
35
|
@serial_class(
|
|
36
36
|
named_type_path="sdk.api.input_groups.get_input_group_names.SimpleInputGroup",
|
|
37
37
|
)
|
|
38
|
-
@dataclasses.dataclass(kw_only=True)
|
|
38
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
39
39
|
class SimpleInputGroup:
|
|
40
40
|
input_group_id: base_t.ObjectId
|
|
41
41
|
name: str
|
|
@@ -45,7 +45,7 @@ class SimpleInputGroup:
|
|
|
45
45
|
@serial_class(
|
|
46
46
|
named_type_path="sdk.api.input_groups.get_input_group_names.Data",
|
|
47
47
|
)
|
|
48
|
-
@dataclasses.dataclass(kw_only=True)
|
|
48
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
49
49
|
class Data:
|
|
50
50
|
input_groups: list[SimpleInputGroup]
|
|
51
51
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -30,7 +30,7 @@ ENDPOINT_PATH = "api/external/inputs/external_create_inputs"
|
|
|
30
30
|
@serial_class(
|
|
31
31
|
named_type_path="sdk.api.inputs.create_inputs.Arguments",
|
|
32
32
|
)
|
|
33
|
-
@dataclasses.dataclass(kw_only=True)
|
|
33
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
34
34
|
class Arguments:
|
|
35
35
|
inputs_to_create: list[InputToCreate]
|
|
36
36
|
|
|
@@ -39,7 +39,7 @@ class Arguments:
|
|
|
39
39
|
@serial_class(
|
|
40
40
|
named_type_path="sdk.api.inputs.create_inputs.InputToCreate",
|
|
41
41
|
)
|
|
42
|
-
@dataclasses.dataclass(kw_only=True)
|
|
42
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
43
43
|
class InputToCreate:
|
|
44
44
|
name: str
|
|
45
45
|
material_family_ids: list[base_t.ObjectId]
|
|
@@ -54,7 +54,7 @@ class InputToCreate:
|
|
|
54
54
|
@serial_class(
|
|
55
55
|
named_type_path="sdk.api.inputs.create_inputs.InputSimple",
|
|
56
56
|
)
|
|
57
|
-
@dataclasses.dataclass(kw_only=True)
|
|
57
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
58
58
|
class InputSimple:
|
|
59
59
|
input_id: base_t.ObjectId
|
|
60
60
|
|
|
@@ -63,7 +63,7 @@ class InputSimple:
|
|
|
63
63
|
@serial_class(
|
|
64
64
|
named_type_path="sdk.api.inputs.create_inputs.Data",
|
|
65
65
|
)
|
|
66
|
-
@dataclasses.dataclass(kw_only=True)
|
|
66
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
67
67
|
class Data:
|
|
68
68
|
inputs: list[InputSimple]
|
|
69
69
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -30,7 +30,7 @@ ENDPOINT_PATH = "api/external/inputs/external_get_input_data"
|
|
|
30
30
|
@serial_class(
|
|
31
31
|
named_type_path="sdk.api.inputs.get_input_data.Arguments",
|
|
32
32
|
)
|
|
33
|
-
@dataclasses.dataclass(kw_only=True)
|
|
33
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
34
34
|
class Arguments:
|
|
35
35
|
material_family_id: base_t.ObjectId
|
|
36
36
|
input_ids: list[base_t.ObjectId] | None
|
|
@@ -43,7 +43,7 @@ class Arguments:
|
|
|
43
43
|
@serial_class(
|
|
44
44
|
named_type_path="sdk.api.inputs.get_input_data.SimpleInputAttr",
|
|
45
45
|
)
|
|
46
|
-
@dataclasses.dataclass(kw_only=True)
|
|
46
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
47
47
|
class SimpleInputAttr:
|
|
48
48
|
attribute_id: base_t.ObjectId
|
|
49
49
|
name: str
|
|
@@ -54,7 +54,7 @@ class SimpleInputAttr:
|
|
|
54
54
|
@serial_class(
|
|
55
55
|
named_type_path="sdk.api.inputs.get_input_data.SimpleInputGlobalCategory",
|
|
56
56
|
)
|
|
57
|
-
@dataclasses.dataclass(kw_only=True)
|
|
57
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
58
58
|
class SimpleInputGlobalCategory:
|
|
59
59
|
category_id: base_t.ObjectId
|
|
60
60
|
name: str
|
|
@@ -64,7 +64,7 @@ class SimpleInputGlobalCategory:
|
|
|
64
64
|
@serial_class(
|
|
65
65
|
named_type_path="sdk.api.inputs.get_input_data.SimpleInputSubcategory",
|
|
66
66
|
)
|
|
67
|
-
@dataclasses.dataclass(kw_only=True)
|
|
67
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
68
68
|
class SimpleInputSubcategory:
|
|
69
69
|
subcategory_id: base_t.ObjectId
|
|
70
70
|
name: str
|
|
@@ -74,7 +74,7 @@ class SimpleInputSubcategory:
|
|
|
74
74
|
@serial_class(
|
|
75
75
|
named_type_path="sdk.api.inputs.get_input_data.FullInput",
|
|
76
76
|
)
|
|
77
|
-
@dataclasses.dataclass(kw_only=True)
|
|
77
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
78
78
|
class FullInput:
|
|
79
79
|
input_id: base_t.ObjectId
|
|
80
80
|
name: str
|
|
@@ -89,7 +89,7 @@ class FullInput:
|
|
|
89
89
|
@serial_class(
|
|
90
90
|
named_type_path="sdk.api.inputs.get_input_data.Data",
|
|
91
91
|
)
|
|
92
|
-
@dataclasses.dataclass(kw_only=True)
|
|
92
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
93
93
|
class Data:
|
|
94
94
|
inputs: list[FullInput]
|
|
95
95
|
attrs: list[SimpleInputAttr]
|
|
@@ -26,7 +26,7 @@ ENDPOINT_PATH = "api/external/inputs/external_get_input_names"
|
|
|
26
26
|
@serial_class(
|
|
27
27
|
named_type_path="sdk.api.inputs.get_input_names.Arguments",
|
|
28
28
|
)
|
|
29
|
-
@dataclasses.dataclass(kw_only=True)
|
|
29
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
30
30
|
class Arguments:
|
|
31
31
|
material_family_id: base_t.ObjectId
|
|
32
32
|
is_parameter: bool | None
|
|
@@ -38,7 +38,7 @@ class Arguments:
|
|
|
38
38
|
@serial_class(
|
|
39
39
|
named_type_path="sdk.api.inputs.get_input_names.InputWithName",
|
|
40
40
|
)
|
|
41
|
-
@dataclasses.dataclass(kw_only=True)
|
|
41
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
42
42
|
class InputWithName:
|
|
43
43
|
input_id: base_t.ObjectId
|
|
44
44
|
name: str
|
|
@@ -48,7 +48,7 @@ class InputWithName:
|
|
|
48
48
|
@serial_class(
|
|
49
49
|
named_type_path="sdk.api.inputs.get_input_names.Data",
|
|
50
50
|
)
|
|
51
|
-
@dataclasses.dataclass(kw_only=True)
|
|
51
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
52
52
|
class Data:
|
|
53
53
|
inputs: list[InputWithName]
|
|
54
54
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -30,7 +30,7 @@ ENDPOINT_PATH = "api/external/inputs/external_get_inputs_data"
|
|
|
30
30
|
@serial_class(
|
|
31
31
|
named_type_path="sdk.api.inputs.get_inputs_data.Arguments",
|
|
32
32
|
)
|
|
33
|
-
@dataclasses.dataclass(kw_only=True)
|
|
33
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
34
34
|
class Arguments:
|
|
35
35
|
input_ids: list[base_t.ObjectId]
|
|
36
36
|
|
|
@@ -39,7 +39,7 @@ class Arguments:
|
|
|
39
39
|
@serial_class(
|
|
40
40
|
named_type_path="sdk.api.inputs.get_inputs_data.AttributeDetails",
|
|
41
41
|
)
|
|
42
|
-
@dataclasses.dataclass(kw_only=True)
|
|
42
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
43
43
|
class AttributeDetails:
|
|
44
44
|
attribute_id: base_t.ObjectId
|
|
45
45
|
name: str
|
|
@@ -50,7 +50,7 @@ class AttributeDetails:
|
|
|
50
50
|
@serial_class(
|
|
51
51
|
named_type_path="sdk.api.inputs.get_inputs_data.InputTag",
|
|
52
52
|
)
|
|
53
|
-
@dataclasses.dataclass(kw_only=True)
|
|
53
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
54
54
|
class InputTag:
|
|
55
55
|
tag_id: base_t.ObjectId
|
|
56
56
|
tag_name: str
|
|
@@ -60,7 +60,7 @@ class InputTag:
|
|
|
60
60
|
@serial_class(
|
|
61
61
|
named_type_path="sdk.api.inputs.get_inputs_data.InputCategory",
|
|
62
62
|
)
|
|
63
|
-
@dataclasses.dataclass(kw_only=True)
|
|
63
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
64
64
|
class InputCategory:
|
|
65
65
|
material_family_id: base_t.ObjectId
|
|
66
66
|
category_id: base_t.ObjectId
|
|
@@ -71,7 +71,7 @@ class InputCategory:
|
|
|
71
71
|
@serial_class(
|
|
72
72
|
named_type_path="sdk.api.inputs.get_inputs_data.InputDetails",
|
|
73
73
|
)
|
|
74
|
-
@dataclasses.dataclass(kw_only=True)
|
|
74
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
75
75
|
class InputDetails:
|
|
76
76
|
input_id: base_t.ObjectId
|
|
77
77
|
name: str
|
|
@@ -86,7 +86,7 @@ class InputDetails:
|
|
|
86
86
|
@serial_class(
|
|
87
87
|
named_type_path="sdk.api.inputs.get_inputs_data.Data",
|
|
88
88
|
)
|
|
89
|
-
@dataclasses.dataclass(kw_only=True)
|
|
89
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
90
90
|
class Data:
|
|
91
91
|
input_details: list[InputDetails]
|
|
92
92
|
input_attributes: list[AttributeDetails]
|
|
@@ -27,7 +27,7 @@ ENDPOINT_PATH = "api/external/inputs/external_set_input_attribute_values"
|
|
|
27
27
|
@serial_class(
|
|
28
28
|
named_type_path="sdk.api.inputs.set_input_attribute_values.Arguments",
|
|
29
29
|
)
|
|
30
|
-
@dataclasses.dataclass(kw_only=True)
|
|
30
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
31
31
|
class Arguments:
|
|
32
32
|
attribute_values: list[InputAttributeValue]
|
|
33
33
|
|
|
@@ -38,7 +38,7 @@ class Arguments:
|
|
|
38
38
|
unconverted_values={"quantity_json"},
|
|
39
39
|
to_string_values={"quantity_dec"},
|
|
40
40
|
)
|
|
41
|
-
@dataclasses.dataclass(kw_only=True)
|
|
41
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
42
42
|
class InputAttributeValue:
|
|
43
43
|
input_id: base_t.ObjectId
|
|
44
44
|
attribute_id: base_t.ObjectId
|
|
@@ -50,7 +50,7 @@ class InputAttributeValue:
|
|
|
50
50
|
@serial_class(
|
|
51
51
|
named_type_path="sdk.api.inputs.set_input_attribute_values.Data",
|
|
52
52
|
)
|
|
53
|
-
@dataclasses.dataclass(kw_only=True)
|
|
53
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
54
54
|
class Data(response_t.Response):
|
|
55
55
|
pass
|
|
56
56
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -8,6 +8,7 @@ import datetime # noqa: F401
|
|
|
8
8
|
from decimal import Decimal # noqa: F401
|
|
9
9
|
import dataclasses
|
|
10
10
|
from pkgs.serialization import serial_class
|
|
11
|
+
from ... import base_t
|
|
11
12
|
from ... import identifier_t
|
|
12
13
|
from ... import response_t
|
|
13
14
|
|
|
@@ -26,7 +27,7 @@ ENDPOINT_PATH = "api/external/inputs/external_set_input_category"
|
|
|
26
27
|
@serial_class(
|
|
27
28
|
named_type_path="sdk.api.inputs.set_input_category.Arguments",
|
|
28
29
|
)
|
|
29
|
-
@dataclasses.dataclass(kw_only=True)
|
|
30
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
30
31
|
class Arguments:
|
|
31
32
|
input_key: identifier_t.IdentifierKey
|
|
32
33
|
category_id: int | None
|
|
@@ -37,7 +38,7 @@ class Arguments:
|
|
|
37
38
|
@serial_class(
|
|
38
39
|
named_type_path="sdk.api.inputs.set_input_category.Data",
|
|
39
40
|
)
|
|
40
|
-
@dataclasses.dataclass(kw_only=True)
|
|
41
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
41
42
|
class Data(response_t.Response):
|
|
42
43
|
pass
|
|
43
44
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -8,6 +8,7 @@ import datetime # noqa: F401
|
|
|
8
8
|
from decimal import Decimal # noqa: F401
|
|
9
9
|
import dataclasses
|
|
10
10
|
from pkgs.serialization import serial_class
|
|
11
|
+
from ... import base_t
|
|
11
12
|
from ... import identifier_t
|
|
12
13
|
from ... import post_base_t
|
|
13
14
|
from ... import response_t
|
|
@@ -27,7 +28,7 @@ ENDPOINT_PATH = "api/external/inputs/external_set_input_subcategories"
|
|
|
27
28
|
@serial_class(
|
|
28
29
|
named_type_path="sdk.api.inputs.set_input_subcategories.Arguments",
|
|
29
30
|
)
|
|
30
|
-
@dataclasses.dataclass(kw_only=True)
|
|
31
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
31
32
|
class Arguments:
|
|
32
33
|
input_key: identifier_t.IdentifierKey
|
|
33
34
|
subcategory_ids: list[int]
|
|
@@ -38,7 +39,7 @@ class Arguments:
|
|
|
38
39
|
@serial_class(
|
|
39
40
|
named_type_path="sdk.api.inputs.set_input_subcategories.Data",
|
|
40
41
|
)
|
|
41
|
-
@dataclasses.dataclass(kw_only=True)
|
|
42
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
42
43
|
class Data(response_t.Response):
|
|
43
44
|
pass
|
|
44
45
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -9,6 +9,7 @@ from decimal import Decimal # noqa: F401
|
|
|
9
9
|
from enum import StrEnum
|
|
10
10
|
import dataclasses
|
|
11
11
|
from pkgs.serialization import serial_class
|
|
12
|
+
from ... import base_t
|
|
12
13
|
from ... import identifier_t
|
|
13
14
|
|
|
14
15
|
__all__: list[str] = [
|
|
@@ -33,7 +34,7 @@ class IntermediateType(StrEnum):
|
|
|
33
34
|
@serial_class(
|
|
34
35
|
named_type_path="sdk.api.inputs.set_intermediate_type.Arguments",
|
|
35
36
|
)
|
|
36
|
-
@dataclasses.dataclass(kw_only=True)
|
|
37
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
37
38
|
class Arguments:
|
|
38
39
|
input_key: identifier_t.IdentifierKey
|
|
39
40
|
intermediate_type: IntermediateType
|
|
@@ -43,7 +44,7 @@ class Arguments:
|
|
|
43
44
|
@serial_class(
|
|
44
45
|
named_type_path="sdk.api.inputs.set_intermediate_type.Data",
|
|
45
46
|
)
|
|
46
|
-
@dataclasses.dataclass(kw_only=True)
|
|
47
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
47
48
|
class Data:
|
|
48
49
|
pass
|
|
49
50
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -29,7 +29,7 @@ ENDPOINT_PATH = "api/external/material_families/external_update_entity_material_
|
|
|
29
29
|
@serial_class(
|
|
30
30
|
named_type_path="sdk.api.material_families.update_entity_material_families.Arguments",
|
|
31
31
|
)
|
|
32
|
-
@dataclasses.dataclass(kw_only=True)
|
|
32
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
33
33
|
class Arguments:
|
|
34
34
|
entity_key: identifier_t.IdentifierKey
|
|
35
35
|
entity_type: 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] | typing.Literal[entity_t.EntityType.INGREDIENT_CATEGORY_ALL]
|
|
@@ -41,7 +41,7 @@ class Arguments:
|
|
|
41
41
|
@serial_class(
|
|
42
42
|
named_type_path="sdk.api.material_families.update_entity_material_families.Data",
|
|
43
43
|
)
|
|
44
|
-
@dataclasses.dataclass(kw_only=True)
|
|
44
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
45
45
|
class Data(response_t.Response):
|
|
46
46
|
pass
|
|
47
47
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -30,7 +30,7 @@ ENDPOINT_PATH = "api/external/outputs/external_get_output_data"
|
|
|
30
30
|
@serial_class(
|
|
31
31
|
named_type_path="sdk.api.outputs.get_output_data.Arguments",
|
|
32
32
|
)
|
|
33
|
-
@dataclasses.dataclass(kw_only=True)
|
|
33
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
34
34
|
class Arguments:
|
|
35
35
|
material_family_id: base_t.ObjectId
|
|
36
36
|
output_ids: list[base_t.ObjectId] | None = None
|
|
@@ -44,7 +44,7 @@ class Arguments:
|
|
|
44
44
|
unconverted_values={"quantity_json"},
|
|
45
45
|
to_string_values={"quantity_dec"},
|
|
46
46
|
)
|
|
47
|
-
@dataclasses.dataclass(kw_only=True)
|
|
47
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
48
48
|
class OutputAttrVal:
|
|
49
49
|
attribute_id: base_t.ObjectId
|
|
50
50
|
quantity_json: base_t.JsonValue
|
|
@@ -55,7 +55,7 @@ class OutputAttrVal:
|
|
|
55
55
|
@serial_class(
|
|
56
56
|
named_type_path="sdk.api.outputs.get_output_data.SimpleOutputAttr",
|
|
57
57
|
)
|
|
58
|
-
@dataclasses.dataclass(kw_only=True)
|
|
58
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
59
59
|
class SimpleOutputAttr:
|
|
60
60
|
attribute_id: base_t.ObjectId
|
|
61
61
|
name: str
|
|
@@ -66,7 +66,7 @@ class SimpleOutputAttr:
|
|
|
66
66
|
@serial_class(
|
|
67
67
|
named_type_path="sdk.api.outputs.get_output_data.SimpleOutputGlobalCategory",
|
|
68
68
|
)
|
|
69
|
-
@dataclasses.dataclass(kw_only=True)
|
|
69
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
70
70
|
class SimpleOutputGlobalCategory:
|
|
71
71
|
category_id: base_t.ObjectId
|
|
72
72
|
name: str
|
|
@@ -76,7 +76,7 @@ class SimpleOutputGlobalCategory:
|
|
|
76
76
|
@serial_class(
|
|
77
77
|
named_type_path="sdk.api.outputs.get_output_data.FullOutput",
|
|
78
78
|
)
|
|
79
|
-
@dataclasses.dataclass(kw_only=True)
|
|
79
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
80
80
|
class FullOutput:
|
|
81
81
|
output_id: base_t.ObjectId
|
|
82
82
|
name: str
|
|
@@ -90,7 +90,7 @@ class FullOutput:
|
|
|
90
90
|
@serial_class(
|
|
91
91
|
named_type_path="sdk.api.outputs.get_output_data.Data",
|
|
92
92
|
)
|
|
93
|
-
@dataclasses.dataclass(kw_only=True)
|
|
93
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
94
94
|
class Data:
|
|
95
95
|
outputs: list[FullOutput]
|
|
96
96
|
attrs: list[SimpleOutputAttr]
|
|
@@ -26,7 +26,7 @@ ENDPOINT_PATH = "api/external/outputs/external_get_output_names"
|
|
|
26
26
|
@serial_class(
|
|
27
27
|
named_type_path="sdk.api.outputs.get_output_names.Arguments",
|
|
28
28
|
)
|
|
29
|
-
@dataclasses.dataclass(kw_only=True)
|
|
29
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
30
30
|
class Arguments:
|
|
31
31
|
material_family_id: base_t.ObjectId
|
|
32
32
|
offset: int | None = None
|
|
@@ -37,7 +37,7 @@ class Arguments:
|
|
|
37
37
|
@serial_class(
|
|
38
38
|
named_type_path="sdk.api.outputs.get_output_names.OutputWithName",
|
|
39
39
|
)
|
|
40
|
-
@dataclasses.dataclass(kw_only=True)
|
|
40
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
41
41
|
class OutputWithName:
|
|
42
42
|
output_id: base_t.ObjectId
|
|
43
43
|
name: str
|
|
@@ -47,7 +47,7 @@ class OutputWithName:
|
|
|
47
47
|
@serial_class(
|
|
48
48
|
named_type_path="sdk.api.outputs.get_output_names.Data",
|
|
49
49
|
)
|
|
50
|
-
@dataclasses.dataclass(kw_only=True)
|
|
50
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
51
51
|
class Data:
|
|
52
52
|
outputs: list[OutputWithName]
|
|
53
53
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -30,7 +30,7 @@ ENDPOINT_PATH = "api/external/outputs/external_resolve_output_conditions"
|
|
|
30
30
|
named_type_path="sdk.api.outputs.resolve_output_conditions.ConditionParameterValueRecord",
|
|
31
31
|
to_string_values={"value_numeric"},
|
|
32
32
|
)
|
|
33
|
-
@dataclasses.dataclass(kw_only=True)
|
|
33
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
34
34
|
class ConditionParameterValueRecord:
|
|
35
35
|
condition_parameter_id: base_t.ObjectId
|
|
36
36
|
value_numeric: Decimal | None = None
|
|
@@ -41,7 +41,7 @@ class ConditionParameterValueRecord:
|
|
|
41
41
|
@serial_class(
|
|
42
42
|
named_type_path="sdk.api.outputs.resolve_output_conditions.ConditionRequest",
|
|
43
43
|
)
|
|
44
|
-
@dataclasses.dataclass(kw_only=True)
|
|
44
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
45
45
|
class ConditionRequest:
|
|
46
46
|
conditions: list[ConditionParameterValueRecord]
|
|
47
47
|
|
|
@@ -50,7 +50,7 @@ class ConditionRequest:
|
|
|
50
50
|
@serial_class(
|
|
51
51
|
named_type_path="sdk.api.outputs.resolve_output_conditions.Arguments",
|
|
52
52
|
)
|
|
53
|
-
@dataclasses.dataclass(kw_only=True)
|
|
53
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
54
54
|
class Arguments:
|
|
55
55
|
requested_conditions: list[ConditionRequest]
|
|
56
56
|
|
|
@@ -59,7 +59,7 @@ class Arguments:
|
|
|
59
59
|
@serial_class(
|
|
60
60
|
named_type_path="sdk.api.outputs.resolve_output_conditions.ConditionResponse",
|
|
61
61
|
)
|
|
62
|
-
@dataclasses.dataclass(kw_only=True)
|
|
62
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
63
63
|
class ConditionResponse:
|
|
64
64
|
conditions: list[ConditionParameterValueRecord]
|
|
65
65
|
output_condition_id: base_t.ObjectId
|
|
@@ -69,7 +69,7 @@ class ConditionResponse:
|
|
|
69
69
|
@serial_class(
|
|
70
70
|
named_type_path="sdk.api.outputs.resolve_output_conditions.Data",
|
|
71
71
|
)
|
|
72
|
-
@dataclasses.dataclass(kw_only=True)
|
|
72
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
73
73
|
class Data:
|
|
74
74
|
resolved_conditions: list[ConditionResponse]
|
|
75
75
|
|
|
@@ -9,6 +9,7 @@ from decimal import Decimal # noqa: F401
|
|
|
9
9
|
import dataclasses
|
|
10
10
|
from pkgs.serialization import serial_class
|
|
11
11
|
from pkgs.serialization import serial_alias_annotation
|
|
12
|
+
from ... import base_t
|
|
12
13
|
from ... import identifier_t
|
|
13
14
|
from ... import permissions_t
|
|
14
15
|
from ... import post_base_t
|
|
@@ -34,7 +35,7 @@ ENDPOINT_PATH = "api/external/permissions/external_set_core_permissions"
|
|
|
34
35
|
named_type_path="sdk.api.permissions.set_core_permissions.PermissionsScopeProject",
|
|
35
36
|
parse_require={"type"},
|
|
36
37
|
)
|
|
37
|
-
@dataclasses.dataclass(kw_only=True)
|
|
38
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
38
39
|
class PermissionsScopeProject:
|
|
39
40
|
type: typing.Literal["project"] = "project"
|
|
40
41
|
project_key: identifier_t.IdentifierKey
|
|
@@ -45,7 +46,7 @@ class PermissionsScopeProject:
|
|
|
45
46
|
named_type_path="sdk.api.permissions.set_core_permissions.PermissionsScopeRecipe",
|
|
46
47
|
parse_require={"type"},
|
|
47
48
|
)
|
|
48
|
-
@dataclasses.dataclass(kw_only=True)
|
|
49
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
49
50
|
class PermissionsScopeRecipe:
|
|
50
51
|
type: typing.Literal["recipe"] = "recipe"
|
|
51
52
|
recipe_key: identifier_t.IdentifierKey
|
|
@@ -56,7 +57,7 @@ class PermissionsScopeRecipe:
|
|
|
56
57
|
named_type_path="sdk.api.permissions.set_core_permissions.PermissionsScopeMaterialFamily",
|
|
57
58
|
parse_require={"type"},
|
|
58
59
|
)
|
|
59
|
-
@dataclasses.dataclass(kw_only=True)
|
|
60
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
60
61
|
class PermissionsScopeMaterialFamily:
|
|
61
62
|
type: typing.Literal["material_family"] = "material_family"
|
|
62
63
|
material_family_key: identifier_t.IdentifierKey
|
|
@@ -67,7 +68,7 @@ class PermissionsScopeMaterialFamily:
|
|
|
67
68
|
named_type_path="sdk.api.permissions.set_core_permissions.PermissionsScopeAllMaterialFamilies",
|
|
68
69
|
parse_require={"type"},
|
|
69
70
|
)
|
|
70
|
-
@dataclasses.dataclass(kw_only=True)
|
|
71
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
71
72
|
class PermissionsScopeAllMaterialFamilies:
|
|
72
73
|
type: typing.Literal["all_material_families"] = "all_material_families"
|
|
73
74
|
|
|
@@ -85,7 +86,7 @@ PermissionsScope = typing.Annotated[
|
|
|
85
86
|
@serial_class(
|
|
86
87
|
named_type_path="sdk.api.permissions.set_core_permissions.Arguments",
|
|
87
88
|
)
|
|
88
|
-
@dataclasses.dataclass(kw_only=True)
|
|
89
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
89
90
|
class Arguments:
|
|
90
91
|
scope: PermissionsScope
|
|
91
92
|
permissions_types: list[permissions_t.CorePermissionType]
|
|
@@ -98,7 +99,7 @@ class Arguments:
|
|
|
98
99
|
@serial_class(
|
|
99
100
|
named_type_path="sdk.api.permissions.set_core_permissions.Data",
|
|
100
101
|
)
|
|
101
|
-
@dataclasses.dataclass(kw_only=True)
|
|
102
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
102
103
|
class Data:
|
|
103
104
|
pass
|
|
104
105
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -27,7 +27,7 @@ ENDPOINT_PATH = "api/external/project/external_get_projects"
|
|
|
27
27
|
@serial_class(
|
|
28
28
|
named_type_path="sdk.api.project.get_projects.Arguments",
|
|
29
29
|
)
|
|
30
|
-
@dataclasses.dataclass(kw_only=True)
|
|
30
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
31
31
|
class Arguments:
|
|
32
32
|
all_material_families: bool
|
|
33
33
|
material_family_id: base_t.ObjectId | None
|
|
@@ -37,7 +37,7 @@ class Arguments:
|
|
|
37
37
|
@serial_class(
|
|
38
38
|
named_type_path="sdk.api.project.get_projects.Project",
|
|
39
39
|
)
|
|
40
|
-
@dataclasses.dataclass(kw_only=True)
|
|
40
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
41
41
|
class Project:
|
|
42
42
|
id: base_t.ObjectId
|
|
43
43
|
name: str
|
|
@@ -50,7 +50,7 @@ class Project:
|
|
|
50
50
|
@serial_class(
|
|
51
51
|
named_type_path="sdk.api.project.get_projects.Data",
|
|
52
52
|
)
|
|
53
|
-
@dataclasses.dataclass(kw_only=True)
|
|
53
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
54
54
|
class Data:
|
|
55
55
|
projects: list[Project]
|
|
56
56
|
phases: list[phases_t.Phase]
|
|
@@ -29,7 +29,7 @@ ENDPOINT_PATH = "api/external/project/external_get_projects_data"
|
|
|
29
29
|
@serial_class(
|
|
30
30
|
named_type_path="sdk.api.project.get_projects_data.Arguments",
|
|
31
31
|
)
|
|
32
|
-
@dataclasses.dataclass(kw_only=True)
|
|
32
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
33
33
|
class Arguments:
|
|
34
34
|
project_ids: list[base_t.ObjectId]
|
|
35
35
|
offset: int | None = None
|
|
@@ -40,7 +40,7 @@ class Arguments:
|
|
|
40
40
|
@serial_class(
|
|
41
41
|
named_type_path="sdk.api.project.get_projects_data.ProjectDetailed",
|
|
42
42
|
)
|
|
43
|
-
@dataclasses.dataclass(kw_only=True)
|
|
43
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
44
44
|
class ProjectDetailed:
|
|
45
45
|
id: base_t.ObjectId
|
|
46
46
|
name: str
|
|
@@ -54,7 +54,7 @@ class ProjectDetailed:
|
|
|
54
54
|
@serial_class(
|
|
55
55
|
named_type_path="sdk.api.project.get_projects_data.Data",
|
|
56
56
|
)
|
|
57
|
-
@dataclasses.dataclass(kw_only=True)
|
|
57
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
58
58
|
class Data:
|
|
59
59
|
projects: list[ProjectDetailed]
|
|
60
60
|
phases: list[phases_t.Phase]
|
|
@@ -9,6 +9,7 @@ from decimal import Decimal # noqa: F401
|
|
|
9
9
|
import dataclasses
|
|
10
10
|
from pkgs.serialization import serial_class
|
|
11
11
|
from ... import async_batch_t
|
|
12
|
+
from ... import base_t
|
|
12
13
|
from ... import identifier_t
|
|
13
14
|
from ... import recipe_links_t
|
|
14
15
|
|
|
@@ -27,7 +28,7 @@ ENDPOINT_PATH = "api/external/recipe_links/create_recipe_link"
|
|
|
27
28
|
@serial_class(
|
|
28
29
|
named_type_path="sdk.api.recipe_links.create_recipe_link.Arguments",
|
|
29
30
|
)
|
|
30
|
-
@dataclasses.dataclass(kw_only=True)
|
|
31
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
31
32
|
class Arguments:
|
|
32
33
|
recipe_from_key: identifier_t.IdentifierKey
|
|
33
34
|
recipe_to_key: identifier_t.IdentifierKey
|
|
@@ -39,7 +40,7 @@ class Arguments:
|
|
|
39
40
|
@serial_class(
|
|
40
41
|
named_type_path="sdk.api.recipe_links.create_recipe_link.Data",
|
|
41
42
|
)
|
|
42
|
-
@dataclasses.dataclass(kw_only=True)
|
|
43
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
43
44
|
class Data(async_batch_t.AsyncBatchActionReturn):
|
|
44
45
|
pass
|
|
45
46
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -9,6 +9,7 @@ from decimal import Decimal # noqa: F401
|
|
|
9
9
|
import dataclasses
|
|
10
10
|
from pkgs.serialization import serial_class
|
|
11
11
|
from ... import async_batch_t
|
|
12
|
+
from ... import base_t
|
|
12
13
|
from ... import identifier_t
|
|
13
14
|
from ... import recipe_links_t
|
|
14
15
|
|
|
@@ -27,7 +28,7 @@ ENDPOINT_PATH = "api/external/recipe_links/remove_recipe_link"
|
|
|
27
28
|
@serial_class(
|
|
28
29
|
named_type_path="sdk.api.recipe_links.remove_recipe_link.Arguments",
|
|
29
30
|
)
|
|
30
|
-
@dataclasses.dataclass(kw_only=True)
|
|
31
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
31
32
|
class Arguments:
|
|
32
33
|
recipe_from_key: identifier_t.IdentifierKey
|
|
33
34
|
recipe_to_key: identifier_t.IdentifierKey
|
|
@@ -38,7 +39,7 @@ class Arguments:
|
|
|
38
39
|
@serial_class(
|
|
39
40
|
named_type_path="sdk.api.recipe_links.remove_recipe_link.Data",
|
|
40
41
|
)
|
|
41
|
-
@dataclasses.dataclass(kw_only=True)
|
|
42
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
42
43
|
class Data(async_batch_t.AsyncBatchActionReturn):
|
|
43
44
|
pass
|
|
44
45
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -26,7 +26,7 @@ ENDPOINT_PATH = "api/external/recipe_metadata/external_get_recipe_metadata_data"
|
|
|
26
26
|
@serial_class(
|
|
27
27
|
named_type_path="sdk.api.recipe_metadata.get_recipe_metadata_data.Arguments",
|
|
28
28
|
)
|
|
29
|
-
@dataclasses.dataclass(kw_only=True)
|
|
29
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
30
30
|
class Arguments:
|
|
31
31
|
material_family_id: base_t.ObjectId
|
|
32
32
|
recipe_metadata_ids: list[base_t.ObjectId] | None
|
|
@@ -38,7 +38,7 @@ class Arguments:
|
|
|
38
38
|
@serial_class(
|
|
39
39
|
named_type_path="sdk.api.recipe_metadata.get_recipe_metadata_data.FullRecipeMetadataField",
|
|
40
40
|
)
|
|
41
|
-
@dataclasses.dataclass(kw_only=True)
|
|
41
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
42
42
|
class FullRecipeMetadataField:
|
|
43
43
|
recipe_metadata_id: base_t.ObjectId
|
|
44
44
|
name: str
|
|
@@ -49,7 +49,7 @@ class FullRecipeMetadataField:
|
|
|
49
49
|
@serial_class(
|
|
50
50
|
named_type_path="sdk.api.recipe_metadata.get_recipe_metadata_data.Data",
|
|
51
51
|
)
|
|
52
|
-
@dataclasses.dataclass(kw_only=True)
|
|
52
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
53
53
|
class Data:
|
|
54
54
|
recipe_metadata: list[FullRecipeMetadataField]
|
|
55
55
|
# DO NOT MODIFY -- This file is generated by type_spec
|