UncountablePythonSDK 0.0.82__py3-none-any.whl → 0.0.132__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of UncountablePythonSDK might be problematic. Click here for more details.
- docs/conf.py +54 -7
- docs/index.md +107 -4
- docs/integration_examples/create_ingredient.md +43 -0
- docs/integration_examples/create_output.md +56 -0
- docs/integration_examples/index.md +6 -0
- docs/justfile +2 -2
- docs/requirements.txt +6 -4
- examples/basic_auth.py +7 -0
- examples/create_ingredient_sdk.py +34 -0
- examples/download_files.py +26 -0
- examples/integration-server/jobs/materials_auto/concurrent_cron.py +11 -0
- examples/integration-server/jobs/materials_auto/example_cron.py +3 -0
- examples/integration-server/jobs/materials_auto/example_http.py +47 -0
- examples/integration-server/jobs/materials_auto/example_instrument.py +100 -0
- examples/integration-server/jobs/materials_auto/example_parse.py +140 -0
- examples/integration-server/jobs/materials_auto/example_predictions.py +61 -0
- examples/integration-server/jobs/materials_auto/example_runsheet_wh.py +39 -0
- examples/integration-server/jobs/materials_auto/example_wh.py +17 -9
- examples/integration-server/jobs/materials_auto/profile.yaml +61 -0
- examples/integration-server/pyproject.toml +10 -10
- examples/oauth.py +7 -0
- examples/set_recipe_metadata_file.py +1 -1
- examples/upload_files.py +1 -2
- pkgs/argument_parser/__init__.py +8 -0
- pkgs/argument_parser/_is_namedtuple.py +3 -0
- pkgs/argument_parser/argument_parser.py +196 -63
- pkgs/filesystem_utils/__init__.py +1 -0
- pkgs/filesystem_utils/_blob_session.py +144 -0
- pkgs/filesystem_utils/_gdrive_session.py +5 -5
- pkgs/filesystem_utils/_s3_session.py +2 -1
- pkgs/filesystem_utils/_sftp_session.py +6 -3
- pkgs/filesystem_utils/file_type_utils.py +30 -10
- pkgs/serialization/__init__.py +7 -2
- 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 +40 -48
- pkgs/serialization/serial_generic.py +16 -0
- pkgs/serialization/serial_union.py +16 -16
- pkgs/serialization_util/__init__.py +6 -0
- pkgs/serialization_util/dataclasses.py +14 -0
- pkgs/serialization_util/serialization_helpers.py +15 -5
- pkgs/type_spec/actions_registry/__main__.py +0 -4
- pkgs/type_spec/actions_registry/emit_typescript.py +2 -4
- pkgs/type_spec/builder.py +248 -70
- pkgs/type_spec/builder_types.py +9 -0
- pkgs/type_spec/config.py +40 -7
- pkgs/type_spec/cross_output_links.py +99 -0
- pkgs/type_spec/emit_open_api.py +121 -34
- pkgs/type_spec/emit_open_api_util.py +5 -5
- pkgs/type_spec/emit_python.py +277 -86
- pkgs/type_spec/emit_typescript.py +102 -29
- pkgs/type_spec/emit_typescript_util.py +66 -10
- pkgs/type_spec/load_types.py +16 -3
- pkgs/type_spec/non_discriminated_union_exceptions.py +14 -0
- pkgs/type_spec/open_api_util.py +29 -4
- pkgs/type_spec/parts/base.py.prepart +11 -8
- pkgs/type_spec/parts/base.ts.prepart +4 -0
- pkgs/type_spec/type_info/__main__.py +3 -1
- pkgs/type_spec/type_info/emit_type_info.py +115 -22
- pkgs/type_spec/ui_entry_actions/__init__.py +4 -0
- pkgs/type_spec/ui_entry_actions/generate_ui_entry_actions.py +308 -0
- pkgs/type_spec/util.py +3 -3
- pkgs/type_spec/value_spec/__main__.py +26 -9
- pkgs/type_spec/value_spec/convert_type.py +18 -0
- pkgs/type_spec/value_spec/emit_python.py +13 -3
- pkgs/type_spec/value_spec/types.py +1 -1
- uncountable/core/async_batch.py +1 -1
- uncountable/core/client.py +133 -34
- uncountable/core/environment.py +3 -3
- uncountable/core/file_upload.py +39 -15
- uncountable/integration/cli.py +116 -23
- uncountable/integration/construct_client.py +3 -3
- uncountable/integration/executors/executors.py +12 -2
- uncountable/integration/executors/generic_upload_executor.py +66 -14
- uncountable/integration/http_server/__init__.py +5 -0
- uncountable/integration/http_server/types.py +69 -0
- uncountable/integration/job.py +192 -7
- uncountable/integration/queue_runner/command_server/__init__.py +4 -0
- uncountable/integration/queue_runner/command_server/command_client.py +65 -0
- uncountable/integration/queue_runner/command_server/command_server.py +83 -5
- uncountable/integration/queue_runner/command_server/constants.py +4 -0
- uncountable/integration/queue_runner/command_server/protocol/command_server.proto +36 -0
- uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.py +28 -11
- uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.pyi +77 -1
- uncountable/integration/queue_runner/command_server/protocol/command_server_pb2_grpc.py +135 -0
- uncountable/integration/queue_runner/command_server/types.py +25 -2
- uncountable/integration/queue_runner/datastore/datastore_sqlite.py +168 -11
- uncountable/integration/queue_runner/datastore/interface.py +10 -0
- uncountable/integration/queue_runner/datastore/model.py +8 -1
- uncountable/integration/queue_runner/job_scheduler.py +63 -23
- uncountable/integration/queue_runner/queue_runner.py +10 -2
- uncountable/integration/queue_runner/worker.py +22 -17
- uncountable/integration/scan_profiles.py +1 -1
- uncountable/integration/scheduler.py +74 -25
- uncountable/integration/secret_retrieval/retrieve_secret.py +1 -1
- uncountable/integration/server.py +42 -12
- uncountable/integration/telemetry.py +63 -10
- uncountable/integration/webhook_server/entrypoint.py +39 -112
- uncountable/types/__init__.py +58 -1
- uncountable/types/api/batch/execute_batch.py +5 -6
- uncountable/types/api/batch/execute_batch_load_async.py +2 -3
- uncountable/types/api/chemical/convert_chemical_formats.py +10 -5
- uncountable/types/api/condition_parameters/__init__.py +1 -0
- uncountable/types/api/condition_parameters/upsert_condition_match.py +72 -0
- uncountable/types/api/entity/create_entities.py +7 -7
- uncountable/types/api/entity/create_entity.py +8 -8
- uncountable/types/api/entity/create_or_update_entity.py +48 -0
- uncountable/types/api/entity/export_entities.py +59 -0
- uncountable/types/api/entity/get_entities_data.py +3 -4
- uncountable/types/api/entity/grant_entity_permissions.py +6 -6
- uncountable/types/api/entity/list_aggregate.py +79 -0
- uncountable/types/api/entity/list_entities.py +34 -10
- uncountable/types/api/entity/lock_entity.py +4 -4
- uncountable/types/api/entity/lookup_entity.py +116 -0
- uncountable/types/api/entity/resolve_entity_ids.py +5 -6
- uncountable/types/api/entity/set_entity_field_values.py +44 -0
- uncountable/types/api/entity/set_values.py +3 -3
- uncountable/types/api/entity/transition_entity_phase.py +14 -7
- uncountable/types/api/entity/unlock_entity.py +3 -3
- uncountable/types/api/equipment/associate_equipment_input.py +2 -3
- uncountable/types/api/field_options/upsert_field_options.py +7 -7
- uncountable/types/api/files/__init__.py +1 -0
- uncountable/types/api/files/download_file.py +77 -0
- uncountable/types/api/id_source/list_id_source.py +6 -7
- uncountable/types/api/id_source/match_id_source.py +4 -5
- uncountable/types/api/input_groups/get_input_group_names.py +3 -4
- uncountable/types/api/inputs/create_inputs.py +10 -9
- uncountable/types/api/inputs/get_input_data.py +11 -12
- uncountable/types/api/inputs/get_input_names.py +6 -7
- uncountable/types/api/inputs/get_inputs_data.py +6 -7
- uncountable/types/api/inputs/set_input_attribute_values.py +5 -6
- uncountable/types/api/inputs/set_input_category.py +5 -5
- uncountable/types/api/inputs/set_input_subcategories.py +3 -3
- uncountable/types/api/inputs/set_intermediate_type.py +4 -4
- uncountable/types/api/integrations/__init__.py +1 -0
- uncountable/types/api/integrations/publish_realtime_data.py +41 -0
- uncountable/types/api/integrations/push_notification.py +49 -0
- uncountable/types/api/integrations/register_sockets_token.py +41 -0
- uncountable/types/api/listing/__init__.py +1 -0
- uncountable/types/api/listing/fetch_listing.py +58 -0
- uncountable/types/api/material_families/update_entity_material_families.py +3 -4
- uncountable/types/api/notebooks/__init__.py +1 -0
- uncountable/types/api/notebooks/add_notebook_content.py +119 -0
- uncountable/types/api/outputs/get_output_data.py +12 -13
- uncountable/types/api/outputs/get_output_names.py +5 -6
- uncountable/types/api/outputs/get_output_organization.py +173 -0
- uncountable/types/api/outputs/resolve_output_conditions.py +7 -8
- uncountable/types/api/permissions/set_core_permissions.py +16 -10
- uncountable/types/api/project/get_projects.py +6 -7
- uncountable/types/api/project/get_projects_data.py +7 -8
- uncountable/types/api/recipe_links/create_recipe_link.py +5 -5
- uncountable/types/api/recipe_links/remove_recipe_link.py +4 -4
- uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +6 -7
- uncountable/types/api/recipes/add_recipe_to_project.py +3 -3
- uncountable/types/api/recipes/add_time_series_data.py +64 -0
- uncountable/types/api/recipes/archive_recipes.py +4 -4
- uncountable/types/api/recipes/associate_recipe_as_input.py +5 -5
- uncountable/types/api/recipes/associate_recipe_as_lot.py +3 -3
- uncountable/types/api/recipes/clear_recipe_outputs.py +3 -3
- uncountable/types/api/recipes/create_mix_order.py +44 -0
- uncountable/types/api/recipes/create_recipe.py +8 -9
- uncountable/types/api/recipes/create_recipes.py +8 -9
- uncountable/types/api/recipes/disassociate_recipe_as_input.py +3 -3
- uncountable/types/api/recipes/edit_recipe_inputs.py +101 -24
- uncountable/types/api/recipes/get_column_calculation_values.py +4 -5
- uncountable/types/api/recipes/get_curve.py +4 -5
- uncountable/types/api/recipes/get_recipe_calculations.py +6 -7
- uncountable/types/api/recipes/get_recipe_links.py +3 -4
- uncountable/types/api/recipes/get_recipe_names.py +3 -4
- uncountable/types/api/recipes/get_recipe_output_metadata.py +5 -6
- uncountable/types/api/recipes/get_recipes_data.py +62 -34
- uncountable/types/api/recipes/lock_recipes.py +9 -8
- uncountable/types/api/recipes/remove_recipe_from_project.py +3 -3
- uncountable/types/api/recipes/set_recipe_inputs.py +9 -10
- uncountable/types/api/recipes/set_recipe_metadata.py +3 -3
- uncountable/types/api/recipes/set_recipe_output_annotations.py +11 -12
- uncountable/types/api/recipes/set_recipe_output_file.py +5 -6
- uncountable/types/api/recipes/set_recipe_outputs.py +24 -13
- uncountable/types/api/recipes/set_recipe_tags.py +14 -9
- uncountable/types/api/recipes/set_recipe_total.py +59 -0
- uncountable/types/api/recipes/unarchive_recipes.py +3 -3
- uncountable/types/api/recipes/unlock_recipes.py +7 -6
- uncountable/types/api/runsheet/__init__.py +1 -0
- uncountable/types/api/runsheet/complete_async_upload.py +41 -0
- uncountable/types/api/triggers/run_trigger.py +4 -4
- uncountable/types/api/uploader/complete_async_parse.py +46 -0
- uncountable/types/api/uploader/invoke_uploader.py +4 -5
- uncountable/types/api/user/__init__.py +1 -0
- uncountable/types/api/user/get_current_user_info.py +40 -0
- uncountable/types/async_batch.py +1 -1
- uncountable/types/async_batch_processor.py +506 -23
- uncountable/types/async_batch_t.py +35 -8
- 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 +6 -6
- uncountable/types/base.py +0 -1
- uncountable/types/base_t.py +11 -9
- uncountable/types/calculations.py +0 -1
- uncountable/types/calculations_t.py +1 -2
- uncountable/types/chemical_structure.py +0 -1
- uncountable/types/chemical_structure_t.py +5 -5
- uncountable/types/client_base.py +614 -69
- uncountable/types/client_config.py +1 -1
- uncountable/types/client_config_t.py +13 -3
- uncountable/types/curves.py +0 -1
- uncountable/types/curves_t.py +6 -7
- uncountable/types/data.py +12 -0
- uncountable/types/data_t.py +103 -0
- uncountable/types/entity.py +1 -1
- uncountable/types/entity_t.py +90 -10
- uncountable/types/experiment_groups.py +0 -1
- uncountable/types/experiment_groups_t.py +1 -2
- uncountable/types/exports.py +8 -0
- uncountable/types/exports_t.py +34 -0
- uncountable/types/field_values.py +19 -1
- uncountable/types/field_values_t.py +242 -9
- uncountable/types/fields.py +0 -1
- uncountable/types/fields_t.py +1 -2
- uncountable/types/generic_upload.py +0 -1
- uncountable/types/generic_upload_t.py +14 -14
- uncountable/types/id_source.py +0 -1
- uncountable/types/id_source_t.py +13 -7
- uncountable/types/identifier.py +0 -1
- uncountable/types/identifier_t.py +10 -5
- uncountable/types/input_attributes.py +0 -1
- uncountable/types/input_attributes_t.py +3 -4
- uncountable/types/inputs.py +0 -1
- uncountable/types/inputs_t.py +3 -4
- uncountable/types/integration_server.py +0 -1
- uncountable/types/integration_server_t.py +13 -4
- uncountable/types/integration_session.py +10 -0
- uncountable/types/integration_session_t.py +60 -0
- uncountable/types/integrations.py +10 -0
- uncountable/types/integrations_t.py +62 -0
- uncountable/types/job_definition.py +2 -1
- uncountable/types/job_definition_t.py +57 -32
- uncountable/types/listing.py +9 -0
- uncountable/types/listing_t.py +51 -0
- uncountable/types/notices.py +8 -0
- uncountable/types/notices_t.py +37 -0
- uncountable/types/notifications.py +11 -0
- uncountable/types/notifications_t.py +74 -0
- uncountable/types/outputs.py +0 -1
- uncountable/types/outputs_t.py +2 -3
- uncountable/types/overrides.py +0 -1
- uncountable/types/overrides_t.py +10 -4
- uncountable/types/permissions.py +0 -1
- uncountable/types/permissions_t.py +1 -2
- uncountable/types/phases.py +0 -1
- uncountable/types/phases_t.py +1 -2
- uncountable/types/post_base.py +0 -1
- uncountable/types/post_base_t.py +1 -2
- uncountable/types/queued_job.py +2 -1
- uncountable/types/queued_job_t.py +29 -12
- uncountable/types/recipe_identifiers.py +0 -1
- uncountable/types/recipe_identifiers_t.py +18 -8
- 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 +3 -4
- uncountable/types/recipe_metadata.py +0 -1
- uncountable/types/recipe_metadata_t.py +9 -10
- uncountable/types/recipe_output_metadata.py +0 -1
- uncountable/types/recipe_output_metadata_t.py +1 -2
- uncountable/types/recipe_tags.py +0 -1
- uncountable/types/recipe_tags_t.py +1 -2
- uncountable/types/recipe_workflow_steps.py +0 -1
- uncountable/types/recipe_workflow_steps_t.py +7 -7
- uncountable/types/recipes.py +0 -1
- uncountable/types/recipes_t.py +2 -2
- uncountable/types/response.py +0 -1
- uncountable/types/response_t.py +2 -2
- uncountable/types/secret_retrieval.py +0 -1
- uncountable/types/secret_retrieval_t.py +7 -7
- uncountable/types/sockets.py +20 -0
- uncountable/types/sockets_t.py +169 -0
- uncountable/types/structured_filters.py +25 -0
- uncountable/types/structured_filters_t.py +248 -0
- uncountable/types/units.py +0 -1
- uncountable/types/units_t.py +1 -2
- uncountable/types/uploader.py +24 -0
- uncountable/types/uploader_t.py +222 -0
- uncountable/types/users.py +0 -1
- uncountable/types/users_t.py +1 -2
- uncountable/types/webhook_job.py +1 -1
- uncountable/types/webhook_job_t.py +14 -3
- uncountable/types/workflows.py +0 -1
- uncountable/types/workflows_t.py +3 -4
- uncountablepythonsdk-0.0.132.dist-info/METADATA +64 -0
- uncountablepythonsdk-0.0.132.dist-info/RECORD +363 -0
- {UncountablePythonSDK-0.0.82.dist-info → uncountablepythonsdk-0.0.132.dist-info}/WHEEL +1 -1
- UncountablePythonSDK-0.0.82.dist-info/METADATA +0 -60
- UncountablePythonSDK-0.0.82.dist-info/RECORD +0 -292
- docs/quickstart.md +0 -19
- {UncountablePythonSDK-0.0.82.dist-info → uncountablepythonsdk-0.0.132.dist-info}/top_level.txt +0 -0
uncountable/types/permissions.py
CHANGED
|
@@ -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
|
from pkgs.serialization import serial_string_enum
|
|
12
11
|
|
|
13
12
|
__all__: list[str] = [
|
uncountable/types/phases.py
CHANGED
uncountable/types/phases_t.py
CHANGED
|
@@ -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
|
|
@@ -20,7 +19,7 @@ __all__: list[str] = [
|
|
|
20
19
|
@serial_class(
|
|
21
20
|
named_type_path="sdk.phases.Phase",
|
|
22
21
|
)
|
|
23
|
-
@dataclasses.dataclass(kw_only=True)
|
|
22
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
24
23
|
class Phase:
|
|
25
24
|
id: base_t.ObjectId
|
|
26
25
|
name: str
|
uncountable/types/post_base.py
CHANGED
uncountable/types/post_base_t.py
CHANGED
|
@@ -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
|
from pkgs.serialization import serial_string_enum
|
|
12
11
|
|
|
13
12
|
__all__: list[str] = [
|
uncountable/types/queued_job.py
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
# flake8: noqa: F821
|
|
2
1
|
# ruff: noqa: E402 Q003
|
|
3
2
|
# fmt: off
|
|
4
3
|
# isort: skip_file
|
|
@@ -12,5 +11,7 @@ from .queued_job_t import InvocationContextWebhook as InvocationContextWebhook
|
|
|
12
11
|
from .queued_job_t import InvocationContext as InvocationContext
|
|
13
12
|
from .queued_job_t import QueuedJobPayload as QueuedJobPayload
|
|
14
13
|
from .queued_job_t import QueuedJobResult as QueuedJobResult
|
|
14
|
+
from .queued_job_t import QueuedJobMetadata as QueuedJobMetadata
|
|
15
15
|
from .queued_job_t import QueuedJob as QueuedJob
|
|
16
|
+
from .queued_job_t import JobStatus as JobStatus
|
|
16
17
|
# 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
|
|
@@ -21,7 +20,9 @@ __all__: list[str] = [
|
|
|
21
20
|
"InvocationContextManual",
|
|
22
21
|
"InvocationContextType",
|
|
23
22
|
"InvocationContextWebhook",
|
|
23
|
+
"JobStatus",
|
|
24
24
|
"QueuedJob",
|
|
25
|
+
"QueuedJobMetadata",
|
|
25
26
|
"QueuedJobPayload",
|
|
26
27
|
"QueuedJobResult",
|
|
27
28
|
]
|
|
@@ -38,7 +39,7 @@ class InvocationContextType(StrEnum):
|
|
|
38
39
|
@serial_class(
|
|
39
40
|
named_type_path="sdk.queued_job.InvocationContextBase",
|
|
40
41
|
)
|
|
41
|
-
@dataclasses.dataclass(kw_only=True)
|
|
42
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
42
43
|
class InvocationContextBase:
|
|
43
44
|
type: InvocationContextType
|
|
44
45
|
|
|
@@ -48,7 +49,7 @@ class InvocationContextBase:
|
|
|
48
49
|
named_type_path="sdk.queued_job.InvocationContextCron",
|
|
49
50
|
parse_require={"type"},
|
|
50
51
|
)
|
|
51
|
-
@dataclasses.dataclass(kw_only=True)
|
|
52
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
52
53
|
class InvocationContextCron(InvocationContextBase):
|
|
53
54
|
type: typing.Literal[InvocationContextType.CRON] = InvocationContextType.CRON
|
|
54
55
|
|
|
@@ -58,7 +59,7 @@ class InvocationContextCron(InvocationContextBase):
|
|
|
58
59
|
named_type_path="sdk.queued_job.InvocationContextManual",
|
|
59
60
|
parse_require={"type"},
|
|
60
61
|
)
|
|
61
|
-
@dataclasses.dataclass(kw_only=True)
|
|
62
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
62
63
|
class InvocationContextManual(InvocationContextBase):
|
|
63
64
|
type: typing.Literal[InvocationContextType.MANUAL] = InvocationContextType.MANUAL
|
|
64
65
|
|
|
@@ -69,7 +70,7 @@ class InvocationContextManual(InvocationContextBase):
|
|
|
69
70
|
unconverted_values={"webhook_payload"},
|
|
70
71
|
parse_require={"type"},
|
|
71
72
|
)
|
|
72
|
-
@dataclasses.dataclass(kw_only=True)
|
|
73
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
73
74
|
class InvocationContextWebhook(InvocationContextBase):
|
|
74
75
|
type: typing.Literal[InvocationContextType.WEBHOOK] = InvocationContextType.WEBHOOK
|
|
75
76
|
webhook_payload: base_t.JsonValue
|
|
@@ -77,7 +78,7 @@ class InvocationContextWebhook(InvocationContextBase):
|
|
|
77
78
|
|
|
78
79
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
79
80
|
InvocationContext = typing.Annotated[
|
|
80
|
-
|
|
81
|
+
InvocationContextCron | InvocationContextManual | InvocationContextWebhook,
|
|
81
82
|
serial_union_annotation(
|
|
82
83
|
named_type_path="sdk.queued_job.InvocationContext",
|
|
83
84
|
discriminator="type",
|
|
@@ -94,7 +95,7 @@ InvocationContext = typing.Annotated[
|
|
|
94
95
|
@serial_class(
|
|
95
96
|
named_type_path="sdk.queued_job.QueuedJobPayload",
|
|
96
97
|
)
|
|
97
|
-
@dataclasses.dataclass(kw_only=True)
|
|
98
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
98
99
|
class QueuedJobPayload:
|
|
99
100
|
invocation_context: InvocationContext
|
|
100
101
|
|
|
@@ -103,7 +104,7 @@ class QueuedJobPayload:
|
|
|
103
104
|
@serial_class(
|
|
104
105
|
named_type_path="sdk.queued_job.QueuedJobResult",
|
|
105
106
|
)
|
|
106
|
-
@dataclasses.dataclass(kw_only=True)
|
|
107
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
107
108
|
class QueuedJobResult:
|
|
108
109
|
queued_job_uuid: str
|
|
109
110
|
job_result: job_definition_t.JobResult
|
|
@@ -111,13 +112,29 @@ class QueuedJobResult:
|
|
|
111
112
|
|
|
112
113
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
113
114
|
@serial_class(
|
|
114
|
-
named_type_path="sdk.queued_job.
|
|
115
|
+
named_type_path="sdk.queued_job.QueuedJobMetadata",
|
|
115
116
|
)
|
|
116
|
-
@dataclasses.dataclass(kw_only=True)
|
|
117
|
-
class
|
|
117
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
118
|
+
class QueuedJobMetadata:
|
|
118
119
|
queued_job_uuid: str
|
|
119
120
|
job_ref_name: str
|
|
120
121
|
num_attempts: int
|
|
121
122
|
submitted_at: datetime.datetime
|
|
123
|
+
status: JobStatus | None = None
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
127
|
+
@serial_class(
|
|
128
|
+
named_type_path="sdk.queued_job.QueuedJob",
|
|
129
|
+
)
|
|
130
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
131
|
+
class QueuedJob(QueuedJobMetadata):
|
|
122
132
|
payload: QueuedJobPayload
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
136
|
+
class JobStatus(StrEnum):
|
|
137
|
+
QUEUED = "queued"
|
|
138
|
+
FAILED = "failed"
|
|
139
|
+
SUCCESS = "success"
|
|
123
140
|
# 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
|
|
@@ -9,6 +8,7 @@ import datetime # noqa: F401
|
|
|
9
8
|
from decimal import Decimal # noqa: F401
|
|
10
9
|
import dataclasses
|
|
11
10
|
from pkgs.serialization import serial_class
|
|
11
|
+
from pkgs.serialization import serial_alias_annotation
|
|
12
12
|
from . import base_t
|
|
13
13
|
|
|
14
14
|
__all__: list[str] = [
|
|
@@ -25,7 +25,7 @@ __all__: list[str] = [
|
|
|
25
25
|
named_type_path="sdk.recipe_identifiers.RecipeIdentifierEditableName",
|
|
26
26
|
parse_require={"type"},
|
|
27
27
|
)
|
|
28
|
-
@dataclasses.dataclass(kw_only=True)
|
|
28
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
29
29
|
class RecipeIdentifierEditableName:
|
|
30
30
|
type: typing.Literal["name"] = "name"
|
|
31
31
|
editable_name: str
|
|
@@ -37,12 +37,12 @@ class RecipeIdentifierEditableName:
|
|
|
37
37
|
to_string_values={"quantity_dec"},
|
|
38
38
|
parse_require={"type"},
|
|
39
39
|
)
|
|
40
|
-
@dataclasses.dataclass(kw_only=True)
|
|
40
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
41
41
|
class RecipeIdentifierMetadata:
|
|
42
42
|
type: typing.Literal["metadata"] = "metadata"
|
|
43
43
|
recipe_metadata_id: base_t.ObjectId
|
|
44
|
-
quantity_dec:
|
|
45
|
-
quantity_json:
|
|
44
|
+
quantity_dec: Decimal | None = None
|
|
45
|
+
quantity_json: str | None = None
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -50,16 +50,26 @@ class RecipeIdentifierMetadata:
|
|
|
50
50
|
named_type_path="sdk.recipe_identifiers.RecipeIdentifierMaterialFamily",
|
|
51
51
|
parse_require={"type"},
|
|
52
52
|
)
|
|
53
|
-
@dataclasses.dataclass(kw_only=True)
|
|
53
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
54
54
|
class RecipeIdentifierMaterialFamily:
|
|
55
55
|
type: typing.Literal["material_family_id"] = "material_family_id"
|
|
56
56
|
material_family_id: base_t.ObjectId
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
60
|
-
RecipeIdentifier = typing.
|
|
60
|
+
RecipeIdentifier = typing.Annotated[
|
|
61
|
+
RecipeIdentifierEditableName | RecipeIdentifierMetadata | RecipeIdentifierMaterialFamily,
|
|
62
|
+
serial_alias_annotation(
|
|
63
|
+
named_type_path="sdk.recipe_identifiers.RecipeIdentifier",
|
|
64
|
+
),
|
|
65
|
+
]
|
|
61
66
|
|
|
62
67
|
|
|
63
68
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
64
|
-
RecipeIdentifiers =
|
|
69
|
+
RecipeIdentifiers = typing.Annotated[
|
|
70
|
+
list[RecipeIdentifier],
|
|
71
|
+
serial_alias_annotation(
|
|
72
|
+
named_type_path="sdk.recipe_identifiers.RecipeIdentifiers",
|
|
73
|
+
),
|
|
74
|
+
]
|
|
65
75
|
# 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
|
|
|
12
11
|
__all__: list[str] = [
|
|
13
12
|
"InputValueType",
|
|
@@ -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_string_enum
|
|
@@ -45,10 +44,10 @@ class RecipeLinkType(StrEnum):
|
|
|
45
44
|
@serial_class(
|
|
46
45
|
named_type_path="sdk.recipe_links.RecipeLink",
|
|
47
46
|
)
|
|
48
|
-
@dataclasses.dataclass(kw_only=True, frozen=True, eq=True)
|
|
47
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True, frozen=True, eq=True) # type: ignore[literal-required]
|
|
49
48
|
class RecipeLink:
|
|
50
49
|
recipe_id_from: base_t.ObjectId
|
|
51
50
|
recipe_id_to: base_t.ObjectId
|
|
52
51
|
link_type: str
|
|
53
|
-
name:
|
|
52
|
+
name: str | None
|
|
54
53
|
# 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
|
|
@@ -24,20 +23,20 @@ __all__: list[str] = [
|
|
|
24
23
|
unconverted_values={"value_json"},
|
|
25
24
|
to_string_values={"value_numeric"},
|
|
26
25
|
)
|
|
27
|
-
@dataclasses.dataclass(kw_only=True)
|
|
26
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
28
27
|
class MetadataValue:
|
|
29
28
|
metadata_id: base_t.ObjectId
|
|
30
|
-
value_numeric:
|
|
31
|
-
value_str:
|
|
32
|
-
value_json:
|
|
33
|
-
value_file_ids:
|
|
29
|
+
value_numeric: Decimal | None = None
|
|
30
|
+
value_str: str | None = None
|
|
31
|
+
value_json: base_t.JsonValue | None = None
|
|
32
|
+
value_file_ids: list[base_t.ObjectId] | None = None
|
|
34
33
|
|
|
35
34
|
|
|
36
35
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
37
36
|
@serial_class(
|
|
38
37
|
named_type_path="sdk.recipe_metadata.SimpleRecipeMetadataField",
|
|
39
38
|
)
|
|
40
|
-
@dataclasses.dataclass(kw_only=True)
|
|
39
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
41
40
|
class SimpleRecipeMetadataField:
|
|
42
41
|
metadata_id: base_t.ObjectId
|
|
43
42
|
name: str
|
|
@@ -50,9 +49,9 @@ class SimpleRecipeMetadataField:
|
|
|
50
49
|
unconverted_values={"quantity_json"},
|
|
51
50
|
to_string_values={"quantity_dec"},
|
|
52
51
|
)
|
|
53
|
-
@dataclasses.dataclass(kw_only=True)
|
|
52
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
54
53
|
class RecipeMetadata:
|
|
55
54
|
metadata_id: base_t.ObjectId
|
|
56
|
-
quantity_dec:
|
|
57
|
-
quantity_json:
|
|
55
|
+
quantity_dec: Decimal | None = None
|
|
56
|
+
quantity_json: base_t.JsonValue | None = None
|
|
58
57
|
# 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
|
|
@@ -20,7 +19,7 @@ __all__: list[str] = [
|
|
|
20
19
|
@serial_class(
|
|
21
20
|
named_type_path="sdk.recipe_output_metadata.RecipeOutputMetadataField",
|
|
22
21
|
)
|
|
23
|
-
@dataclasses.dataclass(kw_only=True)
|
|
22
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
24
23
|
class RecipeOutputMetadataField:
|
|
25
24
|
id: base_t.ObjectId
|
|
26
25
|
name: str
|
uncountable/types/recipe_tags.py
CHANGED
|
@@ -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
|
|
@@ -20,7 +19,7 @@ __all__: list[str] = [
|
|
|
20
19
|
@serial_class(
|
|
21
20
|
named_type_path="sdk.recipe_tags.SimpleRecipeTag",
|
|
22
21
|
)
|
|
23
|
-
@dataclasses.dataclass(kw_only=True)
|
|
22
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
24
23
|
class SimpleRecipeTag:
|
|
25
24
|
recipe_tag_id: base_t.ObjectId
|
|
26
25
|
name: str
|
|
@@ -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,10 +6,11 @@ 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
|
|
13
|
+
from . import base_t
|
|
14
14
|
from . import identifier_t
|
|
15
15
|
|
|
16
16
|
__all__: list[str] = [
|
|
@@ -35,7 +35,7 @@ class RecipeWorkflowStepIdentifierType(StrEnum):
|
|
|
35
35
|
@serial_class(
|
|
36
36
|
named_type_path="sdk.recipe_workflow_steps.RecipeWorkflowStepIdentifierBase",
|
|
37
37
|
)
|
|
38
|
-
@dataclasses.dataclass(kw_only=True)
|
|
38
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
39
39
|
class RecipeWorkflowStepIdentifierBase:
|
|
40
40
|
type: RecipeWorkflowStepIdentifierType
|
|
41
41
|
|
|
@@ -45,7 +45,7 @@ class RecipeWorkflowStepIdentifierBase:
|
|
|
45
45
|
named_type_path="sdk.recipe_workflow_steps.RecipeWorkflowStepIdentifierDefault",
|
|
46
46
|
parse_require={"type"},
|
|
47
47
|
)
|
|
48
|
-
@dataclasses.dataclass(kw_only=True)
|
|
48
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
49
49
|
class RecipeWorkflowStepIdentifierDefault(RecipeWorkflowStepIdentifierBase):
|
|
50
50
|
type: typing.Literal[RecipeWorkflowStepIdentifierType.DEFAULT] = RecipeWorkflowStepIdentifierType.DEFAULT
|
|
51
51
|
|
|
@@ -61,7 +61,7 @@ class RecipeWorkflowStepPosition(StrEnum):
|
|
|
61
61
|
named_type_path="sdk.recipe_workflow_steps.RecipeWorkflowStepIdentifierWorkflowStep",
|
|
62
62
|
parse_require={"type"},
|
|
63
63
|
)
|
|
64
|
-
@dataclasses.dataclass(kw_only=True)
|
|
64
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
65
65
|
class RecipeWorkflowStepIdentifierWorkflowStep(RecipeWorkflowStepIdentifierBase):
|
|
66
66
|
type: typing.Literal[RecipeWorkflowStepIdentifierType.WORKFLOW_STEP] = RecipeWorkflowStepIdentifierType.WORKFLOW_STEP
|
|
67
67
|
workflow_step_key: identifier_t.IdentifierKey
|
|
@@ -73,7 +73,7 @@ class RecipeWorkflowStepIdentifierWorkflowStep(RecipeWorkflowStepIdentifierBase)
|
|
|
73
73
|
named_type_path="sdk.recipe_workflow_steps.RecipeWorkflowStepIdentifierKey",
|
|
74
74
|
parse_require={"type"},
|
|
75
75
|
)
|
|
76
|
-
@dataclasses.dataclass(kw_only=True)
|
|
76
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
77
77
|
class RecipeWorkflowStepIdentifierKey:
|
|
78
78
|
type: typing.Literal[RecipeWorkflowStepIdentifierType.IDENTIFIER_KEY] = RecipeWorkflowStepIdentifierType.IDENTIFIER_KEY
|
|
79
79
|
recipe_workflow_step_key: identifier_t.IdentifierKey
|
|
@@ -81,7 +81,7 @@ class RecipeWorkflowStepIdentifierKey:
|
|
|
81
81
|
|
|
82
82
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
83
83
|
RecipeWorkflowStepIdentifier = typing.Annotated[
|
|
84
|
-
|
|
84
|
+
RecipeWorkflowStepIdentifierDefault | RecipeWorkflowStepIdentifierWorkflowStep | RecipeWorkflowStepIdentifierKey,
|
|
85
85
|
serial_union_annotation(
|
|
86
86
|
named_type_path="sdk.recipe_workflow_steps.RecipeWorkflowStepIdentifier",
|
|
87
87
|
discriminator="type",
|
uncountable/types/recipes.py
CHANGED
uncountable/types/recipes_t.py
CHANGED
|
@@ -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
|
|
@@ -9,6 +8,7 @@ import datetime # noqa: F401
|
|
|
9
8
|
from decimal import Decimal # noqa: F401
|
|
10
9
|
import dataclasses
|
|
11
10
|
from pkgs.serialization import serial_class
|
|
11
|
+
from . import base_t
|
|
12
12
|
|
|
13
13
|
__all__: list[str] = [
|
|
14
14
|
"RecipeAttributeFormatting",
|
|
@@ -19,7 +19,7 @@ __all__: list[str] = [
|
|
|
19
19
|
@serial_class(
|
|
20
20
|
named_type_path="sdk.recipes.RecipeAttributeFormatting",
|
|
21
21
|
)
|
|
22
|
-
@dataclasses.dataclass(kw_only=True)
|
|
22
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
23
23
|
class RecipeAttributeFormatting:
|
|
24
24
|
background_color: str
|
|
25
25
|
# DO NOT MODIFY -- This file is generated by type_spec
|
uncountable/types/response.py
CHANGED
uncountable/types/response_t.py
CHANGED
|
@@ -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
|
|
@@ -9,6 +8,7 @@ import datetime # noqa: F401
|
|
|
9
8
|
from decimal import Decimal # noqa: F401
|
|
10
9
|
import dataclasses
|
|
11
10
|
from pkgs.serialization import serial_class
|
|
11
|
+
from . import base_t
|
|
12
12
|
|
|
13
13
|
__all__: list[str] = [
|
|
14
14
|
"Response",
|
|
@@ -20,7 +20,7 @@ __all__: list[str] = [
|
|
|
20
20
|
named_type_path="sdk.response.Response",
|
|
21
21
|
parse_require={"status"},
|
|
22
22
|
)
|
|
23
|
-
@dataclasses.dataclass(kw_only=True)
|
|
23
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
24
24
|
class Response:
|
|
25
25
|
status: typing.Literal["ok"] = "ok"
|
|
26
26
|
# 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,10 +6,11 @@ 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
|
|
13
|
+
from . import base_t
|
|
14
14
|
|
|
15
15
|
__all__: list[str] = [
|
|
16
16
|
"SecretRetrieval",
|
|
@@ -25,7 +25,7 @@ __all__: list[str] = [
|
|
|
25
25
|
@serial_class(
|
|
26
26
|
named_type_path="sdk.secret_retrieval.SecretRetrievalBase",
|
|
27
27
|
)
|
|
28
|
-
@dataclasses.dataclass(kw_only=True, frozen=True, eq=True)
|
|
28
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True, frozen=True, eq=True) # type: ignore[literal-required]
|
|
29
29
|
class SecretRetrievalBase:
|
|
30
30
|
type: SecretRetrievalType
|
|
31
31
|
|
|
@@ -41,7 +41,7 @@ class SecretRetrievalType(StrEnum):
|
|
|
41
41
|
named_type_path="sdk.secret_retrieval.SecretRetrievalEnv",
|
|
42
42
|
parse_require={"type"},
|
|
43
43
|
)
|
|
44
|
-
@dataclasses.dataclass(kw_only=True, frozen=True, eq=True)
|
|
44
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True, frozen=True, eq=True) # type: ignore[literal-required]
|
|
45
45
|
class SecretRetrievalEnv(SecretRetrievalBase):
|
|
46
46
|
type: typing.Literal[SecretRetrievalType.ENV] = SecretRetrievalType.ENV
|
|
47
47
|
env_key: str
|
|
@@ -52,17 +52,17 @@ class SecretRetrievalEnv(SecretRetrievalBase):
|
|
|
52
52
|
named_type_path="sdk.secret_retrieval.SecretRetrievalAWS",
|
|
53
53
|
parse_require={"type"},
|
|
54
54
|
)
|
|
55
|
-
@dataclasses.dataclass(kw_only=True, frozen=True, eq=True)
|
|
55
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True, frozen=True, eq=True) # type: ignore[literal-required]
|
|
56
56
|
class SecretRetrievalAWS(SecretRetrievalBase):
|
|
57
57
|
type: typing.Literal[SecretRetrievalType.AWS] = SecretRetrievalType.AWS
|
|
58
58
|
secret_name: str
|
|
59
59
|
region: str
|
|
60
|
-
sub_key:
|
|
60
|
+
sub_key: str | None = None
|
|
61
61
|
|
|
62
62
|
|
|
63
63
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
64
64
|
SecretRetrieval = typing.Annotated[
|
|
65
|
-
|
|
65
|
+
SecretRetrievalEnv | SecretRetrievalAWS,
|
|
66
66
|
serial_union_annotation(
|
|
67
67
|
named_type_path="sdk.secret_retrieval.SecretRetrieval",
|
|
68
68
|
discriminator="type",
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# ruff: noqa: E402 Q003
|
|
2
|
+
# fmt: off
|
|
3
|
+
# isort: skip_file
|
|
4
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
5
|
+
# Kept only for SDK backwards compatibility
|
|
6
|
+
from .sockets_t import SocketRequestBase as SocketRequestBase
|
|
7
|
+
from .sockets_t import SocketRequestType as SocketRequestType
|
|
8
|
+
from .sockets_t import SocketRequestIntegrationSession as SocketRequestIntegrationSession
|
|
9
|
+
from .sockets_t import SocketTokenRequest as SocketTokenRequest
|
|
10
|
+
from .sockets_t import SocketTokenResponse as SocketTokenResponse
|
|
11
|
+
from .sockets_t import SocketEventType as SocketEventType
|
|
12
|
+
from .sockets_t import BaseSocketEventData as BaseSocketEventData
|
|
13
|
+
from .sockets_t import UsersInRoomUpdatedEventData as UsersInRoomUpdatedEventData
|
|
14
|
+
from .sockets_t import SocketEventData as SocketEventData
|
|
15
|
+
from .sockets_t import SocketResponse as SocketResponse
|
|
16
|
+
from .sockets_t import SocketClientMessageType as SocketClientMessageType
|
|
17
|
+
from .sockets_t import JoinRoomWithTokenSocketClientMessage as JoinRoomWithTokenSocketClientMessage
|
|
18
|
+
from .sockets_t import SendInstrumentReadingClientMessage as SendInstrumentReadingClientMessage
|
|
19
|
+
from .sockets_t import SocketClientMessage as SocketClientMessage
|
|
20
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|