UncountablePythonSDK 0.0.91__py3-none-any.whl → 0.0.93__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.91.dist-info → UncountablePythonSDK-0.0.93.dist-info}/METADATA +2 -2
- UncountablePythonSDK-0.0.93.dist-info/RECORD +301 -0
- {UncountablePythonSDK-0.0.91.dist-info → UncountablePythonSDK-0.0.93.dist-info}/WHEEL +1 -1
- examples/set_recipe_metadata_file.py +1 -1
- examples/upload_files.py +1 -2
- pkgs/argument_parser/__init__.py +3 -0
- pkgs/argument_parser/argument_parser.py +52 -23
- pkgs/filesystem_utils/__init__.py +1 -0
- pkgs/filesystem_utils/_gdrive_session.py +4 -4
- pkgs/filesystem_utils/_s3_session.py +2 -1
- pkgs/filesystem_utils/_sftp_session.py +2 -3
- pkgs/filesystem_utils/file_type_utils.py +10 -10
- pkgs/serialization/annotation.py +5 -5
- pkgs/serialization/missing_sentry.py +1 -1
- pkgs/serialization/serial_alias.py +3 -3
- pkgs/serialization/serial_class.py +10 -10
- pkgs/serialization/serial_generic.py +1 -1
- pkgs/serialization/serial_union.py +10 -10
- pkgs/serialization_util/__init__.py +2 -0
- pkgs/serialization_util/serialization_helpers.py +1 -4
- pkgs/type_spec/actions_registry/__main__.py +0 -4
- pkgs/type_spec/builder.py +121 -40
- pkgs/type_spec/config.py +10 -5
- pkgs/type_spec/emit_open_api.py +2 -2
- pkgs/type_spec/emit_open_api_util.py +1 -1
- pkgs/type_spec/emit_python.py +145 -63
- pkgs/type_spec/emit_typescript.py +57 -10
- pkgs/type_spec/load_types.py +1 -2
- pkgs/type_spec/open_api_util.py +1 -2
- pkgs/type_spec/parts/base.py.prepart +2 -0
- pkgs/type_spec/type_info/emit_type_info.py +8 -8
- pkgs/type_spec/util.py +5 -7
- pkgs/type_spec/value_spec/__main__.py +15 -5
- pkgs/type_spec/value_spec/emit_python.py +5 -2
- pkgs/type_spec/value_spec/types.py +1 -1
- uncountable/core/client.py +16 -15
- uncountable/core/file_upload.py +39 -15
- uncountable/integration/construct_client.py +3 -3
- uncountable/integration/executors/generic_upload_executor.py +1 -1
- uncountable/integration/job.py +2 -2
- uncountable/integration/queue_runner/command_server/types.py +1 -1
- uncountable/integration/queue_runner/worker.py +1 -1
- uncountable/integration/server.py +4 -4
- uncountable/integration/telemetry.py +11 -0
- uncountable/types/__init__.py +0 -1
- uncountable/types/api/batch/execute_batch.py +1 -2
- uncountable/types/api/batch/execute_batch_load_async.py +0 -1
- uncountable/types/api/chemical/convert_chemical_formats.py +0 -1
- uncountable/types/api/entity/create_entities.py +3 -4
- uncountable/types/api/entity/create_entity.py +4 -5
- uncountable/types/api/entity/get_entities_data.py +0 -1
- uncountable/types/api/entity/grant_entity_permissions.py +3 -4
- uncountable/types/api/entity/list_entities.py +5 -6
- uncountable/types/api/entity/lock_entity.py +1 -2
- uncountable/types/api/entity/resolve_entity_ids.py +2 -3
- uncountable/types/api/entity/set_entity_field_values.py +0 -1
- uncountable/types/api/entity/set_values.py +0 -1
- uncountable/types/api/entity/transition_entity_phase.py +1 -2
- uncountable/types/api/entity/unlock_entity.py +0 -1
- uncountable/types/api/equipment/associate_equipment_input.py +0 -1
- uncountable/types/api/field_options/upsert_field_options.py +3 -4
- uncountable/types/api/files/download_file.py +1 -2
- uncountable/types/api/id_source/list_id_source.py +3 -4
- uncountable/types/api/id_source/match_id_source.py +1 -2
- uncountable/types/api/input_groups/get_input_group_names.py +0 -1
- uncountable/types/api/inputs/create_inputs.py +4 -5
- uncountable/types/api/inputs/get_input_data.py +5 -6
- uncountable/types/api/inputs/get_input_names.py +3 -4
- uncountable/types/api/inputs/get_inputs_data.py +0 -1
- uncountable/types/api/inputs/set_input_attribute_values.py +2 -3
- uncountable/types/api/inputs/set_input_category.py +2 -3
- uncountable/types/api/inputs/set_input_subcategories.py +0 -1
- uncountable/types/api/inputs/set_intermediate_type.py +1 -2
- uncountable/types/api/material_families/update_entity_material_families.py +1 -2
- uncountable/types/api/outputs/get_output_data.py +6 -7
- uncountable/types/api/outputs/get_output_names.py +2 -3
- uncountable/types/api/outputs/resolve_output_conditions.py +2 -3
- uncountable/types/api/permissions/set_core_permissions.py +3 -4
- uncountable/types/api/project/get_projects.py +3 -4
- uncountable/types/api/project/get_projects_data.py +4 -5
- uncountable/types/api/recipe_links/create_recipe_link.py +1 -2
- uncountable/types/api/recipe_links/remove_recipe_link.py +1 -2
- uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +3 -4
- uncountable/types/api/recipes/add_recipe_to_project.py +0 -1
- uncountable/types/api/recipes/archive_recipes.py +1 -2
- uncountable/types/api/recipes/associate_recipe_as_input.py +2 -3
- uncountable/types/api/recipes/associate_recipe_as_lot.py +0 -1
- uncountable/types/api/recipes/clear_recipe_outputs.py +0 -1
- uncountable/types/api/recipes/create_recipe.py +6 -7
- uncountable/types/api/recipes/create_recipes.py +4 -5
- uncountable/types/api/recipes/disassociate_recipe_as_input.py +0 -1
- uncountable/types/api/recipes/edit_recipe_inputs.py +9 -10
- uncountable/types/api/recipes/get_column_calculation_values.py +1 -2
- uncountable/types/api/recipes/get_curve.py +2 -3
- uncountable/types/api/recipes/get_recipe_calculations.py +3 -4
- uncountable/types/api/recipes/get_recipe_links.py +1 -2
- uncountable/types/api/recipes/get_recipe_names.py +0 -1
- uncountable/types/api/recipes/get_recipe_output_metadata.py +0 -1
- uncountable/types/api/recipes/get_recipes_data.py +22 -23
- uncountable/types/api/recipes/lock_recipes.py +3 -4
- uncountable/types/api/recipes/remove_recipe_from_project.py +0 -1
- uncountable/types/api/recipes/set_recipe_inputs.py +6 -7
- uncountable/types/api/recipes/set_recipe_metadata.py +0 -1
- uncountable/types/api/recipes/set_recipe_output_annotations.py +5 -6
- uncountable/types/api/recipes/set_recipe_output_file.py +2 -3
- uncountable/types/api/recipes/set_recipe_outputs.py +8 -9
- uncountable/types/api/recipes/set_recipe_tags.py +2 -3
- uncountable/types/api/recipes/unarchive_recipes.py +0 -1
- uncountable/types/api/recipes/unlock_recipes.py +2 -3
- uncountable/types/api/triggers/run_trigger.py +1 -2
- uncountable/types/api/uploader/invoke_uploader.py +2 -3
- uncountable/types/async_batch.py +0 -1
- uncountable/types/async_batch_processor.py +23 -24
- uncountable/types/async_batch_t.py +5 -6
- uncountable/types/async_jobs.py +0 -1
- uncountable/types/async_jobs_t.py +1 -2
- uncountable/types/auth_retrieval.py +0 -1
- uncountable/types/auth_retrieval_t.py +2 -3
- uncountable/types/base.py +0 -1
- uncountable/types/base_t.py +2 -1
- uncountable/types/calculations.py +0 -1
- uncountable/types/calculations_t.py +0 -1
- uncountable/types/chemical_structure.py +0 -1
- uncountable/types/chemical_structure_t.py +3 -4
- uncountable/types/client_base.py +65 -66
- uncountable/types/client_config.py +0 -1
- uncountable/types/client_config_t.py +1 -2
- uncountable/types/curves.py +0 -1
- uncountable/types/curves_t.py +4 -5
- uncountable/types/entity.py +0 -1
- uncountable/types/entity_t.py +3 -4
- uncountable/types/experiment_groups.py +0 -1
- uncountable/types/experiment_groups_t.py +0 -1
- uncountable/types/field_values.py +0 -1
- uncountable/types/field_values_t.py +6 -7
- uncountable/types/fields.py +0 -1
- uncountable/types/fields_t.py +0 -1
- uncountable/types/generic_upload.py +0 -1
- uncountable/types/generic_upload_t.py +7 -8
- uncountable/types/id_source.py +0 -1
- uncountable/types/id_source_t.py +2 -3
- uncountable/types/identifier.py +0 -1
- uncountable/types/identifier_t.py +1 -2
- uncountable/types/input_attributes.py +0 -1
- uncountable/types/input_attributes_t.py +2 -3
- uncountable/types/inputs.py +0 -1
- uncountable/types/inputs_t.py +2 -3
- uncountable/types/integration_server.py +0 -1
- uncountable/types/integration_server_t.py +2 -3
- uncountable/types/job_definition.py +0 -1
- uncountable/types/job_definition_t.py +16 -17
- uncountable/types/outputs.py +0 -1
- uncountable/types/outputs_t.py +1 -2
- uncountable/types/overrides.py +0 -1
- uncountable/types/overrides_t.py +0 -1
- uncountable/types/permissions.py +0 -1
- uncountable/types/permissions_t.py +1 -2
- uncountable/types/phases.py +0 -1
- uncountable/types/phases_t.py +0 -1
- uncountable/types/post_base.py +0 -1
- uncountable/types/post_base_t.py +1 -2
- uncountable/types/queued_job.py +0 -1
- uncountable/types/queued_job_t.py +2 -3
- uncountable/types/recipe_identifiers.py +0 -1
- uncountable/types/recipe_identifiers_t.py +3 -4
- uncountable/types/recipe_inputs.py +0 -1
- uncountable/types/recipe_inputs_t.py +1 -2
- uncountable/types/recipe_links.py +0 -1
- uncountable/types/recipe_links_t.py +2 -3
- uncountable/types/recipe_metadata.py +0 -1
- uncountable/types/recipe_metadata_t.py +6 -7
- uncountable/types/recipe_output_metadata.py +0 -1
- uncountable/types/recipe_output_metadata_t.py +0 -1
- uncountable/types/recipe_tags.py +0 -1
- uncountable/types/recipe_tags_t.py +0 -1
- uncountable/types/recipe_workflow_steps.py +0 -1
- uncountable/types/recipe_workflow_steps_t.py +2 -3
- uncountable/types/recipes.py +0 -1
- uncountable/types/recipes_t.py +0 -1
- uncountable/types/response.py +0 -1
- uncountable/types/response_t.py +0 -1
- uncountable/types/secret_retrieval.py +0 -1
- uncountable/types/secret_retrieval_t.py +3 -4
- uncountable/types/units.py +0 -1
- uncountable/types/units_t.py +0 -1
- uncountable/types/users.py +0 -1
- uncountable/types/users_t.py +0 -1
- uncountable/types/webhook_job.py +0 -1
- uncountable/types/webhook_job_t.py +0 -1
- uncountable/types/workflows.py +0 -1
- uncountable/types/workflows_t.py +1 -2
- UncountablePythonSDK-0.0.91.dist-info/RECORD +0 -301
- {UncountablePythonSDK-0.0.91.dist-info → UncountablePythonSDK-0.0.93.dist-info}/top_level.txt +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -53,7 +52,7 @@ class TransitionIdentifierTransition:
|
|
|
53
52
|
|
|
54
53
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
55
54
|
TransitionIdentifier = typing.Annotated[
|
|
56
|
-
|
|
55
|
+
TransitionIdentifierPhases | TransitionIdentifierTransition,
|
|
57
56
|
serial_alias_annotation(
|
|
58
57
|
named_type_path="sdk.api.entity.transition_entity_phase.TransitionIdentifier",
|
|
59
58
|
),
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -30,9 +29,9 @@ ENDPOINT_PATH = "api/external/field_options/upsert_field_options"
|
|
|
30
29
|
@dataclasses.dataclass(kw_only=True)
|
|
31
30
|
class FieldOption:
|
|
32
31
|
option_id: str
|
|
33
|
-
option_value:
|
|
34
|
-
archived:
|
|
35
|
-
subsets:
|
|
32
|
+
option_value: str | None = None
|
|
33
|
+
archived: bool | None = None
|
|
34
|
+
subsets: list[str] | None = None
|
|
36
35
|
|
|
37
36
|
|
|
38
37
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -7,7 +6,7 @@ from __future__ import annotations
|
|
|
7
6
|
import typing # noqa: F401
|
|
8
7
|
import datetime # noqa: F401
|
|
9
8
|
from decimal import Decimal # noqa: F401
|
|
10
|
-
from
|
|
9
|
+
from enum import StrEnum
|
|
11
10
|
import dataclasses
|
|
12
11
|
from pkgs.serialization import serial_class
|
|
13
12
|
from pkgs.serialization import serial_union_annotation
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -32,8 +31,8 @@ ENDPOINT_PATH = "api/external/id_source/list_id_source"
|
|
|
32
31
|
class Arguments:
|
|
33
32
|
spec: id_source_t.IdSourceSpec
|
|
34
33
|
search_label: str
|
|
35
|
-
offset:
|
|
36
|
-
limit:
|
|
34
|
+
offset: int | None = None
|
|
35
|
+
limit: int | None = None
|
|
37
36
|
|
|
38
37
|
|
|
39
38
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -42,7 +41,7 @@ class Arguments:
|
|
|
42
41
|
)
|
|
43
42
|
@dataclasses.dataclass(kw_only=True)
|
|
44
43
|
class IdName:
|
|
45
|
-
id:
|
|
44
|
+
id: base_t.ObjectId | str
|
|
46
45
|
name: str
|
|
47
46
|
|
|
48
47
|
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -41,7 +40,7 @@ class Arguments:
|
|
|
41
40
|
@dataclasses.dataclass(kw_only=True)
|
|
42
41
|
class Match:
|
|
43
42
|
name: str
|
|
44
|
-
ids: list[
|
|
43
|
+
ids: list[base_t.ObjectId | str]
|
|
45
44
|
|
|
46
45
|
|
|
47
46
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -43,10 +42,10 @@ class Arguments:
|
|
|
43
42
|
class InputToCreate:
|
|
44
43
|
name: str
|
|
45
44
|
material_family_ids: list[base_t.ObjectId]
|
|
46
|
-
quantity_type: typing.
|
|
47
|
-
type: typing.
|
|
48
|
-
attributes:
|
|
49
|
-
category_id:
|
|
45
|
+
quantity_type: typing.Literal[inputs_t.IngredientQuantityType.NUMERIC] | typing.Literal[inputs_t.IngredientQuantityType.TEXT]
|
|
46
|
+
type: typing.Literal[inputs_t.IngredientType.INGREDIENT] | typing.Literal[inputs_t.IngredientType.PROCESS_PARAMETER]
|
|
47
|
+
attributes: list[input_attributes_t.InputAttributeValue] | None = None
|
|
48
|
+
category_id: base_t.ObjectId | None = None
|
|
50
49
|
|
|
51
50
|
|
|
52
51
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -34,10 +33,10 @@ ENDPOINT_PATH = "api/external/inputs/external_get_input_data"
|
|
|
34
33
|
@dataclasses.dataclass(kw_only=True)
|
|
35
34
|
class Arguments:
|
|
36
35
|
material_family_id: base_t.ObjectId
|
|
37
|
-
input_ids:
|
|
38
|
-
is_parameter:
|
|
39
|
-
offset:
|
|
40
|
-
limit:
|
|
36
|
+
input_ids: list[base_t.ObjectId] | None
|
|
37
|
+
is_parameter: bool | None
|
|
38
|
+
offset: int | None = None
|
|
39
|
+
limit: int | None = None
|
|
41
40
|
|
|
42
41
|
|
|
43
42
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -82,7 +81,7 @@ class FullInput:
|
|
|
82
81
|
quantity_type: str
|
|
83
82
|
is_parameter: bool
|
|
84
83
|
attributes: list[input_attributes_t.InputAttributeValue]
|
|
85
|
-
global_category_id:
|
|
84
|
+
global_category_id: base_t.ObjectId | None
|
|
86
85
|
subcategory_ids: list[base_t.ObjectId]
|
|
87
86
|
|
|
88
87
|
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -30,9 +29,9 @@ ENDPOINT_PATH = "api/external/inputs/external_get_input_names"
|
|
|
30
29
|
@dataclasses.dataclass(kw_only=True)
|
|
31
30
|
class Arguments:
|
|
32
31
|
material_family_id: base_t.ObjectId
|
|
33
|
-
is_parameter:
|
|
34
|
-
offset:
|
|
35
|
-
limit:
|
|
32
|
+
is_parameter: bool | None
|
|
33
|
+
offset: int | None = None
|
|
34
|
+
limit: int | None = None
|
|
36
35
|
|
|
37
36
|
|
|
38
37
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -43,8 +42,8 @@ class Arguments:
|
|
|
43
42
|
class InputAttributeValue:
|
|
44
43
|
input_id: base_t.ObjectId
|
|
45
44
|
attribute_id: base_t.ObjectId
|
|
46
|
-
quantity_dec:
|
|
47
|
-
quantity_json:
|
|
45
|
+
quantity_dec: Decimal | None = None
|
|
46
|
+
quantity_json: base_t.JsonValue | None = None
|
|
48
47
|
|
|
49
48
|
|
|
50
49
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -30,8 +29,8 @@ ENDPOINT_PATH = "api/external/inputs/external_set_input_category"
|
|
|
30
29
|
@dataclasses.dataclass(kw_only=True)
|
|
31
30
|
class Arguments:
|
|
32
31
|
input_key: identifier_t.IdentifierKey
|
|
33
|
-
category_id:
|
|
34
|
-
material_family_ids:
|
|
32
|
+
category_id: int | None
|
|
33
|
+
material_family_ids: list[int] | None = None
|
|
35
34
|
|
|
36
35
|
|
|
37
36
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -7,7 +6,7 @@ from __future__ import annotations
|
|
|
7
6
|
import typing # noqa: F401
|
|
8
7
|
import datetime # noqa: F401
|
|
9
8
|
from decimal import Decimal # noqa: F401
|
|
10
|
-
from
|
|
9
|
+
from enum import StrEnum
|
|
11
10
|
import dataclasses
|
|
12
11
|
from pkgs.serialization import serial_class
|
|
13
12
|
from ... import identifier_t
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -33,7 +32,7 @@ ENDPOINT_PATH = "api/external/material_families/external_update_entity_material_
|
|
|
33
32
|
@dataclasses.dataclass(kw_only=True)
|
|
34
33
|
class Arguments:
|
|
35
34
|
entity_key: identifier_t.IdentifierKey
|
|
36
|
-
entity_type: typing.
|
|
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]
|
|
37
36
|
material_family_ids: list[base_t.ObjectId]
|
|
38
37
|
update_type: post_base_t.UpdateType
|
|
39
38
|
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -34,9 +33,9 @@ ENDPOINT_PATH = "api/external/outputs/external_get_output_data"
|
|
|
34
33
|
@dataclasses.dataclass(kw_only=True)
|
|
35
34
|
class Arguments:
|
|
36
35
|
material_family_id: base_t.ObjectId
|
|
37
|
-
output_ids:
|
|
38
|
-
offset:
|
|
39
|
-
limit:
|
|
36
|
+
output_ids: list[base_t.ObjectId] | None = None
|
|
37
|
+
offset: int | None = None
|
|
38
|
+
limit: int | None = None
|
|
40
39
|
|
|
41
40
|
|
|
42
41
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -49,7 +48,7 @@ class Arguments:
|
|
|
49
48
|
class OutputAttrVal:
|
|
50
49
|
attribute_id: base_t.ObjectId
|
|
51
50
|
quantity_json: base_t.JsonValue
|
|
52
|
-
quantity_dec:
|
|
51
|
+
quantity_dec: Decimal | None = None
|
|
53
52
|
|
|
54
53
|
|
|
55
54
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -83,8 +82,8 @@ class FullOutput:
|
|
|
83
82
|
name: str
|
|
84
83
|
quantity_type: str
|
|
85
84
|
attributes: list[OutputAttrVal]
|
|
86
|
-
global_category_id:
|
|
87
|
-
unit_id:
|
|
85
|
+
global_category_id: base_t.ObjectId | None
|
|
86
|
+
unit_id: base_t.ObjectId | None
|
|
88
87
|
|
|
89
88
|
|
|
90
89
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -30,8 +29,8 @@ ENDPOINT_PATH = "api/external/outputs/external_get_output_names"
|
|
|
30
29
|
@dataclasses.dataclass(kw_only=True)
|
|
31
30
|
class Arguments:
|
|
32
31
|
material_family_id: base_t.ObjectId
|
|
33
|
-
offset:
|
|
34
|
-
limit:
|
|
32
|
+
offset: int | None = None
|
|
33
|
+
limit: int | None = None
|
|
35
34
|
|
|
36
35
|
|
|
37
36
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -34,8 +33,8 @@ ENDPOINT_PATH = "api/external/outputs/external_resolve_output_conditions"
|
|
|
34
33
|
@dataclasses.dataclass(kw_only=True)
|
|
35
34
|
class ConditionParameterValueRecord:
|
|
36
35
|
condition_parameter_id: base_t.ObjectId
|
|
37
|
-
value_numeric:
|
|
38
|
-
value_string:
|
|
36
|
+
value_numeric: Decimal | None = None
|
|
37
|
+
value_string: str | None = None
|
|
39
38
|
|
|
40
39
|
|
|
41
40
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -75,7 +74,7 @@ class PermissionsScopeAllMaterialFamilies:
|
|
|
75
74
|
|
|
76
75
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
77
76
|
PermissionsScope = typing.Annotated[
|
|
78
|
-
|
|
77
|
+
PermissionsScopeProject | PermissionsScopeRecipe | PermissionsScopeMaterialFamily | PermissionsScopeAllMaterialFamilies,
|
|
79
78
|
serial_alias_annotation(
|
|
80
79
|
named_type_path="sdk.api.permissions.set_core_permissions.PermissionsScope",
|
|
81
80
|
),
|
|
@@ -91,8 +90,8 @@ class Arguments:
|
|
|
91
90
|
scope: PermissionsScope
|
|
92
91
|
permissions_types: list[permissions_t.CorePermissionType]
|
|
93
92
|
update_type: post_base_t.UpdateType
|
|
94
|
-
user_group_ids:
|
|
95
|
-
user_ids:
|
|
93
|
+
user_group_ids: list[int] | None = None
|
|
94
|
+
user_ids: list[int] | None = None
|
|
96
95
|
|
|
97
96
|
|
|
98
97
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -31,7 +30,7 @@ ENDPOINT_PATH = "api/external/project/external_get_projects"
|
|
|
31
30
|
@dataclasses.dataclass(kw_only=True)
|
|
32
31
|
class Arguments:
|
|
33
32
|
all_material_families: bool
|
|
34
|
-
material_family_id:
|
|
33
|
+
material_family_id: base_t.ObjectId | None
|
|
35
34
|
|
|
36
35
|
|
|
37
36
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -43,8 +42,8 @@ class Project:
|
|
|
43
42
|
id: base_t.ObjectId
|
|
44
43
|
name: str
|
|
45
44
|
material_family_id: base_t.ObjectId
|
|
46
|
-
project_owner_id:
|
|
47
|
-
phase_id:
|
|
45
|
+
project_owner_id: base_t.ObjectId | None
|
|
46
|
+
phase_id: base_t.ObjectId | None
|
|
48
47
|
|
|
49
48
|
|
|
50
49
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -33,8 +32,8 @@ ENDPOINT_PATH = "api/external/project/external_get_projects_data"
|
|
|
33
32
|
@dataclasses.dataclass(kw_only=True)
|
|
34
33
|
class Arguments:
|
|
35
34
|
project_ids: list[base_t.ObjectId]
|
|
36
|
-
offset:
|
|
37
|
-
limit:
|
|
35
|
+
offset: int | None = None
|
|
36
|
+
limit: int | None = None
|
|
38
37
|
|
|
39
38
|
|
|
40
39
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -46,8 +45,8 @@ class ProjectDetailed:
|
|
|
46
45
|
id: base_t.ObjectId
|
|
47
46
|
name: str
|
|
48
47
|
material_family_id: base_t.ObjectId
|
|
49
|
-
project_owner_id:
|
|
50
|
-
phase_id:
|
|
48
|
+
project_owner_id: base_t.ObjectId | None
|
|
49
|
+
phase_id: base_t.ObjectId | None
|
|
51
50
|
values: list[field_values_t.ArgumentValueId]
|
|
52
51
|
|
|
53
52
|
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -32,7 +31,7 @@ ENDPOINT_PATH = "api/external/recipe_links/create_recipe_link"
|
|
|
32
31
|
class Arguments:
|
|
33
32
|
recipe_from_key: identifier_t.IdentifierKey
|
|
34
33
|
recipe_to_key: identifier_t.IdentifierKey
|
|
35
|
-
link_type: typing.
|
|
34
|
+
link_type: typing.Literal[recipe_links_t.RecipeLinkType.CHILD] | typing.Literal[recipe_links_t.RecipeLinkType.CONTROL] | typing.Literal[recipe_links_t.RecipeLinkType.USER_LINK]
|
|
36
35
|
name: str
|
|
37
36
|
|
|
38
37
|
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -32,7 +31,7 @@ ENDPOINT_PATH = "api/external/recipe_links/remove_recipe_link"
|
|
|
32
31
|
class Arguments:
|
|
33
32
|
recipe_from_key: identifier_t.IdentifierKey
|
|
34
33
|
recipe_to_key: identifier_t.IdentifierKey
|
|
35
|
-
link_type: typing.
|
|
34
|
+
link_type: typing.Literal[recipe_links_t.RecipeLinkType.CHILD] | typing.Literal[recipe_links_t.RecipeLinkType.CONTROL] | typing.Literal[recipe_links_t.RecipeLinkType.USER_LINK]
|
|
36
35
|
|
|
37
36
|
|
|
38
37
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -30,9 +29,9 @@ ENDPOINT_PATH = "api/external/recipe_metadata/external_get_recipe_metadata_data"
|
|
|
30
29
|
@dataclasses.dataclass(kw_only=True)
|
|
31
30
|
class Arguments:
|
|
32
31
|
material_family_id: base_t.ObjectId
|
|
33
|
-
recipe_metadata_ids:
|
|
34
|
-
offset:
|
|
35
|
-
limit:
|
|
32
|
+
recipe_metadata_ids: list[base_t.ObjectId] | None
|
|
33
|
+
offset: int | None = None
|
|
34
|
+
limit: int | None = None
|
|
36
35
|
|
|
37
36
|
|
|
38
37
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -29,7 +28,7 @@ ENDPOINT_PATH = "api/external/recipes/archive"
|
|
|
29
28
|
@dataclasses.dataclass(kw_only=True)
|
|
30
29
|
class Arguments:
|
|
31
30
|
recipes: list[identifier_t.IdentifierKey]
|
|
32
|
-
reason:
|
|
31
|
+
reason: str | None = None
|
|
33
32
|
|
|
34
33
|
|
|
35
34
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -30,8 +29,8 @@ ENDPOINT_PATH = "api/external/recipes/associate_recipe_as_input"
|
|
|
30
29
|
@dataclasses.dataclass(kw_only=True)
|
|
31
30
|
class Arguments:
|
|
32
31
|
recipe_key: identifier_t.IdentifierKey
|
|
33
|
-
input_key:
|
|
34
|
-
show_in_listings:
|
|
32
|
+
input_key: identifier_t.IdentifierKey | None = None
|
|
33
|
+
show_in_listings: bool | None = None
|
|
35
34
|
|
|
36
35
|
|
|
37
36
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -33,12 +32,12 @@ ENDPOINT_PATH = "api/external/recipes/create_recipe"
|
|
|
33
32
|
class Arguments:
|
|
34
33
|
material_family_id: base_t.ObjectId
|
|
35
34
|
workflow_id: base_t.ObjectId
|
|
36
|
-
name:
|
|
37
|
-
project_id:
|
|
38
|
-
workflow_variant_id:
|
|
39
|
-
recipe_metadata:
|
|
40
|
-
identifiers:
|
|
41
|
-
definition_key:
|
|
35
|
+
name: str | None = None
|
|
36
|
+
project_id: base_t.ObjectId | None = None
|
|
37
|
+
workflow_variant_id: base_t.ObjectId | None = None
|
|
38
|
+
recipe_metadata: list[recipe_metadata_t.MetadataValue] | None = None
|
|
39
|
+
identifiers: recipe_identifiers_t.RecipeIdentifiers | None = None
|
|
40
|
+
definition_key: identifier_t.IdentifierKey | None = None
|
|
42
41
|
|
|
43
42
|
|
|
44
43
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -32,9 +31,9 @@ ENDPOINT_PATH = "api/external/recipes/external_create_recipes"
|
|
|
32
31
|
@dataclasses.dataclass(kw_only=True)
|
|
33
32
|
class CreateRecipeDefinition:
|
|
34
33
|
workflow_id: base_t.ObjectId
|
|
35
|
-
name:
|
|
36
|
-
workflow_variant_id:
|
|
37
|
-
recipe_metadata:
|
|
34
|
+
name: str | None = None
|
|
35
|
+
workflow_variant_id: base_t.ObjectId | None = None
|
|
36
|
+
recipe_metadata: list[recipe_metadata_t.MetadataValue] | None = None
|
|
38
37
|
|
|
39
38
|
|
|
40
39
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -45,7 +44,7 @@ class CreateRecipeDefinition:
|
|
|
45
44
|
class Arguments:
|
|
46
45
|
material_family_id: base_t.ObjectId
|
|
47
46
|
recipe_definitions: list[CreateRecipeDefinition]
|
|
48
|
-
project_id:
|
|
47
|
+
project_id: base_t.ObjectId | None = None
|
|
49
48
|
|
|
50
49
|
|
|
51
50
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -7,7 +6,7 @@ from __future__ import annotations
|
|
|
7
6
|
import typing # noqa: F401
|
|
8
7
|
import datetime # noqa: F401
|
|
9
8
|
from decimal import Decimal # noqa: F401
|
|
10
|
-
from
|
|
9
|
+
from enum import StrEnum
|
|
11
10
|
import dataclasses
|
|
12
11
|
from pkgs.serialization import serial_class
|
|
13
12
|
from pkgs.serialization import serial_union_annotation
|
|
@@ -88,10 +87,10 @@ class RecipeInputEditInputBase(RecipeInputEditBase):
|
|
|
88
87
|
ingredient_key: identifier_t.IdentifierKey
|
|
89
88
|
quantity_basis: recipe_inputs_t.QuantityBasis = recipe_inputs_t.QuantityBasis.MASS
|
|
90
89
|
input_value_type: recipe_inputs_t.InputValueType = recipe_inputs_t.InputValueType.VALUE
|
|
91
|
-
value_numeric:
|
|
92
|
-
value_str:
|
|
93
|
-
behavior:
|
|
94
|
-
calculation_key:
|
|
90
|
+
value_numeric: Decimal | None = None
|
|
91
|
+
value_str: str | None = None
|
|
92
|
+
behavior: inputs_t.IngredientBehavior | None = None
|
|
93
|
+
calculation_key: identifier_t.IdentifierKey | None = None
|
|
95
94
|
|
|
96
95
|
|
|
97
96
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -156,8 +155,8 @@ class RecipeInputEditAddInstructions(RecipeInputEditBase):
|
|
|
156
155
|
@dataclasses.dataclass(kw_only=True)
|
|
157
156
|
class AnnotationEdit:
|
|
158
157
|
annotation_type_key: identifier_t.IdentifierKey
|
|
159
|
-
lower_value:
|
|
160
|
-
upper_value:
|
|
158
|
+
lower_value: Decimal | None = None
|
|
159
|
+
upper_value: Decimal | None = None
|
|
161
160
|
|
|
162
161
|
|
|
163
162
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -181,7 +180,7 @@ class RecipeInputEditUpdateAnnotations(RecipeInputEditInputBase):
|
|
|
181
180
|
class RecipeInputEditSetRole(RecipeInputEditBase):
|
|
182
181
|
type: typing.Literal[RecipeInputEditType.SET_ROLE] = RecipeInputEditType.SET_ROLE
|
|
183
182
|
ingredient_key: identifier_t.IdentifierKey
|
|
184
|
-
ingredient_role_key:
|
|
183
|
+
ingredient_role_key: identifier_t.IdentifierKey | None
|
|
185
184
|
|
|
186
185
|
|
|
187
186
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -243,7 +242,7 @@ class RecipeInputEditPlaceholder(RecipeInputEditBase):
|
|
|
243
242
|
|
|
244
243
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
245
244
|
RecipeInputEdit = typing.Annotated[
|
|
246
|
-
|
|
245
|
+
RecipeInputEditClearInputs | RecipeInputEditUpsertInput | RecipeInputEditAddInput | RecipeInputEditUpdateAnnotations | RecipeInputEditSetLot | RecipeInputEditChangeBasisViewed | RecipeInputEditAddInstructions | RecipeInputEditSetRole | RecipeInputEditPlaceholder,
|
|
247
246
|
serial_union_annotation(
|
|
248
247
|
named_type_path="sdk.api.recipes.edit_recipe_inputs.RecipeInputEdit",
|
|
249
248
|
discriminator="type",
|