UncountablePythonSDK 0.0.83__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 +3 -5
- 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.83.dist-info → uncountablepythonsdk-0.0.132.dist-info}/WHEEL +1 -1
- UncountablePythonSDK-0.0.83.dist-info/METADATA +0 -60
- UncountablePythonSDK-0.0.83.dist-info/RECORD +0 -292
- docs/quickstart.md +0 -19
- {UncountablePythonSDK-0.0.83.dist-info → uncountablepythonsdk-0.0.132.dist-info}/top_level.txt +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
-
# flake8: noqa: F821
|
|
3
2
|
# ruff: noqa: E402 Q003
|
|
4
3
|
# fmt: off
|
|
5
4
|
# isort: skip_file
|
|
@@ -7,15 +6,38 @@ from __future__ import annotations
|
|
|
7
6
|
import typing # noqa: F401
|
|
8
7
|
import datetime # noqa: F401
|
|
9
8
|
from decimal import Decimal # noqa: F401
|
|
9
|
+
from enum import StrEnum
|
|
10
10
|
import dataclasses
|
|
11
11
|
from pkgs.serialization import serial_class
|
|
12
|
+
from pkgs.serialization import serial_union_annotation
|
|
12
13
|
from . import base_t
|
|
14
|
+
from . import entity_t
|
|
15
|
+
from . import identifier_t
|
|
13
16
|
|
|
14
17
|
__all__: list[str] = [
|
|
15
18
|
"ArgumentValueId",
|
|
16
19
|
"ArgumentValueRefName",
|
|
20
|
+
"FieldArgumentValue",
|
|
17
21
|
"FieldRefIdNameValue",
|
|
18
22
|
"FieldRefNameValue",
|
|
23
|
+
"FieldValue",
|
|
24
|
+
"FieldValueBase",
|
|
25
|
+
"FieldValueBatchReference",
|
|
26
|
+
"FieldValueBoolean",
|
|
27
|
+
"FieldValueDate",
|
|
28
|
+
"FieldValueDatetime",
|
|
29
|
+
"FieldValueFieldOption",
|
|
30
|
+
"FieldValueFieldOptions",
|
|
31
|
+
"FieldValueFiles",
|
|
32
|
+
"FieldValueId",
|
|
33
|
+
"FieldValueIds",
|
|
34
|
+
"FieldValueNotes",
|
|
35
|
+
"FieldValueNull",
|
|
36
|
+
"FieldValueNumeric",
|
|
37
|
+
"FieldValueText",
|
|
38
|
+
"FieldValueTexts",
|
|
39
|
+
"FieldValueType",
|
|
40
|
+
"ValueResolution",
|
|
19
41
|
]
|
|
20
42
|
|
|
21
43
|
|
|
@@ -24,11 +46,11 @@ __all__: list[str] = [
|
|
|
24
46
|
named_type_path="sdk.field_values.FieldRefNameValue",
|
|
25
47
|
unconverted_values={"value"},
|
|
26
48
|
)
|
|
27
|
-
@dataclasses.dataclass(kw_only=True)
|
|
49
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
28
50
|
class FieldRefNameValue:
|
|
29
51
|
field_ref_name: str
|
|
30
52
|
value: base_t.JsonValue
|
|
31
|
-
row_index:
|
|
53
|
+
row_index: int | None = None
|
|
32
54
|
|
|
33
55
|
|
|
34
56
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -36,12 +58,12 @@ class FieldRefNameValue:
|
|
|
36
58
|
named_type_path="sdk.field_values.FieldRefIdNameValue",
|
|
37
59
|
unconverted_values={"value"},
|
|
38
60
|
)
|
|
39
|
-
@dataclasses.dataclass(kw_only=True)
|
|
61
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
40
62
|
class FieldRefIdNameValue:
|
|
41
63
|
field_id: base_t.ObjectId
|
|
42
64
|
field_ref_name: str
|
|
43
65
|
value: base_t.JsonValue
|
|
44
|
-
row_index:
|
|
66
|
+
row_index: int | None = None
|
|
45
67
|
|
|
46
68
|
|
|
47
69
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -49,11 +71,11 @@ class FieldRefIdNameValue:
|
|
|
49
71
|
named_type_path="sdk.field_values.ArgumentValueRefName",
|
|
50
72
|
unconverted_values={"value"},
|
|
51
73
|
)
|
|
52
|
-
@dataclasses.dataclass(kw_only=True)
|
|
74
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
53
75
|
class ArgumentValueRefName:
|
|
54
76
|
field_ref_name: str
|
|
55
77
|
value: base_t.JsonValue
|
|
56
|
-
row_index:
|
|
78
|
+
row_index: int | None = None
|
|
57
79
|
|
|
58
80
|
|
|
59
81
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -61,9 +83,220 @@ class ArgumentValueRefName:
|
|
|
61
83
|
named_type_path="sdk.field_values.ArgumentValueId",
|
|
62
84
|
unconverted_values={"value"},
|
|
63
85
|
)
|
|
64
|
-
@dataclasses.dataclass(kw_only=True)
|
|
86
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
65
87
|
class ArgumentValueId:
|
|
66
88
|
field_id: base_t.ObjectId
|
|
67
89
|
value: base_t.JsonValue
|
|
68
|
-
row_index:
|
|
90
|
+
row_index: int | None = None
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
94
|
+
class FieldValueType(StrEnum):
|
|
95
|
+
FILES = "files"
|
|
96
|
+
TEXT = "text"
|
|
97
|
+
TEXTS = "texts"
|
|
98
|
+
ID = "id"
|
|
99
|
+
IDS = "ids"
|
|
100
|
+
BOOLEAN = "boolean"
|
|
101
|
+
NUMERIC = "numeric"
|
|
102
|
+
BATCH_REFERENCE = "batch_reference"
|
|
103
|
+
FIELD_OPTION = "field_option"
|
|
104
|
+
FIELD_OPTIONS = "field_options"
|
|
105
|
+
NULL_VALUE = "null_value"
|
|
106
|
+
NOTES = "notes"
|
|
107
|
+
DATE = "date"
|
|
108
|
+
DATETIME = "datetime"
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
112
|
+
@serial_class(
|
|
113
|
+
named_type_path="sdk.field_values.FieldValueBase",
|
|
114
|
+
)
|
|
115
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
116
|
+
class FieldValueBase:
|
|
117
|
+
type: FieldValueType
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
121
|
+
@serial_class(
|
|
122
|
+
named_type_path="sdk.field_values.FieldValueFiles",
|
|
123
|
+
parse_require={"type"},
|
|
124
|
+
)
|
|
125
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
126
|
+
class FieldValueFiles(FieldValueBase):
|
|
127
|
+
type: typing.Literal[FieldValueType.FILES] = FieldValueType.FILES
|
|
128
|
+
file_ids: list[base_t.ObjectId]
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
132
|
+
class ValueResolution(StrEnum):
|
|
133
|
+
DIRECT = "direct"
|
|
134
|
+
LABEL = "label"
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
138
|
+
@serial_class(
|
|
139
|
+
named_type_path="sdk.field_values.FieldValueFieldOption",
|
|
140
|
+
parse_require={"type"},
|
|
141
|
+
)
|
|
142
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
143
|
+
class FieldValueFieldOption(FieldValueBase):
|
|
144
|
+
type: typing.Literal[FieldValueType.FIELD_OPTION] = FieldValueType.FIELD_OPTION
|
|
145
|
+
value: str
|
|
146
|
+
value_resolution: ValueResolution = ValueResolution.DIRECT
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
150
|
+
@serial_class(
|
|
151
|
+
named_type_path="sdk.field_values.FieldValueFieldOptions",
|
|
152
|
+
parse_require={"type"},
|
|
153
|
+
)
|
|
154
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
155
|
+
class FieldValueFieldOptions(FieldValueBase):
|
|
156
|
+
type: typing.Literal[FieldValueType.FIELD_OPTIONS] = FieldValueType.FIELD_OPTIONS
|
|
157
|
+
value: list[str]
|
|
158
|
+
value_resolution: ValueResolution = ValueResolution.DIRECT
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
162
|
+
@serial_class(
|
|
163
|
+
named_type_path="sdk.field_values.FieldValueId",
|
|
164
|
+
parse_require={"type"},
|
|
165
|
+
)
|
|
166
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
167
|
+
class FieldValueId(FieldValueBase):
|
|
168
|
+
type: typing.Literal[FieldValueType.ID] = FieldValueType.ID
|
|
169
|
+
entity_type: entity_t.EntityType
|
|
170
|
+
identifier_key: identifier_t.IdentifierKey
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
174
|
+
@serial_class(
|
|
175
|
+
named_type_path="sdk.field_values.FieldValueIds",
|
|
176
|
+
parse_require={"type"},
|
|
177
|
+
)
|
|
178
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
179
|
+
class FieldValueIds(FieldValueBase):
|
|
180
|
+
type: typing.Literal[FieldValueType.IDS] = FieldValueType.IDS
|
|
181
|
+
entity_type: entity_t.EntityType
|
|
182
|
+
identifier_keys: list[identifier_t.IdentifierKey]
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
186
|
+
@serial_class(
|
|
187
|
+
named_type_path="sdk.field_values.FieldValueText",
|
|
188
|
+
parse_require={"type"},
|
|
189
|
+
)
|
|
190
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
191
|
+
class FieldValueText(FieldValueBase):
|
|
192
|
+
type: typing.Literal[FieldValueType.TEXT] = FieldValueType.TEXT
|
|
193
|
+
value: str
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
197
|
+
@serial_class(
|
|
198
|
+
named_type_path="sdk.field_values.FieldValueTexts",
|
|
199
|
+
parse_require={"type"},
|
|
200
|
+
)
|
|
201
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
202
|
+
class FieldValueTexts(FieldValueBase):
|
|
203
|
+
type: typing.Literal[FieldValueType.TEXTS] = FieldValueType.TEXTS
|
|
204
|
+
value: list[str]
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
208
|
+
@serial_class(
|
|
209
|
+
named_type_path="sdk.field_values.FieldValueBoolean",
|
|
210
|
+
parse_require={"type"},
|
|
211
|
+
)
|
|
212
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
213
|
+
class FieldValueBoolean(FieldValueBase):
|
|
214
|
+
type: typing.Literal[FieldValueType.BOOLEAN] = FieldValueType.BOOLEAN
|
|
215
|
+
value: bool
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
219
|
+
@serial_class(
|
|
220
|
+
named_type_path="sdk.field_values.FieldValueNumeric",
|
|
221
|
+
to_string_values={"value"},
|
|
222
|
+
parse_require={"type"},
|
|
223
|
+
)
|
|
224
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
225
|
+
class FieldValueNumeric(FieldValueBase):
|
|
226
|
+
type: typing.Literal[FieldValueType.NUMERIC] = FieldValueType.NUMERIC
|
|
227
|
+
value: Decimal
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
231
|
+
@serial_class(
|
|
232
|
+
named_type_path="sdk.field_values.FieldValueBatchReference",
|
|
233
|
+
parse_require={"type"},
|
|
234
|
+
)
|
|
235
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
236
|
+
class FieldValueBatchReference(FieldValueBase):
|
|
237
|
+
type: typing.Literal[FieldValueType.BATCH_REFERENCE] = FieldValueType.BATCH_REFERENCE
|
|
238
|
+
reference_key: identifier_t.IdentifierKeyBatchReference
|
|
239
|
+
data_key: str
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
243
|
+
@serial_class(
|
|
244
|
+
named_type_path="sdk.field_values.FieldValueNull",
|
|
245
|
+
parse_require={"type"},
|
|
246
|
+
)
|
|
247
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
248
|
+
class FieldValueNull(FieldValueBase):
|
|
249
|
+
type: typing.Literal[FieldValueType.NULL_VALUE] = FieldValueType.NULL_VALUE
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
253
|
+
@serial_class(
|
|
254
|
+
named_type_path="sdk.field_values.FieldValueNotes",
|
|
255
|
+
parse_require={"type"},
|
|
256
|
+
)
|
|
257
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
258
|
+
class FieldValueNotes(FieldValueBase):
|
|
259
|
+
type: typing.Literal[FieldValueType.NOTES] = FieldValueType.NOTES
|
|
260
|
+
value: str
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
264
|
+
@serial_class(
|
|
265
|
+
named_type_path="sdk.field_values.FieldValueDate",
|
|
266
|
+
parse_require={"type"},
|
|
267
|
+
)
|
|
268
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
269
|
+
class FieldValueDate(FieldValueBase):
|
|
270
|
+
type: typing.Literal[FieldValueType.DATE] = FieldValueType.DATE
|
|
271
|
+
value: datetime.date
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
275
|
+
@serial_class(
|
|
276
|
+
named_type_path="sdk.field_values.FieldValueDatetime",
|
|
277
|
+
parse_require={"type"},
|
|
278
|
+
)
|
|
279
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
280
|
+
class FieldValueDatetime(FieldValueBase):
|
|
281
|
+
type: typing.Literal[FieldValueType.DATETIME] = FieldValueType.DATETIME
|
|
282
|
+
value: datetime.datetime
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
286
|
+
FieldValue = typing.Annotated[
|
|
287
|
+
FieldValueFiles | FieldValueId | FieldValueIds | FieldValueText | FieldValueTexts | FieldValueBoolean | FieldValueNumeric | FieldValueBatchReference | FieldValueFieldOption | FieldValueFieldOptions | FieldValueNull | FieldValueNotes | FieldValueDate | FieldValueDatetime,
|
|
288
|
+
serial_union_annotation(
|
|
289
|
+
named_type_path="sdk.field_values.FieldValue",
|
|
290
|
+
),
|
|
291
|
+
]
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
295
|
+
@serial_class(
|
|
296
|
+
named_type_path="sdk.field_values.FieldArgumentValue",
|
|
297
|
+
)
|
|
298
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
299
|
+
class FieldArgumentValue:
|
|
300
|
+
field_key: identifier_t.IdentifierKey
|
|
301
|
+
value: FieldValue
|
|
69
302
|
# DO NOT MODIFY -- This file is generated by type_spec
|
uncountable/types/fields.py
CHANGED
uncountable/types/fields_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.fields.Field",
|
|
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 Field:
|
|
25
24
|
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] = [
|
|
@@ -29,18 +29,18 @@ __all__: list[str] = [
|
|
|
29
29
|
@serial_class(
|
|
30
30
|
named_type_path="sdk.generic_upload.GenericRemoteDirectoryScope",
|
|
31
31
|
)
|
|
32
|
-
@dataclasses.dataclass(kw_only=True)
|
|
32
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
33
33
|
class GenericRemoteDirectoryScope:
|
|
34
34
|
src_path: str
|
|
35
35
|
success_archive_path: str
|
|
36
36
|
failure_archive_path: str
|
|
37
37
|
recursive: bool
|
|
38
38
|
prepend_date_on_archive: bool
|
|
39
|
-
valid_file_extensions: list[str]
|
|
40
|
-
filename_regex:
|
|
41
|
-
max_files:
|
|
42
|
-
detection_keyword:
|
|
43
|
-
delimiter:
|
|
39
|
+
valid_file_extensions: list[str] | None = None
|
|
40
|
+
filename_regex: str | None = None
|
|
41
|
+
max_files: int | None = None
|
|
42
|
+
detection_keyword: str | None = None
|
|
43
|
+
delimiter: str | None = None
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -54,7 +54,7 @@ class UploadDestinationType(StrEnum):
|
|
|
54
54
|
@serial_class(
|
|
55
55
|
named_type_path="sdk.generic_upload.UploadDestinationBase",
|
|
56
56
|
)
|
|
57
|
-
@dataclasses.dataclass(kw_only=True)
|
|
57
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
58
58
|
class UploadDestinationBase:
|
|
59
59
|
type: UploadDestinationType
|
|
60
60
|
|
|
@@ -64,7 +64,7 @@ class UploadDestinationBase:
|
|
|
64
64
|
named_type_path="sdk.generic_upload.UploadDestinationProject",
|
|
65
65
|
parse_require={"type"},
|
|
66
66
|
)
|
|
67
|
-
@dataclasses.dataclass(kw_only=True)
|
|
67
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
68
68
|
class UploadDestinationProject(UploadDestinationBase):
|
|
69
69
|
type: typing.Literal[UploadDestinationType.PROJECT] = UploadDestinationType.PROJECT
|
|
70
70
|
project_key: identifier_t.IdentifierKey
|
|
@@ -75,7 +75,7 @@ class UploadDestinationProject(UploadDestinationBase):
|
|
|
75
75
|
named_type_path="sdk.generic_upload.UploadDestinationMaterialFamily",
|
|
76
76
|
parse_require={"type"},
|
|
77
77
|
)
|
|
78
|
-
@dataclasses.dataclass(kw_only=True)
|
|
78
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
79
79
|
class UploadDestinationMaterialFamily(UploadDestinationBase):
|
|
80
80
|
type: typing.Literal[UploadDestinationType.MATERIAL_FAMILY] = UploadDestinationType.MATERIAL_FAMILY
|
|
81
81
|
material_family_key: identifier_t.IdentifierKey
|
|
@@ -86,7 +86,7 @@ class UploadDestinationMaterialFamily(UploadDestinationBase):
|
|
|
86
86
|
named_type_path="sdk.generic_upload.UploadDestinationRecipe",
|
|
87
87
|
parse_require={"type"},
|
|
88
88
|
)
|
|
89
|
-
@dataclasses.dataclass(kw_only=True)
|
|
89
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
90
90
|
class UploadDestinationRecipe(UploadDestinationBase):
|
|
91
91
|
type: typing.Literal[UploadDestinationType.RECIPE] = UploadDestinationType.RECIPE
|
|
92
92
|
recipe_key: identifier_t.IdentifierKey
|
|
@@ -94,7 +94,7 @@ class UploadDestinationRecipe(UploadDestinationBase):
|
|
|
94
94
|
|
|
95
95
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
96
96
|
UploadDestination = typing.Annotated[
|
|
97
|
-
|
|
97
|
+
UploadDestinationProject | UploadDestinationMaterialFamily | UploadDestinationRecipe,
|
|
98
98
|
serial_union_annotation(
|
|
99
99
|
named_type_path="sdk.generic_upload.UploadDestination",
|
|
100
100
|
discriminator="type",
|
|
@@ -111,7 +111,7 @@ UploadDestination = typing.Annotated[
|
|
|
111
111
|
@serial_class(
|
|
112
112
|
named_type_path="sdk.generic_upload.GenericUploadStrategy",
|
|
113
113
|
)
|
|
114
|
-
@dataclasses.dataclass(kw_only=True)
|
|
114
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
115
115
|
class GenericUploadStrategy:
|
|
116
116
|
uploader_key: identifier_t.IdentifierKey
|
|
117
117
|
destinations: list[UploadDestination]
|
uncountable/types/id_source.py
CHANGED
uncountable/types/id_source_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,8 @@ 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
|
+
from . import base_t
|
|
12
13
|
from . import entity_t
|
|
13
14
|
|
|
14
15
|
__all__: list[str] = [
|
|
@@ -24,7 +25,7 @@ __all__: list[str] = [
|
|
|
24
25
|
@serial_class(
|
|
25
26
|
named_type_path="sdk.id_source.IdSourceSpecBase",
|
|
26
27
|
)
|
|
27
|
-
@dataclasses.dataclass(kw_only=True)
|
|
28
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
28
29
|
class IdSourceSpecBase:
|
|
29
30
|
pass
|
|
30
31
|
|
|
@@ -33,7 +34,7 @@ class IdSourceSpecBase:
|
|
|
33
34
|
@serial_class(
|
|
34
35
|
named_type_path="sdk.id_source.IdSourceSpecEntity",
|
|
35
36
|
)
|
|
36
|
-
@dataclasses.dataclass(kw_only=True)
|
|
37
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
37
38
|
class IdSourceSpecEntity(IdSourceSpecBase):
|
|
38
39
|
entity_type: entity_t.EntityType
|
|
39
40
|
|
|
@@ -42,7 +43,7 @@ class IdSourceSpecEntity(IdSourceSpecBase):
|
|
|
42
43
|
@serial_class(
|
|
43
44
|
named_type_path="sdk.id_source.IdSourceSpecCustomEntity",
|
|
44
45
|
)
|
|
45
|
-
@dataclasses.dataclass(kw_only=True)
|
|
46
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
46
47
|
class IdSourceSpecCustomEntity(IdSourceSpecBase):
|
|
47
48
|
definition_ref_name: str
|
|
48
49
|
|
|
@@ -51,12 +52,17 @@ class IdSourceSpecCustomEntity(IdSourceSpecBase):
|
|
|
51
52
|
@serial_class(
|
|
52
53
|
named_type_path="sdk.id_source.IdSourceSpecFieldOptions",
|
|
53
54
|
)
|
|
54
|
-
@dataclasses.dataclass(kw_only=True)
|
|
55
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
55
56
|
class IdSourceSpecFieldOptions(IdSourceSpecBase):
|
|
56
57
|
set_ref_name: str
|
|
57
|
-
subset_ref_name:
|
|
58
|
+
subset_ref_name: str | None = None
|
|
58
59
|
|
|
59
60
|
|
|
60
61
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
61
|
-
IdSourceSpec = typing.
|
|
62
|
+
IdSourceSpec = typing.Annotated[
|
|
63
|
+
IdSourceSpecEntity | IdSourceSpecCustomEntity | IdSourceSpecFieldOptions,
|
|
64
|
+
serial_alias_annotation(
|
|
65
|
+
named_type_path="sdk.id_source.IdSourceSpec",
|
|
66
|
+
),
|
|
67
|
+
]
|
|
62
68
|
# DO NOT MODIFY -- This file is generated by type_spec
|
uncountable/types/identifier.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 pkgs.serialization import serial_alias_annotation
|
|
12
12
|
from . import base_t
|
|
13
13
|
|
|
14
14
|
__all__: list[str] = [
|
|
@@ -24,7 +24,7 @@ __all__: list[str] = [
|
|
|
24
24
|
named_type_path="sdk.identifier.IdentifierKeyId",
|
|
25
25
|
parse_require={"type"},
|
|
26
26
|
)
|
|
27
|
-
@dataclasses.dataclass(kw_only=True, frozen=True, eq=True)
|
|
27
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True, frozen=True, eq=True) # type: ignore[literal-required]
|
|
28
28
|
class IdentifierKeyId:
|
|
29
29
|
type: typing.Literal["id"] = "id"
|
|
30
30
|
id: base_t.ObjectId
|
|
@@ -35,7 +35,7 @@ class IdentifierKeyId:
|
|
|
35
35
|
named_type_path="sdk.identifier.IdentifierKeyRefName",
|
|
36
36
|
parse_require={"type"},
|
|
37
37
|
)
|
|
38
|
-
@dataclasses.dataclass(kw_only=True, frozen=True, eq=True)
|
|
38
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True, frozen=True, eq=True) # type: ignore[literal-required]
|
|
39
39
|
class IdentifierKeyRefName:
|
|
40
40
|
type: typing.Literal["ref_name"] = "ref_name"
|
|
41
41
|
ref_name: str
|
|
@@ -46,12 +46,17 @@ class IdentifierKeyRefName:
|
|
|
46
46
|
named_type_path="sdk.identifier.IdentifierKeyBatchReference",
|
|
47
47
|
parse_require={"type"},
|
|
48
48
|
)
|
|
49
|
-
@dataclasses.dataclass(kw_only=True, frozen=True, eq=True)
|
|
49
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True, frozen=True, eq=True) # type: ignore[literal-required]
|
|
50
50
|
class IdentifierKeyBatchReference:
|
|
51
51
|
type: typing.Literal["batch_reference"] = "batch_reference"
|
|
52
52
|
reference: str
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
56
|
-
IdentifierKey = typing.
|
|
56
|
+
IdentifierKey = typing.Annotated[
|
|
57
|
+
IdentifierKeyId | IdentifierKeyBatchReference | IdentifierKeyRefName,
|
|
58
|
+
serial_alias_annotation(
|
|
59
|
+
named_type_path="sdk.identifier.IdentifierKey",
|
|
60
|
+
),
|
|
61
|
+
]
|
|
57
62
|
# 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
|
|
@@ -22,9 +21,9 @@ __all__: list[str] = [
|
|
|
22
21
|
unconverted_values={"quantity_json"},
|
|
23
22
|
to_string_values={"quantity_dec"},
|
|
24
23
|
)
|
|
25
|
-
@dataclasses.dataclass(kw_only=True)
|
|
24
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
26
25
|
class InputAttributeValue:
|
|
27
26
|
attribute_id: base_t.ObjectId
|
|
28
|
-
quantity_dec:
|
|
29
|
-
quantity_json:
|
|
27
|
+
quantity_dec: Decimal | None = None
|
|
28
|
+
quantity_json: base_t.JsonValue | None = None
|
|
30
29
|
# DO NOT MODIFY -- This file is generated by type_spec
|
uncountable/types/inputs.py
CHANGED
uncountable/types/inputs_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
|
import dataclasses
|
|
12
11
|
from pkgs.serialization import serial_class
|
|
13
12
|
from pkgs.serialization import serial_string_enum
|
|
@@ -72,12 +71,12 @@ class IngredientBehavior(StrEnum):
|
|
|
72
71
|
@serial_class(
|
|
73
72
|
named_type_path="sdk.inputs.SimpleInput",
|
|
74
73
|
)
|
|
75
|
-
@dataclasses.dataclass(kw_only=True)
|
|
74
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
76
75
|
class SimpleInput:
|
|
77
76
|
input_id: base_t.ObjectId
|
|
78
77
|
quantity_type: IngredientQuantityType
|
|
79
78
|
name: str
|
|
80
79
|
is_parameter: bool
|
|
81
|
-
intermediate_recipe_id:
|
|
80
|
+
intermediate_recipe_id: base_t.ObjectId | None
|
|
82
81
|
input_type: str
|
|
83
82
|
# 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,14 +6,16 @@ from __future__ import annotations
|
|
|
7
6
|
import typing # noqa: F401
|
|
8
7
|
import datetime # noqa: F401
|
|
9
8
|
from decimal import Decimal # noqa: F401
|
|
10
|
-
from
|
|
9
|
+
from enum import StrEnum
|
|
11
10
|
import dataclasses
|
|
12
11
|
from pkgs.serialization import serial_class
|
|
13
12
|
from . import auth_retrieval_t
|
|
13
|
+
from . import base_t
|
|
14
14
|
from . import client_config_t
|
|
15
15
|
|
|
16
16
|
__all__: list[str] = [
|
|
17
17
|
"EnvironmentConfig",
|
|
18
|
+
"INTEGRATION_SERVER_RUN_UUID_FIELD_REF_NAME",
|
|
18
19
|
"IntegrationEnvironment",
|
|
19
20
|
]
|
|
20
21
|
|
|
@@ -22,16 +23,24 @@ __all__: list[str] = [
|
|
|
22
23
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
23
24
|
class IntegrationEnvironment(StrEnum):
|
|
24
25
|
LOCAL = "local"
|
|
26
|
+
DEV = "dev"
|
|
27
|
+
TEST = "test"
|
|
25
28
|
PROD = "prod"
|
|
29
|
+
STG = "stg"
|
|
30
|
+
SBX = "sbx"
|
|
26
31
|
|
|
27
32
|
|
|
28
33
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
29
34
|
@serial_class(
|
|
30
35
|
named_type_path="sdk.integration_server.EnvironmentConfig",
|
|
31
36
|
)
|
|
32
|
-
@dataclasses.dataclass(kw_only=True)
|
|
37
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
33
38
|
class EnvironmentConfig:
|
|
34
39
|
auth_retrieval: auth_retrieval_t.AuthRetrieval
|
|
35
40
|
base_url: str
|
|
36
|
-
client_options:
|
|
41
|
+
client_options: client_config_t.ClientConfigOptions | None = None
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
45
|
+
INTEGRATION_SERVER_RUN_UUID_FIELD_REF_NAME = "unc_integration_server_run_uuid"
|
|
37
46
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,10 @@
|
|
|
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 .integration_session_t import IntegrationSessionType as IntegrationSessionType
|
|
7
|
+
from .integration_session_t import IntegrationSessionBase as IntegrationSessionBase
|
|
8
|
+
from .integration_session_t import IntegrationSessionInstrument as IntegrationSessionInstrument
|
|
9
|
+
from .integration_session_t import IntegrationSession as IntegrationSession
|
|
10
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|