UncountablePythonSDK 0.0.8__py3-none-any.whl → 0.0.92__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.92.dist-info/METADATA +61 -0
- UncountablePythonSDK-0.0.92.dist-info/RECORD +301 -0
- {UncountablePythonSDK-0.0.8.dist-info → UncountablePythonSDK-0.0.92.dist-info}/WHEEL +1 -1
- {UncountablePythonSDK-0.0.8.dist-info → UncountablePythonSDK-0.0.92.dist-info}/top_level.txt +1 -1
- docs/.gitignore +1 -0
- docs/conf.py +57 -0
- docs/index.md +13 -0
- docs/justfile +12 -0
- docs/quickstart.md +19 -0
- docs/requirements.txt +7 -0
- docs/static/favicons/android-chrome-192x192.png +0 -0
- docs/static/favicons/android-chrome-512x512.png +0 -0
- docs/static/favicons/apple-touch-icon.png +0 -0
- docs/static/favicons/browserconfig.xml +9 -0
- docs/static/favicons/favicon-16x16.png +0 -0
- docs/static/favicons/favicon-32x32.png +0 -0
- docs/static/favicons/manifest.json +18 -0
- docs/static/favicons/mstile-150x150.png +0 -0
- docs/static/favicons/safari-pinned-tab.svg +32 -0
- docs/static/logo_blue.png +0 -0
- examples/async_batch.py +35 -0
- examples/create_entity.py +22 -17
- examples/download_files.py +26 -0
- examples/edit_recipe_inputs.py +50 -0
- examples/integration-server/jobs/materials_auto/example_cron.py +18 -0
- examples/integration-server/jobs/materials_auto/example_wh.py +15 -0
- examples/integration-server/jobs/materials_auto/profile.yaml +43 -0
- examples/integration-server/pyproject.toml +224 -0
- examples/invoke_uploader.py +26 -0
- examples/set_recipe_metadata_file.py +40 -0
- examples/set_recipe_output_file_sdk.py +26 -0
- examples/upload_files.py +18 -0
- pkgs/argument_parser/__init__.py +5 -0
- pkgs/argument_parser/_is_enum.py +1 -6
- pkgs/argument_parser/argument_parser.py +232 -76
- pkgs/argument_parser/case_convert.py +4 -3
- pkgs/filesystem_utils/__init__.py +20 -0
- pkgs/filesystem_utils/_blob_session.py +137 -0
- pkgs/filesystem_utils/_gdrive_session.py +309 -0
- pkgs/filesystem_utils/_local_session.py +69 -0
- pkgs/filesystem_utils/_s3_session.py +117 -0
- pkgs/filesystem_utils/_sftp_session.py +147 -0
- pkgs/filesystem_utils/file_type_utils.py +91 -0
- pkgs/filesystem_utils/filesystem_session.py +39 -0
- pkgs/py.typed +0 -0
- pkgs/serialization/__init__.py +8 -1
- pkgs/serialization/annotation.py +64 -0
- pkgs/serialization/missing_sentry.py +1 -1
- pkgs/serialization/opaque_key.py +1 -1
- pkgs/serialization/serial_alias.py +47 -0
- pkgs/serialization/serial_class.py +65 -50
- pkgs/serialization/serial_generic.py +16 -0
- pkgs/serialization/serial_union.py +84 -0
- pkgs/serialization/yaml.py +57 -0
- pkgs/serialization_util/__init__.py +7 -7
- pkgs/serialization_util/_get_type_for_serialization.py +1 -3
- pkgs/serialization_util/convert_to_snakecase.py +27 -0
- pkgs/serialization_util/dataclasses.py +14 -0
- pkgs/serialization_util/serialization_helpers.py +116 -74
- pkgs/strenum_compat/strenum_compat.py +1 -9
- pkgs/type_spec/actions_registry/__init__.py +0 -0
- pkgs/type_spec/actions_registry/__main__.py +126 -0
- pkgs/type_spec/actions_registry/emit_typescript.py +182 -0
- pkgs/type_spec/builder.py +475 -89
- pkgs/type_spec/config.py +24 -19
- pkgs/type_spec/emit_io_ts.py +5 -2
- pkgs/type_spec/emit_open_api.py +266 -32
- pkgs/type_spec/emit_open_api_util.py +32 -13
- pkgs/type_spec/emit_python.py +599 -151
- pkgs/type_spec/emit_typescript.py +74 -273
- pkgs/type_spec/emit_typescript_util.py +239 -5
- pkgs/type_spec/load_types.py +55 -10
- pkgs/type_spec/open_api_util.py +30 -41
- pkgs/type_spec/parts/base.py.prepart +4 -3
- pkgs/type_spec/type_info/emit_type_info.py +178 -16
- pkgs/type_spec/util.py +11 -11
- pkgs/type_spec/value_spec/__main__.py +3 -3
- pkgs/type_spec/value_spec/convert_type.py +8 -1
- pkgs/type_spec/value_spec/emit_python.py +13 -4
- uncountable/__init__.py +1 -2
- uncountable/core/__init__.py +12 -2
- uncountable/core/async_batch.py +37 -0
- uncountable/core/client.py +293 -43
- uncountable/core/environment.py +41 -0
- uncountable/core/file_upload.py +135 -0
- uncountable/core/types.py +17 -0
- uncountable/integration/__init__.py +0 -0
- uncountable/integration/cli.py +49 -0
- uncountable/integration/construct_client.py +51 -0
- uncountable/integration/cron.py +29 -0
- uncountable/integration/db/__init__.py +0 -0
- uncountable/integration/db/connect.py +18 -0
- uncountable/integration/db/session.py +25 -0
- uncountable/integration/entrypoint.py +13 -0
- uncountable/integration/executors/__init__.py +0 -0
- uncountable/integration/executors/executors.py +148 -0
- uncountable/integration/executors/generic_upload_executor.py +284 -0
- uncountable/integration/executors/script_executor.py +25 -0
- uncountable/integration/job.py +87 -0
- uncountable/integration/queue_runner/__init__.py +0 -0
- uncountable/integration/queue_runner/command_server/__init__.py +24 -0
- uncountable/integration/queue_runner/command_server/command_client.py +68 -0
- uncountable/integration/queue_runner/command_server/command_server.py +64 -0
- uncountable/integration/queue_runner/command_server/protocol/__init__.py +0 -0
- uncountable/integration/queue_runner/command_server/protocol/command_server.proto +22 -0
- uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.py +40 -0
- uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.pyi +38 -0
- uncountable/integration/queue_runner/command_server/protocol/command_server_pb2_grpc.py +129 -0
- uncountable/integration/queue_runner/command_server/types.py +52 -0
- uncountable/integration/queue_runner/datastore/__init__.py +3 -0
- uncountable/integration/queue_runner/datastore/datastore_sqlite.py +93 -0
- uncountable/integration/queue_runner/datastore/interface.py +19 -0
- uncountable/integration/queue_runner/datastore/model.py +17 -0
- uncountable/integration/queue_runner/job_scheduler.py +163 -0
- uncountable/integration/queue_runner/queue_runner.py +26 -0
- uncountable/integration/queue_runner/types.py +7 -0
- uncountable/integration/queue_runner/worker.py +119 -0
- uncountable/integration/scan_profiles.py +67 -0
- uncountable/integration/scheduler.py +150 -0
- uncountable/integration/secret_retrieval/__init__.py +3 -0
- uncountable/integration/secret_retrieval/retrieve_secret.py +93 -0
- uncountable/integration/server.py +117 -0
- uncountable/integration/telemetry.py +209 -0
- uncountable/integration/webhook_server/entrypoint.py +170 -0
- uncountable/types/__init__.py +136 -20
- uncountable/types/api/batch/execute_batch.py +15 -7
- uncountable/types/api/batch/execute_batch_load_async.py +42 -0
- uncountable/types/api/chemical/__init__.py +1 -0
- uncountable/types/api/chemical/convert_chemical_formats.py +63 -0
- uncountable/types/api/entity/create_entities.py +23 -11
- uncountable/types/api/entity/create_entity.py +21 -12
- uncountable/types/api/entity/get_entities_data.py +18 -8
- uncountable/types/api/entity/grant_entity_permissions.py +48 -0
- uncountable/types/api/entity/list_entities.py +27 -12
- uncountable/types/api/entity/lock_entity.py +45 -0
- uncountable/types/api/entity/resolve_entity_ids.py +17 -7
- uncountable/types/api/entity/set_entity_field_values.py +44 -0
- uncountable/types/api/entity/set_values.py +14 -7
- uncountable/types/api/entity/transition_entity_phase.py +80 -0
- uncountable/types/api/entity/unlock_entity.py +44 -0
- uncountable/types/api/equipment/__init__.py +1 -0
- uncountable/types/api/equipment/associate_equipment_input.py +44 -0
- uncountable/types/api/field_options/__init__.py +1 -0
- uncountable/types/api/field_options/upsert_field_options.py +55 -0
- uncountable/types/api/files/__init__.py +1 -0
- uncountable/types/api/files/download_file.py +77 -0
- uncountable/types/api/id_source/__init__.py +1 -0
- uncountable/types/api/id_source/list_id_source.py +56 -0
- uncountable/types/api/id_source/match_id_source.py +54 -0
- uncountable/types/api/input_groups/get_input_group_names.py +16 -6
- uncountable/types/api/inputs/create_inputs.py +24 -11
- uncountable/types/api/inputs/get_input_data.py +32 -13
- uncountable/types/api/inputs/get_input_names.py +18 -8
- uncountable/types/api/inputs/get_inputs_data.py +29 -10
- uncountable/types/api/inputs/set_input_attribute_values.py +16 -9
- uncountable/types/api/inputs/set_input_category.py +44 -0
- uncountable/types/api/inputs/set_input_subcategories.py +45 -0
- uncountable/types/api/inputs/set_intermediate_type.py +50 -0
- uncountable/types/api/material_families/__init__.py +1 -0
- uncountable/types/api/material_families/update_entity_material_families.py +48 -0
- uncountable/types/api/outputs/get_output_data.py +32 -16
- uncountable/types/api/outputs/get_output_names.py +18 -8
- uncountable/types/api/outputs/resolve_output_conditions.py +23 -10
- uncountable/types/api/permissions/__init__.py +1 -0
- uncountable/types/api/permissions/set_core_permissions.py +105 -0
- uncountable/types/api/project/get_projects.py +17 -7
- uncountable/types/api/project/get_projects_data.py +21 -11
- uncountable/types/api/recipe_links/__init__.py +1 -0
- uncountable/types/api/recipe_links/create_recipe_link.py +46 -0
- uncountable/types/api/recipe_links/remove_recipe_link.py +45 -0
- uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +18 -8
- uncountable/types/api/recipes/add_recipe_to_project.py +42 -0
- uncountable/types/api/recipes/archive_recipes.py +42 -0
- uncountable/types/api/recipes/associate_recipe_as_input.py +44 -0
- uncountable/types/api/recipes/associate_recipe_as_lot.py +43 -0
- uncountable/types/api/recipes/clear_recipe_outputs.py +42 -0
- uncountable/types/api/recipes/create_recipe.py +51 -0
- uncountable/types/api/recipes/create_recipes.py +25 -12
- uncountable/types/api/recipes/disassociate_recipe_as_input.py +42 -0
- uncountable/types/api/recipes/edit_recipe_inputs.py +283 -0
- uncountable/types/api/recipes/get_column_calculation_values.py +58 -0
- uncountable/types/api/recipes/get_curve.py +15 -7
- uncountable/types/api/recipes/get_recipe_calculations.py +17 -10
- uncountable/types/api/recipes/get_recipe_links.py +13 -6
- uncountable/types/api/recipes/get_recipe_names.py +16 -6
- uncountable/types/api/recipes/get_recipe_output_metadata.py +14 -7
- uncountable/types/api/recipes/get_recipes_data.py +63 -38
- uncountable/types/api/recipes/lock_recipes.py +63 -0
- uncountable/types/api/recipes/remove_recipe_from_project.py +42 -0
- uncountable/types/api/recipes/set_recipe_inputs.py +19 -10
- uncountable/types/api/recipes/set_recipe_metadata.py +43 -0
- uncountable/types/api/recipes/set_recipe_output_annotations.py +115 -0
- uncountable/types/api/recipes/set_recipe_output_file.py +56 -0
- uncountable/types/api/recipes/set_recipe_outputs.py +26 -12
- uncountable/types/api/recipes/set_recipe_tags.py +109 -0
- uncountable/types/api/recipes/unarchive_recipes.py +41 -0
- uncountable/types/api/recipes/unlock_recipes.py +50 -0
- uncountable/types/api/triggers/__init__.py +1 -0
- uncountable/types/api/triggers/run_trigger.py +43 -0
- uncountable/types/api/uploader/__init__.py +1 -0
- uncountable/types/api/uploader/invoke_uploader.py +47 -0
- uncountable/types/async_batch.py +13 -0
- uncountable/types/async_batch_processor.py +384 -0
- uncountable/types/async_batch_t.py +97 -0
- uncountable/types/async_jobs.py +9 -0
- uncountable/types/async_jobs_t.py +53 -0
- uncountable/types/auth_retrieval.py +12 -0
- uncountable/types/auth_retrieval_t.py +75 -0
- uncountable/types/base.py +5 -78
- uncountable/types/base_t.py +85 -0
- uncountable/types/calculations.py +3 -18
- uncountable/types/calculations_t.py +27 -0
- uncountable/types/chemical_structure.py +8 -0
- uncountable/types/chemical_structure_t.py +28 -0
- uncountable/types/client_base.py +1093 -54
- uncountable/types/client_config.py +8 -0
- uncountable/types/client_config_t.py +26 -0
- uncountable/types/curves.py +5 -42
- uncountable/types/curves_t.py +51 -0
- uncountable/types/entity.py +8 -269
- uncountable/types/entity_t.py +393 -0
- uncountable/types/experiment_groups.py +3 -18
- uncountable/types/experiment_groups_t.py +27 -0
- uncountable/types/field_values.py +17 -60
- uncountable/types/field_values_t.py +204 -0
- uncountable/types/fields.py +3 -19
- uncountable/types/fields_t.py +28 -0
- uncountable/types/generic_upload.py +15 -0
- uncountable/types/generic_upload_t.py +119 -0
- uncountable/types/id_source.py +12 -0
- uncountable/types/id_source_t.py +68 -0
- uncountable/types/identifier.py +11 -0
- uncountable/types/identifier_t.py +63 -0
- uncountable/types/input_attributes.py +3 -24
- uncountable/types/input_attributes_t.py +30 -0
- uncountable/types/inputs.py +6 -56
- uncountable/types/inputs_t.py +83 -0
- uncountable/types/integration_server.py +9 -0
- uncountable/types/integration_server_t.py +42 -0
- uncountable/types/job_definition.py +27 -0
- uncountable/types/job_definition_t.py +260 -0
- uncountable/types/outputs.py +3 -21
- uncountable/types/outputs_t.py +30 -0
- uncountable/types/overrides.py +10 -0
- uncountable/types/overrides_t.py +49 -0
- uncountable/types/permissions.py +8 -0
- uncountable/types/permissions_t.py +46 -0
- uncountable/types/phases.py +3 -18
- uncountable/types/phases_t.py +27 -0
- uncountable/types/post_base.py +8 -0
- uncountable/types/post_base_t.py +30 -0
- uncountable/types/queued_job.py +16 -0
- uncountable/types/queued_job_t.py +123 -0
- uncountable/types/recipe_identifiers.py +12 -0
- uncountable/types/recipe_identifiers_t.py +76 -0
- uncountable/types/recipe_inputs.py +9 -0
- uncountable/types/recipe_inputs_t.py +30 -0
- uncountable/types/recipe_links.py +4 -45
- uncountable/types/recipe_links_t.py +54 -0
- uncountable/types/recipe_metadata.py +5 -45
- uncountable/types/recipe_metadata_t.py +58 -0
- uncountable/types/recipe_output_metadata.py +3 -19
- uncountable/types/recipe_output_metadata_t.py +28 -0
- uncountable/types/recipe_tags.py +3 -18
- uncountable/types/recipe_tags_t.py +27 -0
- uncountable/types/recipe_workflow_steps.py +14 -0
- uncountable/types/recipe_workflow_steps_t.py +95 -0
- uncountable/types/recipes.py +8 -0
- uncountable/types/recipes_t.py +25 -0
- uncountable/types/response.py +3 -20
- uncountable/types/response_t.py +26 -0
- uncountable/types/secret_retrieval.py +12 -0
- uncountable/types/secret_retrieval_t.py +75 -0
- uncountable/types/units.py +3 -18
- uncountable/types/units_t.py +27 -0
- uncountable/types/users.py +3 -19
- uncountable/types/users_t.py +28 -0
- uncountable/types/webhook_job.py +9 -0
- uncountable/types/webhook_job_t.py +37 -0
- uncountable/types/workflows.py +4 -27
- uncountable/types/workflows_t.py +39 -0
- UncountablePythonSDK-0.0.8.dist-info/METADATA +0 -27
- UncountablePythonSDK-0.0.8.dist-info/RECORD +0 -134
- examples/recipe-import/importer.py +0 -39
- type_spec/external/api/batch/execute_batch.yaml +0 -56
- type_spec/external/api/entity/create_entities.yaml +0 -33
- type_spec/external/api/entity/create_entity.yaml +0 -39
- type_spec/external/api/entity/get_entities_data.yaml +0 -29
- type_spec/external/api/entity/list_entities.yaml +0 -52
- type_spec/external/api/entity/resolve_entity_ids.yaml +0 -29
- type_spec/external/api/entity/set_values.yaml +0 -18
- type_spec/external/api/input_groups/get_input_group_names.yaml +0 -29
- type_spec/external/api/inputs/create_inputs.yaml +0 -48
- type_spec/external/api/inputs/get_input_data.yaml +0 -95
- type_spec/external/api/inputs/get_input_names.yaml +0 -38
- type_spec/external/api/inputs/get_inputs_data.yaml +0 -82
- type_spec/external/api/inputs/set_input_attribute_values.yaml +0 -33
- type_spec/external/api/outputs/get_output_data.yaml +0 -92
- type_spec/external/api/outputs/get_output_names.yaml +0 -35
- type_spec/external/api/outputs/resolve_output_conditions.yaml +0 -50
- type_spec/external/api/project/get_projects.yaml +0 -42
- type_spec/external/api/project/get_projects_data.yaml +0 -50
- type_spec/external/api/recipe_metadata/get_recipe_metadata_data.yaml +0 -41
- type_spec/external/api/recipes/create_recipes.yaml +0 -47
- type_spec/external/api/recipes/get_curve.yaml +0 -18
- type_spec/external/api/recipes/get_recipe_calculations.yaml +0 -39
- type_spec/external/api/recipes/get_recipe_links.yaml +0 -26
- type_spec/external/api/recipes/get_recipe_names.yaml +0 -29
- type_spec/external/api/recipes/get_recipe_output_metadata.yaml +0 -36
- type_spec/external/api/recipes/get_recipes_data.yaml +0 -238
- type_spec/external/api/recipes/set_recipe_inputs.yaml +0 -36
- type_spec/external/api/recipes/set_recipe_outputs.yaml +0 -52
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
2
|
# flake8: noqa: F821
|
|
3
|
-
# ruff: noqa: E402
|
|
3
|
+
# ruff: noqa: E402 Q003
|
|
4
4
|
# fmt: off
|
|
5
5
|
# isort: skip_file
|
|
6
6
|
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
|
-
|
|
11
|
-
from
|
|
12
|
-
from ... import
|
|
10
|
+
import dataclasses
|
|
11
|
+
from pkgs.serialization import serial_class
|
|
12
|
+
from ... import base_t
|
|
13
|
+
from ... import curves_t
|
|
13
14
|
|
|
14
15
|
__all__: list[str] = [
|
|
15
16
|
"Arguments",
|
|
@@ -23,13 +24,20 @@ ENDPOINT_PATH = "api/external/recipes/external_get_curve"
|
|
|
23
24
|
|
|
24
25
|
|
|
25
26
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
26
|
-
@
|
|
27
|
+
@serial_class(
|
|
28
|
+
named_type_path="sdk.api.recipes.get_curve.Arguments",
|
|
29
|
+
)
|
|
30
|
+
@dataclasses.dataclass(kw_only=True)
|
|
27
31
|
class Arguments:
|
|
28
|
-
recipe_output_id: base_t.ObjectId
|
|
32
|
+
recipe_output_id: base_t.ObjectId | None = None
|
|
33
|
+
recipe_input_id: base_t.ObjectId | None = None
|
|
29
34
|
|
|
30
35
|
|
|
31
36
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
32
|
-
@
|
|
37
|
+
@serial_class(
|
|
38
|
+
named_type_path="sdk.api.recipes.get_curve.Data",
|
|
39
|
+
)
|
|
40
|
+
@dataclasses.dataclass(kw_only=True)
|
|
33
41
|
class Data:
|
|
34
42
|
curve: curves_t.Curve
|
|
35
43
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
2
|
# flake8: noqa: F821
|
|
3
|
-
# ruff: noqa: E402
|
|
3
|
+
# ruff: noqa: E402 Q003
|
|
4
4
|
# fmt: off
|
|
5
5
|
# isort: skip_file
|
|
6
6
|
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
|
-
from ... import
|
|
13
|
-
from ... import
|
|
12
|
+
from ... import base_t
|
|
13
|
+
from ... import calculations_t
|
|
14
14
|
|
|
15
15
|
__all__: list[str] = [
|
|
16
16
|
"Arguments",
|
|
@@ -25,27 +25,34 @@ ENDPOINT_PATH = "api/external/recipes/external_get_recipe_calculations"
|
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
28
|
-
@
|
|
28
|
+
@serial_class(
|
|
29
|
+
named_type_path="sdk.api.recipes.get_recipe_calculations.Arguments",
|
|
30
|
+
)
|
|
31
|
+
@dataclasses.dataclass(kw_only=True)
|
|
29
32
|
class Arguments:
|
|
30
33
|
recipe_ids: list[base_t.ObjectId]
|
|
31
|
-
calculation_ids:
|
|
34
|
+
calculation_ids: list[base_t.ObjectId] | None = None
|
|
32
35
|
|
|
33
36
|
|
|
34
37
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
35
38
|
@serial_class(
|
|
39
|
+
named_type_path="sdk.api.recipes.get_recipe_calculations.RecipeCalculation",
|
|
36
40
|
unconverted_values={"quantity_json"},
|
|
37
41
|
to_string_values={"quantity_dec"},
|
|
38
42
|
)
|
|
39
|
-
@dataclass(kw_only=True)
|
|
43
|
+
@dataclasses.dataclass(kw_only=True)
|
|
40
44
|
class RecipeCalculation:
|
|
41
45
|
recipe_id: base_t.ObjectId
|
|
42
46
|
calculation_id: base_t.ObjectId
|
|
43
|
-
quantity_dec:
|
|
44
|
-
quantity_json:
|
|
47
|
+
quantity_dec: Decimal | None = None
|
|
48
|
+
quantity_json: base_t.JsonValue | None = None
|
|
45
49
|
|
|
46
50
|
|
|
47
51
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
48
|
-
@
|
|
52
|
+
@serial_class(
|
|
53
|
+
named_type_path="sdk.api.recipes.get_recipe_calculations.Data",
|
|
54
|
+
)
|
|
55
|
+
@dataclasses.dataclass(kw_only=True)
|
|
49
56
|
class Data:
|
|
50
57
|
recipe_calculations: list[RecipeCalculation]
|
|
51
58
|
calculations: list[calculations_t.Calculation]
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
2
|
# flake8: noqa: F821
|
|
3
|
-
# ruff: noqa: E402
|
|
3
|
+
# ruff: noqa: E402 Q003
|
|
4
4
|
# fmt: off
|
|
5
5
|
# isort: skip_file
|
|
6
6
|
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
|
-
|
|
11
|
-
from
|
|
12
|
-
from ... import
|
|
10
|
+
import dataclasses
|
|
11
|
+
from pkgs.serialization import serial_class
|
|
12
|
+
from ... import base_t
|
|
13
|
+
from ... import recipe_links_t
|
|
13
14
|
|
|
14
15
|
__all__: list[str] = [
|
|
15
16
|
"Arguments",
|
|
@@ -23,7 +24,10 @@ ENDPOINT_PATH = "api/external/recipes/external_get_recipe_links"
|
|
|
23
24
|
|
|
24
25
|
|
|
25
26
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
26
|
-
@
|
|
27
|
+
@serial_class(
|
|
28
|
+
named_type_path="sdk.api.recipes.get_recipe_links.Arguments",
|
|
29
|
+
)
|
|
30
|
+
@dataclasses.dataclass(kw_only=True)
|
|
27
31
|
class Arguments:
|
|
28
32
|
recipe_ids: list[base_t.ObjectId]
|
|
29
33
|
depth: int = 1
|
|
@@ -31,7 +35,10 @@ class Arguments:
|
|
|
31
35
|
|
|
32
36
|
|
|
33
37
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
34
|
-
@
|
|
38
|
+
@serial_class(
|
|
39
|
+
named_type_path="sdk.api.recipes.get_recipe_links.Data",
|
|
40
|
+
)
|
|
41
|
+
@dataclasses.dataclass(kw_only=True)
|
|
35
42
|
class Data:
|
|
36
43
|
recipe_links: list[recipe_links_t.RecipeLink]
|
|
37
44
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
2
|
# flake8: noqa: F821
|
|
3
|
-
# ruff: noqa: E402
|
|
3
|
+
# ruff: noqa: E402 Q003
|
|
4
4
|
# fmt: off
|
|
5
5
|
# isort: skip_file
|
|
6
6
|
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
|
-
|
|
11
|
-
from
|
|
10
|
+
import dataclasses
|
|
11
|
+
from pkgs.serialization import serial_class
|
|
12
|
+
from ... import base_t
|
|
12
13
|
|
|
13
14
|
__all__: list[str] = [
|
|
14
15
|
"Arguments",
|
|
@@ -23,20 +24,29 @@ ENDPOINT_PATH = "api/external/recipes/external_get_recipe_names"
|
|
|
23
24
|
|
|
24
25
|
|
|
25
26
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
26
|
-
@
|
|
27
|
+
@serial_class(
|
|
28
|
+
named_type_path="sdk.api.recipes.get_recipe_names.Arguments",
|
|
29
|
+
)
|
|
30
|
+
@dataclasses.dataclass(kw_only=True)
|
|
27
31
|
class Arguments:
|
|
28
32
|
project_id: base_t.ObjectId
|
|
29
33
|
|
|
30
34
|
|
|
31
35
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
32
|
-
@
|
|
36
|
+
@serial_class(
|
|
37
|
+
named_type_path="sdk.api.recipes.get_recipe_names.SimpleRecipe",
|
|
38
|
+
)
|
|
39
|
+
@dataclasses.dataclass(kw_only=True)
|
|
33
40
|
class SimpleRecipe:
|
|
34
41
|
id: base_t.ObjectId
|
|
35
42
|
name: str
|
|
36
43
|
|
|
37
44
|
|
|
38
45
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
39
|
-
@
|
|
46
|
+
@serial_class(
|
|
47
|
+
named_type_path="sdk.api.recipes.get_recipe_names.Data",
|
|
48
|
+
)
|
|
49
|
+
@dataclasses.dataclass(kw_only=True)
|
|
40
50
|
class Data:
|
|
41
51
|
recipes: list[SimpleRecipe]
|
|
42
52
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
2
|
# flake8: noqa: F821
|
|
3
|
-
# ruff: noqa: E402
|
|
3
|
+
# ruff: noqa: E402 Q003
|
|
4
4
|
# fmt: off
|
|
5
5
|
# isort: skip_file
|
|
6
6
|
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
|
-
from ... import
|
|
13
|
-
from ... import
|
|
12
|
+
from ... import base_t
|
|
13
|
+
from ... import recipe_output_metadata_t
|
|
14
14
|
|
|
15
15
|
__all__: list[str] = [
|
|
16
16
|
"Arguments",
|
|
@@ -25,17 +25,21 @@ ENDPOINT_PATH = "api/external/recipes/external_get_recipe_output_metadata"
|
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
28
|
-
@
|
|
28
|
+
@serial_class(
|
|
29
|
+
named_type_path="sdk.api.recipes.get_recipe_output_metadata.Arguments",
|
|
30
|
+
)
|
|
31
|
+
@dataclasses.dataclass(kw_only=True)
|
|
29
32
|
class Arguments:
|
|
30
33
|
recipe_output_ids: list[base_t.ObjectId]
|
|
31
34
|
|
|
32
35
|
|
|
33
36
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
34
37
|
@serial_class(
|
|
38
|
+
named_type_path="sdk.api.recipes.get_recipe_output_metadata.RecipeOutputMetadata",
|
|
35
39
|
unconverted_values={"quantity_json"},
|
|
36
40
|
to_string_values={"quantity_dec"},
|
|
37
41
|
)
|
|
38
|
-
@dataclass(kw_only=True)
|
|
42
|
+
@dataclasses.dataclass(kw_only=True)
|
|
39
43
|
class RecipeOutputMetadata:
|
|
40
44
|
recipe_output_id: base_t.ObjectId
|
|
41
45
|
recipe_output_metadata_field_id: base_t.ObjectId
|
|
@@ -44,7 +48,10 @@ class RecipeOutputMetadata:
|
|
|
44
48
|
|
|
45
49
|
|
|
46
50
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
47
|
-
@
|
|
51
|
+
@serial_class(
|
|
52
|
+
named_type_path="sdk.api.recipes.get_recipe_output_metadata.Data",
|
|
53
|
+
)
|
|
54
|
+
@dataclasses.dataclass(kw_only=True)
|
|
48
55
|
class Data:
|
|
49
56
|
recipe_output_metadata: list[RecipeOutputMetadata]
|
|
50
57
|
recipe_output_metadata_fields: list[recipe_output_metadata_t.RecipeOutputMetadataField]
|
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
2
|
# flake8: noqa: F821
|
|
3
|
-
# ruff: noqa: E402
|
|
3
|
+
# ruff: noqa: E402 Q003
|
|
4
4
|
# fmt: off
|
|
5
5
|
# isort: skip_file
|
|
6
6
|
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
|
-
from ... import
|
|
13
|
-
from ... import
|
|
14
|
-
from ... import
|
|
15
|
-
from ... import
|
|
16
|
-
from ... import
|
|
17
|
-
from ... import
|
|
18
|
-
from ... import
|
|
19
|
-
from ... import workflows as workflows_t
|
|
12
|
+
from ... import base_t
|
|
13
|
+
from ... import experiment_groups_t
|
|
14
|
+
from ... import inputs_t
|
|
15
|
+
from ... import outputs_t
|
|
16
|
+
from ... import recipe_metadata_t
|
|
17
|
+
from ... import recipe_tags_t
|
|
18
|
+
from ... import workflows_t
|
|
20
19
|
|
|
21
20
|
__all__: list[str] = [
|
|
22
21
|
"Arguments",
|
|
@@ -39,45 +38,53 @@ ENDPOINT_PATH = "api/external/recipes/external_get_recipes_data"
|
|
|
39
38
|
|
|
40
39
|
|
|
41
40
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
42
|
-
@
|
|
41
|
+
@serial_class(
|
|
42
|
+
named_type_path="sdk.api.recipes.get_recipes_data.Arguments",
|
|
43
|
+
)
|
|
44
|
+
@dataclasses.dataclass(kw_only=True)
|
|
43
45
|
class Arguments:
|
|
44
|
-
recipe_ids: typing.Optional[
|
|
45
|
-
project_id: typing.Optional[
|
|
46
|
-
offset: typing.Optional[
|
|
47
|
-
limit: typing.Optional[
|
|
46
|
+
recipe_ids: typing.Optional[list[base_t.ObjectId]] | None = None
|
|
47
|
+
project_id: typing.Optional[base_t.ObjectId] | None = None
|
|
48
|
+
offset: typing.Optional[int] | None = None
|
|
49
|
+
limit: typing.Optional[int] | None = None
|
|
48
50
|
|
|
49
51
|
|
|
50
52
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
51
53
|
@serial_class(
|
|
54
|
+
named_type_path="sdk.api.recipes.get_recipes_data.RecipeOutput",
|
|
52
55
|
unconverted_values={"quantity_json"},
|
|
53
56
|
to_string_values={"quantity_dec"},
|
|
54
57
|
)
|
|
55
|
-
@dataclass(kw_only=True)
|
|
58
|
+
@dataclasses.dataclass(kw_only=True)
|
|
56
59
|
class RecipeOutput:
|
|
57
60
|
id: base_t.ObjectId
|
|
58
61
|
output_id: base_t.ObjectId
|
|
59
62
|
replicate_num: int
|
|
60
|
-
quantity_dec: Decimal
|
|
61
63
|
quantity_json: base_t.JsonValue
|
|
62
|
-
curve_id: base_t.ObjectId
|
|
63
|
-
output_condition_id: base_t.ObjectId
|
|
64
|
+
curve_id: typing.Optional[base_t.ObjectId]
|
|
65
|
+
output_condition_id: typing.Optional[base_t.ObjectId]
|
|
66
|
+
quantity_dec: Decimal | None = None
|
|
64
67
|
|
|
65
68
|
|
|
66
69
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
67
70
|
@serial_class(
|
|
71
|
+
named_type_path="sdk.api.recipes.get_recipes_data.ConditionParameterValue",
|
|
68
72
|
unconverted_values={"quantity_json"},
|
|
69
73
|
to_string_values={"quantity_dec"},
|
|
70
74
|
)
|
|
71
|
-
@dataclass(kw_only=True)
|
|
75
|
+
@dataclasses.dataclass(kw_only=True)
|
|
72
76
|
class ConditionParameterValue:
|
|
73
77
|
condition_parameter_id: base_t.ObjectId
|
|
74
78
|
condition_parameter_name: str
|
|
75
|
-
quantity_dec: Decimal
|
|
76
79
|
quantity_json: base_t.JsonValue
|
|
80
|
+
quantity_dec: Decimal | None = None
|
|
77
81
|
|
|
78
82
|
|
|
79
83
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
80
|
-
@
|
|
84
|
+
@serial_class(
|
|
85
|
+
named_type_path="sdk.api.recipes.get_recipes_data.SimpleOutputCondition",
|
|
86
|
+
)
|
|
87
|
+
@dataclasses.dataclass(kw_only=True)
|
|
81
88
|
class SimpleOutputCondition:
|
|
82
89
|
output_condition_id: base_t.ObjectId
|
|
83
90
|
condition_parameter_values: list[ConditionParameterValue]
|
|
@@ -85,40 +92,52 @@ class SimpleOutputCondition:
|
|
|
85
92
|
|
|
86
93
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
87
94
|
@serial_class(
|
|
95
|
+
named_type_path="sdk.api.recipes.get_recipes_data.RecipeInput",
|
|
88
96
|
unconverted_values={"actual_quantity_json", "quantity_json"},
|
|
89
97
|
to_string_values={"actual_quantity_dec", "quantity_dec"},
|
|
90
98
|
)
|
|
91
|
-
@dataclass(kw_only=True)
|
|
99
|
+
@dataclasses.dataclass(kw_only=True)
|
|
92
100
|
class RecipeInput:
|
|
101
|
+
id: base_t.ObjectId
|
|
93
102
|
input_id: base_t.ObjectId
|
|
94
103
|
input_lot_recipe_id: typing.Optional[base_t.ObjectId]
|
|
95
104
|
recipe_step_id: base_t.ObjectId
|
|
96
|
-
quantity_dec: Decimal
|
|
97
105
|
quantity_json: base_t.JsonValue
|
|
98
|
-
|
|
106
|
+
curve_id: typing.Optional[base_t.ObjectId]
|
|
99
107
|
actual_quantity_json: base_t.JsonValue
|
|
100
|
-
input_type: str
|
|
101
108
|
behavior: str
|
|
109
|
+
ingredient_role_id: typing.Optional[base_t.ObjectId]
|
|
110
|
+
quantity_dec: Decimal | None = None
|
|
111
|
+
actual_quantity_dec: Decimal | None = None
|
|
102
112
|
|
|
103
113
|
|
|
104
114
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
105
|
-
@
|
|
115
|
+
@serial_class(
|
|
116
|
+
named_type_path="sdk.api.recipes.get_recipes_data.RecipeStep",
|
|
117
|
+
)
|
|
118
|
+
@dataclasses.dataclass(kw_only=True)
|
|
106
119
|
class RecipeStep:
|
|
107
120
|
name: typing.Optional[str]
|
|
108
121
|
recipe_step_id: base_t.ObjectId
|
|
109
122
|
recipe_step_number: int
|
|
110
|
-
instructions:
|
|
123
|
+
instructions: str | None = None
|
|
111
124
|
|
|
112
125
|
|
|
113
126
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
114
|
-
@
|
|
127
|
+
@serial_class(
|
|
128
|
+
named_type_path="sdk.api.recipes.get_recipes_data.RecipeStepGroup",
|
|
129
|
+
)
|
|
130
|
+
@dataclasses.dataclass(kw_only=True)
|
|
115
131
|
class RecipeStepGroup:
|
|
116
132
|
name: typing.Optional[str]
|
|
117
133
|
recipe_steps: list[RecipeStep]
|
|
118
134
|
|
|
119
135
|
|
|
120
136
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
121
|
-
@
|
|
137
|
+
@serial_class(
|
|
138
|
+
named_type_path="sdk.api.recipes.get_recipes_data.RecipeWorkflowStep",
|
|
139
|
+
)
|
|
140
|
+
@dataclasses.dataclass(kw_only=True)
|
|
122
141
|
class RecipeWorkflowStep:
|
|
123
142
|
recipe_workflow_step_id: base_t.ObjectId
|
|
124
143
|
workflow_step_id: base_t.ObjectId
|
|
@@ -127,20 +146,24 @@ class RecipeWorkflowStep:
|
|
|
127
146
|
|
|
128
147
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
129
148
|
@serial_class(
|
|
149
|
+
named_type_path="sdk.api.recipes.get_recipes_data.RecipeStepRelationship",
|
|
130
150
|
to_string_values={"actual_quantity_dec", "quantity_dec"},
|
|
131
151
|
)
|
|
132
|
-
@dataclass(kw_only=True)
|
|
152
|
+
@dataclasses.dataclass(kw_only=True)
|
|
133
153
|
class RecipeStepRelationship:
|
|
134
154
|
step_relationship_id: base_t.ObjectId
|
|
135
155
|
name: typing.Optional[str]
|
|
136
156
|
source_recipe_workflow_step_id: base_t.ObjectId
|
|
137
157
|
target_recipe_step_id: base_t.ObjectId
|
|
138
|
-
quantity_dec:
|
|
139
|
-
actual_quantity_dec:
|
|
158
|
+
quantity_dec: Decimal | None = None
|
|
159
|
+
actual_quantity_dec: Decimal | None = None
|
|
140
160
|
|
|
141
161
|
|
|
142
162
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
143
|
-
@
|
|
163
|
+
@serial_class(
|
|
164
|
+
named_type_path="sdk.api.recipes.get_recipes_data.Recipe",
|
|
165
|
+
)
|
|
166
|
+
@dataclasses.dataclass(kw_only=True)
|
|
144
167
|
class Recipe:
|
|
145
168
|
recipe_id: base_t.ObjectId
|
|
146
169
|
create_datetime: str
|
|
@@ -155,12 +178,15 @@ class Recipe:
|
|
|
155
178
|
tag_ids: list[base_t.ObjectId]
|
|
156
179
|
experiment_group_ids: list[base_t.ObjectId]
|
|
157
180
|
step_relationships: list[RecipeStepRelationship]
|
|
158
|
-
creating_user_id:
|
|
159
|
-
barcode_value:
|
|
181
|
+
creating_user_id: base_t.ObjectId | None = None
|
|
182
|
+
barcode_value: str | None = None
|
|
160
183
|
|
|
161
184
|
|
|
162
185
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
163
|
-
@
|
|
186
|
+
@serial_class(
|
|
187
|
+
named_type_path="sdk.api.recipes.get_recipes_data.Data",
|
|
188
|
+
)
|
|
189
|
+
@dataclasses.dataclass(kw_only=True)
|
|
164
190
|
class Data:
|
|
165
191
|
recipes: list[Recipe]
|
|
166
192
|
workflows: list[workflows_t.SimpleWorkflow]
|
|
@@ -168,7 +194,6 @@ class Data:
|
|
|
168
194
|
inputs: list[inputs_t.SimpleInput]
|
|
169
195
|
outputs: list[outputs_t.SimpleOutput]
|
|
170
196
|
output_conditions: list[SimpleOutputCondition]
|
|
171
|
-
users: list[users_t.SimpleUser]
|
|
172
197
|
recipe_tags: list[recipe_tags_t.SimpleRecipeTag]
|
|
173
198
|
experiment_groups: list[experiment_groups_t.SimpleExperimentGroup]
|
|
174
199
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
+
# flake8: noqa: F821
|
|
3
|
+
# ruff: noqa: E402 Q003
|
|
4
|
+
# fmt: off
|
|
5
|
+
# isort: skip_file
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
import typing # noqa: F401
|
|
8
|
+
import datetime # noqa: F401
|
|
9
|
+
from decimal import Decimal # noqa: F401
|
|
10
|
+
from pkgs.strenum_compat import StrEnum
|
|
11
|
+
import dataclasses
|
|
12
|
+
from pkgs.serialization import serial_class
|
|
13
|
+
from ... import identifier_t
|
|
14
|
+
|
|
15
|
+
__all__: list[str] = [
|
|
16
|
+
"Arguments",
|
|
17
|
+
"Data",
|
|
18
|
+
"ENDPOINT_METHOD",
|
|
19
|
+
"ENDPOINT_PATH",
|
|
20
|
+
"RecipeLockBase",
|
|
21
|
+
"RecipeLockType",
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
ENDPOINT_METHOD = "POST"
|
|
25
|
+
ENDPOINT_PATH = "api/external/recipes/lock_recipes"
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
29
|
+
class RecipeLockType(StrEnum):
|
|
30
|
+
ALL = "all"
|
|
31
|
+
INPUTS_ONLY = "inputs_only"
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
35
|
+
@serial_class(
|
|
36
|
+
named_type_path="sdk.api.recipes.lock_recipes.RecipeLockBase",
|
|
37
|
+
)
|
|
38
|
+
@dataclasses.dataclass(kw_only=True)
|
|
39
|
+
class RecipeLockBase:
|
|
40
|
+
recipe: identifier_t.IdentifierKey
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
44
|
+
@serial_class(
|
|
45
|
+
named_type_path="sdk.api.recipes.lock_recipes.Arguments",
|
|
46
|
+
)
|
|
47
|
+
@dataclasses.dataclass(kw_only=True)
|
|
48
|
+
class Arguments:
|
|
49
|
+
type: RecipeLockType = RecipeLockType.ALL
|
|
50
|
+
recipes: list[identifier_t.IdentifierKey]
|
|
51
|
+
globally_removable: bool
|
|
52
|
+
lock_samples: bool | None = None
|
|
53
|
+
comments: str | None = None
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
57
|
+
@serial_class(
|
|
58
|
+
named_type_path="sdk.api.recipes.lock_recipes.Data",
|
|
59
|
+
)
|
|
60
|
+
@dataclasses.dataclass(kw_only=True)
|
|
61
|
+
class Data:
|
|
62
|
+
pass
|
|
63
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
+
# flake8: noqa: F821
|
|
3
|
+
# ruff: noqa: E402 Q003
|
|
4
|
+
# fmt: off
|
|
5
|
+
# isort: skip_file
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
import typing # noqa: F401
|
|
8
|
+
import datetime # noqa: F401
|
|
9
|
+
from decimal import Decimal # noqa: F401
|
|
10
|
+
import dataclasses
|
|
11
|
+
from pkgs.serialization import serial_class
|
|
12
|
+
from ... import identifier_t
|
|
13
|
+
|
|
14
|
+
__all__: list[str] = [
|
|
15
|
+
"Arguments",
|
|
16
|
+
"Data",
|
|
17
|
+
"ENDPOINT_METHOD",
|
|
18
|
+
"ENDPOINT_PATH",
|
|
19
|
+
]
|
|
20
|
+
|
|
21
|
+
ENDPOINT_METHOD = "POST"
|
|
22
|
+
ENDPOINT_PATH = "api/external/recipes/remove_recipe_from_project"
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
26
|
+
@serial_class(
|
|
27
|
+
named_type_path="sdk.api.recipes.remove_recipe_from_project.Arguments",
|
|
28
|
+
)
|
|
29
|
+
@dataclasses.dataclass(kw_only=True)
|
|
30
|
+
class Arguments:
|
|
31
|
+
recipe_key: identifier_t.IdentifierKey
|
|
32
|
+
project_key: identifier_t.IdentifierKey
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
36
|
+
@serial_class(
|
|
37
|
+
named_type_path="sdk.api.recipes.remove_recipe_from_project.Data",
|
|
38
|
+
)
|
|
39
|
+
@dataclasses.dataclass(kw_only=True)
|
|
40
|
+
class Data:
|
|
41
|
+
pass
|
|
42
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
2
|
# flake8: noqa: F821
|
|
3
|
-
# ruff: noqa: E402
|
|
3
|
+
# ruff: noqa: E402 Q003
|
|
4
4
|
# fmt: off
|
|
5
5
|
# isort: skip_file
|
|
6
6
|
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
|
-
from ... import
|
|
12
|
+
from ... import base_t
|
|
13
13
|
|
|
14
14
|
__all__: list[str] = [
|
|
15
15
|
"Arguments",
|
|
@@ -25,26 +25,35 @@ ENDPOINT_PATH = "api/external/recipes/external_set_recipe_inputs"
|
|
|
25
25
|
|
|
26
26
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
27
27
|
@serial_class(
|
|
28
|
+
named_type_path="sdk.api.recipes.set_recipe_inputs.RecipeInputValue",
|
|
28
29
|
to_string_values={"value_numeric"},
|
|
29
30
|
)
|
|
30
|
-
@dataclass(kw_only=True)
|
|
31
|
+
@dataclasses.dataclass(kw_only=True)
|
|
31
32
|
class RecipeInputValue:
|
|
32
33
|
recipe_id: base_t.ObjectId
|
|
33
34
|
input_id: base_t.ObjectId
|
|
34
|
-
recipe_step_id: typing.Optional[
|
|
35
|
-
value_numeric:
|
|
36
|
-
value_str:
|
|
37
|
-
set_actual_value:
|
|
35
|
+
recipe_step_id: typing.Optional[base_t.ObjectId] | None = None
|
|
36
|
+
value_numeric: Decimal | None = None
|
|
37
|
+
value_str: str | None = None
|
|
38
|
+
set_actual_value: bool | None = None
|
|
39
|
+
lot_recipe_id: base_t.ObjectId | None = None
|
|
40
|
+
remove: bool | None = None
|
|
38
41
|
|
|
39
42
|
|
|
40
43
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
41
|
-
@
|
|
44
|
+
@serial_class(
|
|
45
|
+
named_type_path="sdk.api.recipes.set_recipe_inputs.Arguments",
|
|
46
|
+
)
|
|
47
|
+
@dataclasses.dataclass(kw_only=True)
|
|
42
48
|
class Arguments:
|
|
43
49
|
input_data: list[RecipeInputValue]
|
|
44
50
|
|
|
45
51
|
|
|
46
52
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
47
|
-
@
|
|
53
|
+
@serial_class(
|
|
54
|
+
named_type_path="sdk.api.recipes.set_recipe_inputs.Data",
|
|
55
|
+
)
|
|
56
|
+
@dataclasses.dataclass(kw_only=True)
|
|
48
57
|
class Data:
|
|
49
58
|
pass
|
|
50
59
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
+
# flake8: noqa: F821
|
|
3
|
+
# ruff: noqa: E402 Q003
|
|
4
|
+
# fmt: off
|
|
5
|
+
# isort: skip_file
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
import typing # noqa: F401
|
|
8
|
+
import datetime # noqa: F401
|
|
9
|
+
from decimal import Decimal # noqa: F401
|
|
10
|
+
import dataclasses
|
|
11
|
+
from pkgs.serialization import serial_class
|
|
12
|
+
from ... import identifier_t
|
|
13
|
+
from ... import recipe_metadata_t
|
|
14
|
+
|
|
15
|
+
__all__: list[str] = [
|
|
16
|
+
"Arguments",
|
|
17
|
+
"Data",
|
|
18
|
+
"ENDPOINT_METHOD",
|
|
19
|
+
"ENDPOINT_PATH",
|
|
20
|
+
]
|
|
21
|
+
|
|
22
|
+
ENDPOINT_METHOD = "POST"
|
|
23
|
+
ENDPOINT_PATH = "api/external/recipes/set_recipe_metadata"
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
27
|
+
@serial_class(
|
|
28
|
+
named_type_path="sdk.api.recipes.set_recipe_metadata.Arguments",
|
|
29
|
+
)
|
|
30
|
+
@dataclasses.dataclass(kw_only=True)
|
|
31
|
+
class Arguments:
|
|
32
|
+
recipe_key: identifier_t.IdentifierKey
|
|
33
|
+
recipe_metadata: list[recipe_metadata_t.MetadataValue]
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
37
|
+
@serial_class(
|
|
38
|
+
named_type_path="sdk.api.recipes.set_recipe_metadata.Data",
|
|
39
|
+
)
|
|
40
|
+
@dataclasses.dataclass(kw_only=True)
|
|
41
|
+
class Data:
|
|
42
|
+
pass
|
|
43
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|