UncountablePythonSDK 0.0.7__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.7.dist-info → UncountablePythonSDK-0.0.92.dist-info}/WHEEL +1 -1
- {UncountablePythonSDK-0.0.7.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/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 +118 -73
- 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 +601 -150
- 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 +151 -5
- 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 -10
- uncountable/types/api/entity/create_entity.py +21 -12
- uncountable/types/api/entity/get_entities_data.py +19 -29
- uncountable/types/api/entity/grant_entity_permissions.py +48 -0
- uncountable/types/api/entity/list_entities.py +28 -20
- uncountable/types/api/entity/lock_entity.py +45 -0
- uncountable/types/api/entity/resolve_entity_ids.py +19 -7
- uncountable/types/api/entity/set_entity_field_values.py +44 -0
- uncountable/types/api/entity/set_values.py +13 -28
- 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 +18 -7
- uncountable/types/api/inputs/create_inputs.py +25 -24
- uncountable/types/api/inputs/get_input_data.py +37 -31
- uncountable/types/api/inputs/get_input_names.py +20 -9
- uncountable/types/api/inputs/get_inputs_data.py +33 -27
- uncountable/types/api/inputs/set_input_attribute_values.py +18 -13
- 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 +38 -29
- uncountable/types/api/outputs/get_output_names.py +20 -9
- 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 +23 -19
- uncountable/types/api/project/get_projects_data.py +26 -43
- 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 +21 -10
- 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 -24
- 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 +13 -27
- uncountable/types/api/recipes/get_recipe_calculations.py +21 -21
- uncountable/types/api/recipes/get_recipe_links.py +14 -6
- uncountable/types/api/recipes/get_recipe_names.py +18 -7
- uncountable/types/api/recipes/get_recipe_output_metadata.py +18 -19
- uncountable/types/api/recipes/get_recipes_data.py +83 -144
- 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 +21 -11
- 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 +28 -15
- 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 +8 -0
- 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 +1115 -76
- uncountable/types/client_config.py +8 -0
- uncountable/types/client_config_t.py +26 -0
- uncountable/types/curves.py +10 -0
- uncountable/types/curves_t.py +51 -0
- uncountable/types/entity.py +8 -266
- uncountable/types/entity_t.py +393 -0
- uncountable/types/experiment_groups.py +8 -0
- uncountable/types/experiment_groups_t.py +27 -0
- uncountable/types/field_values.py +17 -23
- uncountable/types/field_values_t.py +204 -0
- uncountable/types/fields.py +8 -0
- 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 +8 -0
- uncountable/types/input_attributes_t.py +30 -0
- uncountable/types/inputs.py +11 -0
- 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 +8 -0
- 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 +8 -0
- 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 -44
- uncountable/types/recipe_links_t.py +54 -0
- uncountable/types/recipe_metadata.py +10 -0
- uncountable/types/recipe_metadata_t.py +58 -0
- uncountable/types/recipe_output_metadata.py +8 -0
- uncountable/types/recipe_output_metadata_t.py +28 -0
- uncountable/types/recipe_tags.py +8 -0
- 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 +8 -0
- 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 +8 -0
- uncountable/types/units_t.py +27 -0
- uncountable/types/users.py +8 -0
- 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 +9 -0
- uncountable/types/workflows_t.py +39 -0
- UncountablePythonSDK-0.0.7.dist-info/METADATA +0 -27
- UncountablePythonSDK-0.0.7.dist-info/RECORD +0 -119
- 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 -55
- type_spec/external/api/entity/list_entities.yaml +0 -62
- type_spec/external/api/entity/resolve_entity_ids.yaml +0 -29
- type_spec/external/api/entity/set_values.yaml +0 -45
- type_spec/external/api/input_groups/get_input_group_names.yaml +0 -29
- type_spec/external/api/inputs/create_inputs.yaml +0 -61
- type_spec/external/api/inputs/get_input_data.yaml +0 -108
- type_spec/external/api/inputs/get_input_names.yaml +0 -38
- type_spec/external/api/inputs/get_inputs_data.yaml +0 -95
- type_spec/external/api/inputs/set_input_attribute_values.yaml +0 -37
- type_spec/external/api/outputs/get_output_data.yaml +0 -103
- 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 -52
- type_spec/external/api/project/get_projects_data.yaml +0 -86
- type_spec/external/api/recipe_metadata/get_recipe_metadata_data.yaml +0 -41
- type_spec/external/api/recipes/create_recipes.yaml +0 -60
- type_spec/external/api/recipes/get_curve.yaml +0 -50
- type_spec/external/api/recipes/get_recipe_calculations.yaml +0 -49
- 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 -49
- type_spec/external/api/recipes/get_recipes_data.yaml +0 -372
- type_spec/external/api/recipes/set_recipe_inputs.yaml +0 -36
- type_spec/external/api/recipes/set_recipe_outputs.yaml +0 -56
|
@@ -0,0 +1,76 @@
|
|
|
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 pkgs.serialization import serial_alias_annotation
|
|
13
|
+
from . import base_t
|
|
14
|
+
|
|
15
|
+
__all__: list[str] = [
|
|
16
|
+
"RecipeIdentifier",
|
|
17
|
+
"RecipeIdentifierEditableName",
|
|
18
|
+
"RecipeIdentifierMaterialFamily",
|
|
19
|
+
"RecipeIdentifierMetadata",
|
|
20
|
+
"RecipeIdentifiers",
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
25
|
+
@serial_class(
|
|
26
|
+
named_type_path="sdk.recipe_identifiers.RecipeIdentifierEditableName",
|
|
27
|
+
parse_require={"type"},
|
|
28
|
+
)
|
|
29
|
+
@dataclasses.dataclass(kw_only=True)
|
|
30
|
+
class RecipeIdentifierEditableName:
|
|
31
|
+
type: typing.Literal["name"] = "name"
|
|
32
|
+
editable_name: str
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
36
|
+
@serial_class(
|
|
37
|
+
named_type_path="sdk.recipe_identifiers.RecipeIdentifierMetadata",
|
|
38
|
+
to_string_values={"quantity_dec"},
|
|
39
|
+
parse_require={"type"},
|
|
40
|
+
)
|
|
41
|
+
@dataclasses.dataclass(kw_only=True)
|
|
42
|
+
class RecipeIdentifierMetadata:
|
|
43
|
+
type: typing.Literal["metadata"] = "metadata"
|
|
44
|
+
recipe_metadata_id: base_t.ObjectId
|
|
45
|
+
quantity_dec: Decimal | None = None
|
|
46
|
+
quantity_json: str | None = None
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
50
|
+
@serial_class(
|
|
51
|
+
named_type_path="sdk.recipe_identifiers.RecipeIdentifierMaterialFamily",
|
|
52
|
+
parse_require={"type"},
|
|
53
|
+
)
|
|
54
|
+
@dataclasses.dataclass(kw_only=True)
|
|
55
|
+
class RecipeIdentifierMaterialFamily:
|
|
56
|
+
type: typing.Literal["material_family_id"] = "material_family_id"
|
|
57
|
+
material_family_id: base_t.ObjectId
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
61
|
+
RecipeIdentifier = typing.Annotated[
|
|
62
|
+
typing.Union[RecipeIdentifierEditableName, RecipeIdentifierMetadata, RecipeIdentifierMaterialFamily],
|
|
63
|
+
serial_alias_annotation(
|
|
64
|
+
named_type_path="sdk.recipe_identifiers.RecipeIdentifier",
|
|
65
|
+
),
|
|
66
|
+
]
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
70
|
+
RecipeIdentifiers = typing.Annotated[
|
|
71
|
+
list[RecipeIdentifier],
|
|
72
|
+
serial_alias_annotation(
|
|
73
|
+
named_type_path="sdk.recipe_identifiers.RecipeIdentifiers",
|
|
74
|
+
),
|
|
75
|
+
]
|
|
76
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# flake8: noqa: F821
|
|
2
|
+
# ruff: noqa: E402 Q003
|
|
3
|
+
# fmt: off
|
|
4
|
+
# isort: skip_file
|
|
5
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
6
|
+
# Kept only for SDK backwards compatibility
|
|
7
|
+
from .recipe_inputs_t import InputValueType as InputValueType
|
|
8
|
+
from .recipe_inputs_t import QuantityBasis as QuantityBasis
|
|
9
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
+
# flake8: noqa: F821
|
|
3
|
+
# ruff: noqa: E402 Q003
|
|
4
|
+
# fmt: off
|
|
5
|
+
# isort: skip_file
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
import typing # noqa: F401
|
|
8
|
+
import datetime # noqa: F401
|
|
9
|
+
from decimal import Decimal # noqa: F401
|
|
10
|
+
from pkgs.strenum_compat import StrEnum
|
|
11
|
+
|
|
12
|
+
__all__: list[str] = [
|
|
13
|
+
"InputValueType",
|
|
14
|
+
"QuantityBasis",
|
|
15
|
+
]
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
19
|
+
class InputValueType(StrEnum):
|
|
20
|
+
VALUE = "value"
|
|
21
|
+
ACTUAL_VALUE = "actual_value"
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
25
|
+
class QuantityBasis(StrEnum):
|
|
26
|
+
ARBITRARY = "arbitrary"
|
|
27
|
+
MASS = "mass"
|
|
28
|
+
MOLES = "moles"
|
|
29
|
+
VOLUME = "volume"
|
|
30
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,49 +1,9 @@
|
|
|
1
|
-
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
1
|
# flake8: noqa: F821
|
|
3
|
-
# ruff: noqa: E402
|
|
2
|
+
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
6
|
-
from __future__ import annotations
|
|
7
|
-
import typing # noqa: F401
|
|
8
|
-
import datetime # noqa: F401
|
|
9
|
-
from decimal import Decimal # noqa: F401
|
|
10
|
-
from pkgs.strenum_compat import StrEnum
|
|
11
|
-
from dataclasses import dataclass
|
|
12
|
-
from pkgs.serialization import serial_string_enum
|
|
13
|
-
|
|
14
|
-
__all__: list[str] = [
|
|
15
|
-
"RecipeLink",
|
|
16
|
-
"RecipeLinkType",
|
|
17
|
-
]
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
# DO NOT MODIFY -- This file is generated by type_spec
|
|
21
|
-
@serial_string_enum(
|
|
22
|
-
labels={
|
|
23
|
-
"user_link": "Manual Link",
|
|
24
|
-
"child": "Test Sample",
|
|
25
|
-
"self": "Self Link",
|
|
26
|
-
"recipe_as_output": "Analytical Sample",
|
|
27
|
-
"control": "Control Link",
|
|
28
|
-
"intermediate_recipe": "Used as Component Link",
|
|
29
|
-
"previous_experiment": "Previous Sample",
|
|
30
|
-
},
|
|
31
|
-
)
|
|
32
|
-
class RecipeLinkType(StrEnum):
|
|
33
|
-
USER_LINK = "user_link"
|
|
34
|
-
CHILD = "child"
|
|
35
|
-
SELF = "self"
|
|
36
|
-
RECIPE_AS_OUTPUT = "recipe_as_output"
|
|
37
|
-
CONTROL = "control"
|
|
38
|
-
INTERMEDIATE_RECIPE = "intermediate_recipe"
|
|
39
|
-
PREVIOUS_EXPERIMENT = "previous_experiment"
|
|
40
|
-
|
|
41
|
-
|
|
42
5
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
recipe_id_to: int
|
|
47
|
-
link_type: str
|
|
48
|
-
name: str
|
|
6
|
+
# Kept only for SDK backwards compatibility
|
|
7
|
+
from .recipe_links_t import RecipeLinkType as RecipeLinkType
|
|
8
|
+
from .recipe_links_t import RecipeLink as RecipeLink
|
|
49
9
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
+
# flake8: noqa: F821
|
|
3
|
+
# ruff: noqa: E402 Q003
|
|
4
|
+
# fmt: off
|
|
5
|
+
# isort: skip_file
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
import typing # noqa: F401
|
|
8
|
+
import datetime # noqa: F401
|
|
9
|
+
from decimal import Decimal # noqa: F401
|
|
10
|
+
from pkgs.strenum_compat import StrEnum
|
|
11
|
+
import dataclasses
|
|
12
|
+
from pkgs.serialization import serial_class
|
|
13
|
+
from pkgs.serialization import serial_string_enum
|
|
14
|
+
from . import base_t
|
|
15
|
+
|
|
16
|
+
__all__: list[str] = [
|
|
17
|
+
"RecipeLink",
|
|
18
|
+
"RecipeLinkType",
|
|
19
|
+
]
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
23
|
+
@serial_string_enum(
|
|
24
|
+
labels={
|
|
25
|
+
"user_link": "Manual Link",
|
|
26
|
+
"child": "Test Sample",
|
|
27
|
+
"self": "Self Link",
|
|
28
|
+
"recipe_as_output": "Analytical Sample",
|
|
29
|
+
"control": "Control Link",
|
|
30
|
+
"intermediate_recipe": "Used as Component Link",
|
|
31
|
+
"previous_experiment": "Previous Sample",
|
|
32
|
+
},
|
|
33
|
+
)
|
|
34
|
+
class RecipeLinkType(StrEnum):
|
|
35
|
+
USER_LINK = "user_link"
|
|
36
|
+
CHILD = "child"
|
|
37
|
+
SELF = "self"
|
|
38
|
+
RECIPE_AS_OUTPUT = "recipe_as_output"
|
|
39
|
+
CONTROL = "control"
|
|
40
|
+
INTERMEDIATE_RECIPE = "intermediate_recipe"
|
|
41
|
+
PREVIOUS_EXPERIMENT = "previous_experiment"
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
45
|
+
@serial_class(
|
|
46
|
+
named_type_path="sdk.recipe_links.RecipeLink",
|
|
47
|
+
)
|
|
48
|
+
@dataclasses.dataclass(kw_only=True, frozen=True, eq=True)
|
|
49
|
+
class RecipeLink:
|
|
50
|
+
recipe_id_from: base_t.ObjectId
|
|
51
|
+
recipe_id_to: base_t.ObjectId
|
|
52
|
+
link_type: str
|
|
53
|
+
name: typing.Optional[str]
|
|
54
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# flake8: noqa: F821
|
|
2
|
+
# ruff: noqa: E402 Q003
|
|
3
|
+
# fmt: off
|
|
4
|
+
# isort: skip_file
|
|
5
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
6
|
+
# Kept only for SDK backwards compatibility
|
|
7
|
+
from .recipe_metadata_t import MetadataValue as MetadataValue
|
|
8
|
+
from .recipe_metadata_t import SimpleRecipeMetadataField as SimpleRecipeMetadataField
|
|
9
|
+
from .recipe_metadata_t import RecipeMetadata as RecipeMetadata
|
|
10
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,58 @@
|
|
|
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 base_t
|
|
13
|
+
|
|
14
|
+
__all__: list[str] = [
|
|
15
|
+
"MetadataValue",
|
|
16
|
+
"RecipeMetadata",
|
|
17
|
+
"SimpleRecipeMetadataField",
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
22
|
+
@serial_class(
|
|
23
|
+
named_type_path="sdk.recipe_metadata.MetadataValue",
|
|
24
|
+
unconverted_values={"value_json"},
|
|
25
|
+
to_string_values={"value_numeric"},
|
|
26
|
+
)
|
|
27
|
+
@dataclasses.dataclass(kw_only=True)
|
|
28
|
+
class MetadataValue:
|
|
29
|
+
metadata_id: base_t.ObjectId
|
|
30
|
+
value_numeric: Decimal | None = None
|
|
31
|
+
value_str: str | None = None
|
|
32
|
+
value_json: base_t.JsonValue | None = None
|
|
33
|
+
value_file_ids: list[base_t.ObjectId] | None = None
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
37
|
+
@serial_class(
|
|
38
|
+
named_type_path="sdk.recipe_metadata.SimpleRecipeMetadataField",
|
|
39
|
+
)
|
|
40
|
+
@dataclasses.dataclass(kw_only=True)
|
|
41
|
+
class SimpleRecipeMetadataField:
|
|
42
|
+
metadata_id: base_t.ObjectId
|
|
43
|
+
name: str
|
|
44
|
+
quantity_type: str
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
48
|
+
@serial_class(
|
|
49
|
+
named_type_path="sdk.recipe_metadata.RecipeMetadata",
|
|
50
|
+
unconverted_values={"quantity_json"},
|
|
51
|
+
to_string_values={"quantity_dec"},
|
|
52
|
+
)
|
|
53
|
+
@dataclasses.dataclass(kw_only=True)
|
|
54
|
+
class RecipeMetadata:
|
|
55
|
+
metadata_id: base_t.ObjectId
|
|
56
|
+
quantity_dec: Decimal | None = None
|
|
57
|
+
quantity_json: base_t.JsonValue | None = None
|
|
58
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# flake8: noqa: F821
|
|
2
|
+
# ruff: noqa: E402 Q003
|
|
3
|
+
# fmt: off
|
|
4
|
+
# isort: skip_file
|
|
5
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
6
|
+
# Kept only for SDK backwards compatibility
|
|
7
|
+
from .recipe_output_metadata_t import RecipeOutputMetadataField as RecipeOutputMetadataField
|
|
8
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,28 @@
|
|
|
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 base_t
|
|
13
|
+
|
|
14
|
+
__all__: list[str] = [
|
|
15
|
+
"RecipeOutputMetadataField",
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
20
|
+
@serial_class(
|
|
21
|
+
named_type_path="sdk.recipe_output_metadata.RecipeOutputMetadataField",
|
|
22
|
+
)
|
|
23
|
+
@dataclasses.dataclass(kw_only=True)
|
|
24
|
+
class RecipeOutputMetadataField:
|
|
25
|
+
id: base_t.ObjectId
|
|
26
|
+
name: str
|
|
27
|
+
quantity_type: str
|
|
28
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# flake8: noqa: F821
|
|
2
|
+
# ruff: noqa: E402 Q003
|
|
3
|
+
# fmt: off
|
|
4
|
+
# isort: skip_file
|
|
5
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
6
|
+
# Kept only for SDK backwards compatibility
|
|
7
|
+
from .recipe_tags_t import SimpleRecipeTag as SimpleRecipeTag
|
|
8
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,27 @@
|
|
|
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 base_t
|
|
13
|
+
|
|
14
|
+
__all__: list[str] = [
|
|
15
|
+
"SimpleRecipeTag",
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
20
|
+
@serial_class(
|
|
21
|
+
named_type_path="sdk.recipe_tags.SimpleRecipeTag",
|
|
22
|
+
)
|
|
23
|
+
@dataclasses.dataclass(kw_only=True)
|
|
24
|
+
class SimpleRecipeTag:
|
|
25
|
+
recipe_tag_id: base_t.ObjectId
|
|
26
|
+
name: str
|
|
27
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# flake8: noqa: F821
|
|
2
|
+
# ruff: noqa: E402 Q003
|
|
3
|
+
# fmt: off
|
|
4
|
+
# isort: skip_file
|
|
5
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
6
|
+
# Kept only for SDK backwards compatibility
|
|
7
|
+
from .recipe_workflow_steps_t import RecipeWorkflowStepIdentifierType as RecipeWorkflowStepIdentifierType
|
|
8
|
+
from .recipe_workflow_steps_t import RecipeWorkflowStepIdentifierBase as RecipeWorkflowStepIdentifierBase
|
|
9
|
+
from .recipe_workflow_steps_t import RecipeWorkflowStepIdentifierDefault as RecipeWorkflowStepIdentifierDefault
|
|
10
|
+
from .recipe_workflow_steps_t import RecipeWorkflowStepPosition as RecipeWorkflowStepPosition
|
|
11
|
+
from .recipe_workflow_steps_t import RecipeWorkflowStepIdentifierWorkflowStep as RecipeWorkflowStepIdentifierWorkflowStep
|
|
12
|
+
from .recipe_workflow_steps_t import RecipeWorkflowStepIdentifierKey as RecipeWorkflowStepIdentifierKey
|
|
13
|
+
from .recipe_workflow_steps_t import RecipeWorkflowStepIdentifier as RecipeWorkflowStepIdentifier
|
|
14
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,95 @@
|
|
|
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 pkgs.serialization import serial_union_annotation
|
|
14
|
+
from . import identifier_t
|
|
15
|
+
|
|
16
|
+
__all__: list[str] = [
|
|
17
|
+
"RecipeWorkflowStepIdentifier",
|
|
18
|
+
"RecipeWorkflowStepIdentifierBase",
|
|
19
|
+
"RecipeWorkflowStepIdentifierDefault",
|
|
20
|
+
"RecipeWorkflowStepIdentifierKey",
|
|
21
|
+
"RecipeWorkflowStepIdentifierType",
|
|
22
|
+
"RecipeWorkflowStepIdentifierWorkflowStep",
|
|
23
|
+
"RecipeWorkflowStepPosition",
|
|
24
|
+
]
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
28
|
+
class RecipeWorkflowStepIdentifierType(StrEnum):
|
|
29
|
+
IDENTIFIER_KEY = "identifier_key"
|
|
30
|
+
DEFAULT = "default"
|
|
31
|
+
WORKFLOW_STEP = "workflow_step"
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
35
|
+
@serial_class(
|
|
36
|
+
named_type_path="sdk.recipe_workflow_steps.RecipeWorkflowStepIdentifierBase",
|
|
37
|
+
)
|
|
38
|
+
@dataclasses.dataclass(kw_only=True)
|
|
39
|
+
class RecipeWorkflowStepIdentifierBase:
|
|
40
|
+
type: RecipeWorkflowStepIdentifierType
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
44
|
+
@serial_class(
|
|
45
|
+
named_type_path="sdk.recipe_workflow_steps.RecipeWorkflowStepIdentifierDefault",
|
|
46
|
+
parse_require={"type"},
|
|
47
|
+
)
|
|
48
|
+
@dataclasses.dataclass(kw_only=True)
|
|
49
|
+
class RecipeWorkflowStepIdentifierDefault(RecipeWorkflowStepIdentifierBase):
|
|
50
|
+
type: typing.Literal[RecipeWorkflowStepIdentifierType.DEFAULT] = RecipeWorkflowStepIdentifierType.DEFAULT
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
54
|
+
class RecipeWorkflowStepPosition(StrEnum):
|
|
55
|
+
FIRST = "first"
|
|
56
|
+
LAST = "last"
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
60
|
+
@serial_class(
|
|
61
|
+
named_type_path="sdk.recipe_workflow_steps.RecipeWorkflowStepIdentifierWorkflowStep",
|
|
62
|
+
parse_require={"type"},
|
|
63
|
+
)
|
|
64
|
+
@dataclasses.dataclass(kw_only=True)
|
|
65
|
+
class RecipeWorkflowStepIdentifierWorkflowStep(RecipeWorkflowStepIdentifierBase):
|
|
66
|
+
type: typing.Literal[RecipeWorkflowStepIdentifierType.WORKFLOW_STEP] = RecipeWorkflowStepIdentifierType.WORKFLOW_STEP
|
|
67
|
+
workflow_step_key: identifier_t.IdentifierKey
|
|
68
|
+
position: RecipeWorkflowStepPosition = RecipeWorkflowStepPosition.FIRST
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
72
|
+
@serial_class(
|
|
73
|
+
named_type_path="sdk.recipe_workflow_steps.RecipeWorkflowStepIdentifierKey",
|
|
74
|
+
parse_require={"type"},
|
|
75
|
+
)
|
|
76
|
+
@dataclasses.dataclass(kw_only=True)
|
|
77
|
+
class RecipeWorkflowStepIdentifierKey:
|
|
78
|
+
type: typing.Literal[RecipeWorkflowStepIdentifierType.IDENTIFIER_KEY] = RecipeWorkflowStepIdentifierType.IDENTIFIER_KEY
|
|
79
|
+
recipe_workflow_step_key: identifier_t.IdentifierKey
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
83
|
+
RecipeWorkflowStepIdentifier = typing.Annotated[
|
|
84
|
+
typing.Union[RecipeWorkflowStepIdentifierDefault, RecipeWorkflowStepIdentifierWorkflowStep, RecipeWorkflowStepIdentifierKey],
|
|
85
|
+
serial_union_annotation(
|
|
86
|
+
named_type_path="sdk.recipe_workflow_steps.RecipeWorkflowStepIdentifier",
|
|
87
|
+
discriminator="type",
|
|
88
|
+
discriminator_map={
|
|
89
|
+
"default": RecipeWorkflowStepIdentifierDefault,
|
|
90
|
+
"workflow_step": RecipeWorkflowStepIdentifierWorkflowStep,
|
|
91
|
+
"identifier_key": RecipeWorkflowStepIdentifierKey,
|
|
92
|
+
},
|
|
93
|
+
),
|
|
94
|
+
]
|
|
95
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# flake8: noqa: F821
|
|
2
|
+
# ruff: noqa: E402 Q003
|
|
3
|
+
# fmt: off
|
|
4
|
+
# isort: skip_file
|
|
5
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
6
|
+
# Kept only for SDK backwards compatibility
|
|
7
|
+
from .recipes_t import RecipeAttributeFormatting as RecipeAttributeFormatting
|
|
8
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,25 @@
|
|
|
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
|
+
|
|
13
|
+
__all__: list[str] = [
|
|
14
|
+
"RecipeAttributeFormatting",
|
|
15
|
+
]
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
19
|
+
@serial_class(
|
|
20
|
+
named_type_path="sdk.recipes.RecipeAttributeFormatting",
|
|
21
|
+
)
|
|
22
|
+
@dataclasses.dataclass(kw_only=True)
|
|
23
|
+
class RecipeAttributeFormatting:
|
|
24
|
+
background_color: str
|
|
25
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# flake8: noqa: F821
|
|
2
|
+
# ruff: noqa: E402 Q003
|
|
3
|
+
# fmt: off
|
|
4
|
+
# isort: skip_file
|
|
5
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
6
|
+
# Kept only for SDK backwards compatibility
|
|
7
|
+
from .response_t import Response as Response
|
|
8
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
+
# flake8: noqa: F821
|
|
3
|
+
# ruff: noqa: E402 Q003
|
|
4
|
+
# fmt: off
|
|
5
|
+
# isort: skip_file
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
import typing # noqa: F401
|
|
8
|
+
import datetime # noqa: F401
|
|
9
|
+
from decimal import Decimal # noqa: F401
|
|
10
|
+
import dataclasses
|
|
11
|
+
from pkgs.serialization import serial_class
|
|
12
|
+
|
|
13
|
+
__all__: list[str] = [
|
|
14
|
+
"Response",
|
|
15
|
+
]
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
19
|
+
@serial_class(
|
|
20
|
+
named_type_path="sdk.response.Response",
|
|
21
|
+
parse_require={"status"},
|
|
22
|
+
)
|
|
23
|
+
@dataclasses.dataclass(kw_only=True)
|
|
24
|
+
class Response:
|
|
25
|
+
status: typing.Literal["ok"] = "ok"
|
|
26
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# flake8: noqa: F821
|
|
2
|
+
# ruff: noqa: E402 Q003
|
|
3
|
+
# fmt: off
|
|
4
|
+
# isort: skip_file
|
|
5
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
6
|
+
# Kept only for SDK backwards compatibility
|
|
7
|
+
from .secret_retrieval_t import SecretRetrievalBase as SecretRetrievalBase
|
|
8
|
+
from .secret_retrieval_t import SecretRetrievalType as SecretRetrievalType
|
|
9
|
+
from .secret_retrieval_t import SecretRetrievalEnv as SecretRetrievalEnv
|
|
10
|
+
from .secret_retrieval_t import SecretRetrievalAWS as SecretRetrievalAWS
|
|
11
|
+
from .secret_retrieval_t import SecretRetrieval as SecretRetrieval
|
|
12
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,75 @@
|
|
|
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 pkgs.serialization import serial_union_annotation
|
|
14
|
+
|
|
15
|
+
__all__: list[str] = [
|
|
16
|
+
"SecretRetrieval",
|
|
17
|
+
"SecretRetrievalAWS",
|
|
18
|
+
"SecretRetrievalBase",
|
|
19
|
+
"SecretRetrievalEnv",
|
|
20
|
+
"SecretRetrievalType",
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
25
|
+
@serial_class(
|
|
26
|
+
named_type_path="sdk.secret_retrieval.SecretRetrievalBase",
|
|
27
|
+
)
|
|
28
|
+
@dataclasses.dataclass(kw_only=True, frozen=True, eq=True)
|
|
29
|
+
class SecretRetrievalBase:
|
|
30
|
+
type: SecretRetrievalType
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
34
|
+
class SecretRetrievalType(StrEnum):
|
|
35
|
+
ENV = "env"
|
|
36
|
+
AWS = "aws"
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
40
|
+
@serial_class(
|
|
41
|
+
named_type_path="sdk.secret_retrieval.SecretRetrievalEnv",
|
|
42
|
+
parse_require={"type"},
|
|
43
|
+
)
|
|
44
|
+
@dataclasses.dataclass(kw_only=True, frozen=True, eq=True)
|
|
45
|
+
class SecretRetrievalEnv(SecretRetrievalBase):
|
|
46
|
+
type: typing.Literal[SecretRetrievalType.ENV] = SecretRetrievalType.ENV
|
|
47
|
+
env_key: str
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
51
|
+
@serial_class(
|
|
52
|
+
named_type_path="sdk.secret_retrieval.SecretRetrievalAWS",
|
|
53
|
+
parse_require={"type"},
|
|
54
|
+
)
|
|
55
|
+
@dataclasses.dataclass(kw_only=True, frozen=True, eq=True)
|
|
56
|
+
class SecretRetrievalAWS(SecretRetrievalBase):
|
|
57
|
+
type: typing.Literal[SecretRetrievalType.AWS] = SecretRetrievalType.AWS
|
|
58
|
+
secret_name: str
|
|
59
|
+
region: str
|
|
60
|
+
sub_key: str | None = None
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
64
|
+
SecretRetrieval = typing.Annotated[
|
|
65
|
+
typing.Union[SecretRetrievalEnv, SecretRetrievalAWS],
|
|
66
|
+
serial_union_annotation(
|
|
67
|
+
named_type_path="sdk.secret_retrieval.SecretRetrieval",
|
|
68
|
+
discriminator="type",
|
|
69
|
+
discriminator_map={
|
|
70
|
+
"env": SecretRetrievalEnv,
|
|
71
|
+
"aws": SecretRetrievalAWS,
|
|
72
|
+
},
|
|
73
|
+
),
|
|
74
|
+
]
|
|
75
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# flake8: noqa: F821
|
|
2
|
+
# ruff: noqa: E402 Q003
|
|
3
|
+
# fmt: off
|
|
4
|
+
# isort: skip_file
|
|
5
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
6
|
+
# Kept only for SDK backwards compatibility
|
|
7
|
+
from .units_t import SimpleUnit as SimpleUnit
|
|
8
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,27 @@
|
|
|
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 base_t
|
|
13
|
+
|
|
14
|
+
__all__: list[str] = [
|
|
15
|
+
"SimpleUnit",
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
20
|
+
@serial_class(
|
|
21
|
+
named_type_path="sdk.units.SimpleUnit",
|
|
22
|
+
)
|
|
23
|
+
@dataclasses.dataclass(kw_only=True)
|
|
24
|
+
class SimpleUnit:
|
|
25
|
+
unit_id: base_t.ObjectId
|
|
26
|
+
name: str
|
|
27
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|