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,8 +1,8 @@
|
|
|
1
|
-
# flake8: noqa: F821
|
|
2
1
|
# ruff: noqa: E402 Q003
|
|
3
2
|
# fmt: off
|
|
4
3
|
# isort: skip_file
|
|
5
4
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
6
5
|
# Kept only for SDK backwards compatibility
|
|
7
6
|
from .client_config_t import ClientConfigOptions as ClientConfigOptions
|
|
7
|
+
from .client_config_t import RequestOptions as RequestOptions
|
|
8
8
|
# 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,9 +8,11 @@ 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
|
"ClientConfigOptions",
|
|
15
|
+
"RequestOptions",
|
|
15
16
|
]
|
|
16
17
|
|
|
17
18
|
|
|
@@ -19,8 +20,17 @@ __all__: list[str] = [
|
|
|
19
20
|
@serial_class(
|
|
20
21
|
named_type_path="sdk.client_config.ClientConfigOptions",
|
|
21
22
|
)
|
|
22
|
-
@dataclasses.dataclass(kw_only=True)
|
|
23
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
23
24
|
class ClientConfigOptions:
|
|
24
25
|
allow_insecure_tls: bool = False
|
|
25
|
-
extra_headers:
|
|
26
|
+
extra_headers: dict[str, str] | None = None
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
30
|
+
@serial_class(
|
|
31
|
+
named_type_path="sdk.client_config.RequestOptions",
|
|
32
|
+
)
|
|
33
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
34
|
+
class RequestOptions:
|
|
35
|
+
timeout_secs: int | None = None
|
|
26
36
|
# DO NOT MODIFY -- This file is generated by type_spec
|
uncountable/types/curves.py
CHANGED
uncountable/types/curves_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 . import base_t
|
|
@@ -29,10 +28,10 @@ class CurveAxisType(StrEnum):
|
|
|
29
28
|
@serial_class(
|
|
30
29
|
named_type_path="sdk.curves.Curve",
|
|
31
30
|
)
|
|
32
|
-
@dataclasses.dataclass(kw_only=True)
|
|
31
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
33
32
|
class Curve:
|
|
34
33
|
id: base_t.ObjectId
|
|
35
|
-
x_type: typing.
|
|
34
|
+
x_type: typing.Literal[CurveAxisType.NUMERIC] | typing.Literal[CurveAxisType.TIMESTAMP]
|
|
36
35
|
x_values: list[CurveValue]
|
|
37
36
|
y_type: typing.Union[typing.Literal[CurveAxisType.NUMERIC]]
|
|
38
37
|
y_values: list[CurveValue]
|
|
@@ -43,9 +42,9 @@ class Curve:
|
|
|
43
42
|
named_type_path="sdk.curves.CurveValue",
|
|
44
43
|
to_string_values={"quantity"},
|
|
45
44
|
)
|
|
46
|
-
@dataclasses.dataclass(kw_only=True)
|
|
45
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
47
46
|
class CurveValue:
|
|
48
47
|
index: int
|
|
49
|
-
quantity:
|
|
50
|
-
quantity_timestamp:
|
|
48
|
+
quantity: Decimal | None = None
|
|
49
|
+
quantity_timestamp: datetime.datetime | None = None
|
|
51
50
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,12 @@
|
|
|
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 .data_t import ColorFormat as ColorFormat
|
|
7
|
+
from .data_t import RgbColor as RgbColor
|
|
8
|
+
from .data_t import CielabColor as CielabColor
|
|
9
|
+
from .data_t import XyzColor as XyzColor
|
|
10
|
+
from .data_t import LChColor as LChColor
|
|
11
|
+
from .data_t import SupportedColorFormatColor as SupportedColorFormatColor
|
|
12
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
+
# ruff: noqa: E402 Q003
|
|
3
|
+
# fmt: off
|
|
4
|
+
# isort: skip_file
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
import typing # noqa: F401
|
|
7
|
+
import datetime # noqa: F401
|
|
8
|
+
from decimal import Decimal # noqa: F401
|
|
9
|
+
from enum import StrEnum
|
|
10
|
+
import dataclasses
|
|
11
|
+
from pkgs.serialization import serial_class
|
|
12
|
+
from pkgs.serialization import serial_union_annotation
|
|
13
|
+
from . import base_t
|
|
14
|
+
|
|
15
|
+
__all__: list[str] = [
|
|
16
|
+
"CielabColor",
|
|
17
|
+
"ColorFormat",
|
|
18
|
+
"LChColor",
|
|
19
|
+
"RgbColor",
|
|
20
|
+
"SupportedColorFormatColor",
|
|
21
|
+
"XyzColor",
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
26
|
+
class ColorFormat(StrEnum):
|
|
27
|
+
RGB = "rgb"
|
|
28
|
+
LAB = "lab"
|
|
29
|
+
XYZ = "xyz"
|
|
30
|
+
LCH = "lch"
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
34
|
+
@serial_class(
|
|
35
|
+
named_type_path="sdk.data.RgbColor",
|
|
36
|
+
unconverted_keys={"B", "G", "R", "type"},
|
|
37
|
+
parse_require={"type"},
|
|
38
|
+
)
|
|
39
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
40
|
+
class RgbColor:
|
|
41
|
+
type: typing.Literal[ColorFormat.RGB] = ColorFormat.RGB
|
|
42
|
+
R: Decimal
|
|
43
|
+
G: Decimal
|
|
44
|
+
B: Decimal
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
48
|
+
@serial_class(
|
|
49
|
+
named_type_path="sdk.data.CielabColor",
|
|
50
|
+
unconverted_keys={"L", "a", "b", "type"},
|
|
51
|
+
parse_require={"type"},
|
|
52
|
+
)
|
|
53
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
54
|
+
class CielabColor:
|
|
55
|
+
type: typing.Literal[ColorFormat.LAB] = ColorFormat.LAB
|
|
56
|
+
L: Decimal
|
|
57
|
+
a: Decimal
|
|
58
|
+
b: Decimal
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
62
|
+
@serial_class(
|
|
63
|
+
named_type_path="sdk.data.XyzColor",
|
|
64
|
+
unconverted_keys={"X", "Y", "Z", "type"},
|
|
65
|
+
parse_require={"type"},
|
|
66
|
+
)
|
|
67
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
68
|
+
class XyzColor:
|
|
69
|
+
type: typing.Literal[ColorFormat.XYZ] = ColorFormat.XYZ
|
|
70
|
+
X: Decimal
|
|
71
|
+
Y: Decimal
|
|
72
|
+
Z: Decimal
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
76
|
+
@serial_class(
|
|
77
|
+
named_type_path="sdk.data.LChColor",
|
|
78
|
+
unconverted_keys={"C", "L", "h", "type"},
|
|
79
|
+
parse_require={"type"},
|
|
80
|
+
)
|
|
81
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
82
|
+
class LChColor:
|
|
83
|
+
type: typing.Literal[ColorFormat.LCH] = ColorFormat.LCH
|
|
84
|
+
L: Decimal
|
|
85
|
+
C: Decimal
|
|
86
|
+
h: Decimal
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
90
|
+
SupportedColorFormatColor = typing.Annotated[
|
|
91
|
+
RgbColor | CielabColor | XyzColor | LChColor,
|
|
92
|
+
serial_union_annotation(
|
|
93
|
+
named_type_path="sdk.data.SupportedColorFormatColor",
|
|
94
|
+
discriminator="type",
|
|
95
|
+
discriminator_map={
|
|
96
|
+
"rgb": RgbColor,
|
|
97
|
+
"lab": CielabColor,
|
|
98
|
+
"xyz": XyzColor,
|
|
99
|
+
"lch": LChColor,
|
|
100
|
+
},
|
|
101
|
+
),
|
|
102
|
+
]
|
|
103
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
uncountable/types/entity.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
|
|
@@ -9,4 +8,5 @@ from .entity_t import LimitedEntityType as LimitedEntityType
|
|
|
9
8
|
from .entity_t import EntityPermissionType as EntityPermissionType
|
|
10
9
|
from .entity_t import GrantableEntityPermissionType as GrantableEntityPermissionType
|
|
11
10
|
from .entity_t import Entity as Entity
|
|
11
|
+
from .entity_t import EntityIdentifier as EntityIdentifier
|
|
12
12
|
# DO NOT MODIFY -- This file is generated by type_spec
|
uncountable/types/entity_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,14 +6,17 @@ 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
|
|
12
|
+
from pkgs.serialization import serial_alias_annotation
|
|
13
13
|
from pkgs.serialization import serial_string_enum
|
|
14
14
|
from . import base_t
|
|
15
|
+
from . import identifier_t
|
|
15
16
|
|
|
16
17
|
__all__: list[str] = [
|
|
17
18
|
"Entity",
|
|
19
|
+
"EntityIdentifier",
|
|
18
20
|
"EntityPermissionType",
|
|
19
21
|
"EntityType",
|
|
20
22
|
"GrantableEntityPermissionType",
|
|
@@ -30,6 +32,7 @@ __all__: list[str] = [
|
|
|
30
32
|
"annotation_type": "Annotation Type",
|
|
31
33
|
"approval": "Approval",
|
|
32
34
|
"async_job": "Async Job",
|
|
35
|
+
"barcode": "Barcode",
|
|
33
36
|
"calculation": "Calculation",
|
|
34
37
|
"calendar": "Calendar",
|
|
35
38
|
"calendar_event": "Calendar Event",
|
|
@@ -37,19 +40,26 @@ __all__: list[str] = [
|
|
|
37
40
|
"characterization": "Characterization",
|
|
38
41
|
"comment": "Comment",
|
|
39
42
|
"comment_thread": "Comment Thread",
|
|
43
|
+
"condition_match": "Condition Match",
|
|
40
44
|
"condition_parameter": "Condition Parameter",
|
|
41
45
|
"condition_parameter_mat_family": "Condition Parameter Material Family",
|
|
46
|
+
"condition_parameter_matches": "Condition Parameter Matches",
|
|
47
|
+
"condition_parameter_rule": "Condition Parameter Rule",
|
|
42
48
|
"condition_parameter_value": "Condition Parameter Value",
|
|
43
49
|
"constraint": "Constraint",
|
|
44
50
|
"constraint_set": "Constraint Set",
|
|
51
|
+
"control_type": "Control Type",
|
|
45
52
|
"curve_settings": "Curve Settings",
|
|
46
53
|
"custom_entity": "Custom Entity",
|
|
54
|
+
"default_permissions_new_project": "Default Permissions New Project",
|
|
47
55
|
"doe_run": "Suggest Experiments",
|
|
48
56
|
"email_record_external": "External Emails",
|
|
49
57
|
"email_relay_server": "Email Relay Server",
|
|
50
58
|
"enter_recipe_view_preference": "Enter Recipe View Preference",
|
|
59
|
+
"enter_measurement_view_preference": "Enter Measurement View Preference",
|
|
51
60
|
"entities_viewed": "Entities Viewed",
|
|
52
61
|
"entity_annotation": "Annotation",
|
|
62
|
+
"entity_definition_field_group": "Entity Definition Field Group",
|
|
53
63
|
"entity_field": "Field",
|
|
54
64
|
"entity_field_audit_log": "Entity Field Audit Log",
|
|
55
65
|
"entity_link": "Entity Link",
|
|
@@ -60,6 +70,7 @@ __all__: list[str] = [
|
|
|
60
70
|
"equipment_maintenance": "Equipment Maintenance",
|
|
61
71
|
"equipment_type": "Equipment Type",
|
|
62
72
|
"experiment_group": "Experiment Group",
|
|
73
|
+
"experiment_group_member": "Experiment Group Member",
|
|
63
74
|
"experiment_group_type": "Experiment Group Type",
|
|
64
75
|
"favorite_link": "Favorite Link",
|
|
65
76
|
"field_option_set": "Field Option Set",
|
|
@@ -78,17 +89,20 @@ __all__: list[str] = [
|
|
|
78
89
|
"ingredient_mat_family": "Ingredient Material Family",
|
|
79
90
|
"ingredient_role": "Ingredient Role",
|
|
80
91
|
"ingredient_tag": "Ingredient Subcategory",
|
|
81
|
-
"ingredient_tag_map": "Ingredient
|
|
92
|
+
"ingredient_tag_map": "Ingredient Subcategory Mapping",
|
|
82
93
|
"input_group": "Input Group",
|
|
83
94
|
"inv_local_locations": "Inventory Location",
|
|
84
|
-
"inventory_amount": "Inventory
|
|
95
|
+
"inventory_amount": "Inventory Item",
|
|
85
96
|
"inventory_limit": "Inventory Limit",
|
|
86
97
|
"inventory_history": "Inventory History",
|
|
87
98
|
"lab_location": "Lab Location",
|
|
88
99
|
"lab_request": "Lab Request",
|
|
89
100
|
"license": "License",
|
|
90
|
-
"maintenance_schedule": "
|
|
101
|
+
"maintenance_schedule": "Equipment Action Type",
|
|
91
102
|
"material_family": "Material Family",
|
|
103
|
+
"measurement_group": "Measurement Group",
|
|
104
|
+
"measurement_group_input": "Measurement Group Input",
|
|
105
|
+
"measurement_group_recipe": "Measurement Group Recipe",
|
|
92
106
|
"ml_job": "Batch Processing Job",
|
|
93
107
|
"naming_scheme": "Naming Scheme",
|
|
94
108
|
"naming_counter": "Naming Counter",
|
|
@@ -98,30 +112,38 @@ __all__: list[str] = [
|
|
|
98
112
|
"output_calculation_entity_mapping": "Output Calculation Entity Mapping",
|
|
99
113
|
"output_category_all": "Output Category",
|
|
100
114
|
"output_condition": "Output Condition",
|
|
115
|
+
"output_condition_condition_parameter": "Output Condition Condition Parameter",
|
|
101
116
|
"output_default_condition": "Output Default Condition",
|
|
102
117
|
"output_condition_parameter": "Output Condition Parameter",
|
|
103
118
|
"output_condition_parameter_analytical_method_category": "Output Condition Parameter Analytical Method Category",
|
|
104
119
|
"output_condition_parameter_analytical_method": "Output Condition Parameter Analytical Method",
|
|
105
120
|
"output_group": "Output Group",
|
|
121
|
+
"output_group_member": "Output Group Member",
|
|
122
|
+
"output_preferences": "Output Preferences",
|
|
106
123
|
"permission": "Permission",
|
|
107
124
|
"permissions_recipe_link_inheritance": "Permissions Recipe Link Inheritance",
|
|
108
125
|
"phase_workflow": "Phase Workflow",
|
|
109
126
|
"platform_config": "Platform Config",
|
|
127
|
+
"portal_form": "Portal Form",
|
|
110
128
|
"predictive_model": "Predictive Model",
|
|
111
129
|
"product": "Product",
|
|
130
|
+
"product_material_family": "Product Material Family",
|
|
112
131
|
"project": "Project",
|
|
113
132
|
"project_workbook_comment": "Notebook Cell Comment",
|
|
114
133
|
"recipe": "Experiment",
|
|
115
134
|
"recipe_audit_log": "Experiment Audit Log",
|
|
116
135
|
"recipe_calculation": "Recipe Calculation",
|
|
117
136
|
"recipe_check": "Experiment Check",
|
|
137
|
+
"recipe_component_witness": "Recipe Component Witness",
|
|
118
138
|
"recipe_export": "Recipe Export",
|
|
119
139
|
"recipe_goal": "Experiment Goal",
|
|
120
140
|
"recipe_ingredient": "Recipe Ingredient",
|
|
121
141
|
"recipe_ingredient_actual": "Recipe Ingredient Actual",
|
|
122
142
|
"recipe_ingredients_compounded": "Recipe Ingredients Compounded",
|
|
123
|
-
"recipe_ingredients_compounded_calculation": "Recipe Ingredients Compounded
|
|
143
|
+
"recipe_ingredients_compounded_calculation": "Recipe Ingredients Compounded Calculation",
|
|
144
|
+
"recipe_link": "Experiment Link",
|
|
124
145
|
"recipe_output": "Recipe Output",
|
|
146
|
+
"recipe_output_annotation": "Recipe Output Annotation",
|
|
125
147
|
"recipe_output_metadata": "Recipe Output Metadata",
|
|
126
148
|
"recipe_permission_view": "Recipe Permission View",
|
|
127
149
|
"recipe_project": "Recipe Project",
|
|
@@ -134,18 +156,25 @@ __all__: list[str] = [
|
|
|
134
156
|
"review": "Review",
|
|
135
157
|
"review_entity_user_status": "Review Entity User Status",
|
|
136
158
|
"review_user": "Review User",
|
|
159
|
+
"rlw_audit_log": "Rlw Audit Log",
|
|
137
160
|
"rlw_phase": "Phase",
|
|
138
161
|
"rlw_trigger": "Trigger",
|
|
139
162
|
"rlw_trigger_set": "Trigger Set",
|
|
163
|
+
"runsheet_configuration": "Runsheet Configuration",
|
|
140
164
|
"safety_data_sheet": "Safety Data Sheet",
|
|
141
165
|
"scheduled_notification": "Scheduled Notification",
|
|
166
|
+
"scratch_pad": "Scratch Pad",
|
|
142
167
|
"specs": "Spec",
|
|
143
|
-
"
|
|
168
|
+
"save": "Save",
|
|
169
|
+
"split_template": "Test Method",
|
|
144
170
|
"structured_loading_user_config": "List Config",
|
|
171
|
+
"subscription": "Subscription",
|
|
145
172
|
"table_builder_config": "Table Builder Config",
|
|
146
173
|
"task": "Task",
|
|
147
174
|
"task_board": "Task Board",
|
|
148
175
|
"template": "Template",
|
|
176
|
+
"test_entity": "Test Entity",
|
|
177
|
+
"time_series_segment": "Time Series Segment",
|
|
149
178
|
"timesheet_entry": "Timesheet Entry",
|
|
150
179
|
"training_run": "Analyze Experiment",
|
|
151
180
|
"training_run_template": "Scheduled Training Run",
|
|
@@ -155,6 +184,7 @@ __all__: list[str] = [
|
|
|
155
184
|
"units": "Units",
|
|
156
185
|
"user_favorite": "User Favorite",
|
|
157
186
|
"user": "User",
|
|
187
|
+
"user_analytics_event": "User Analytics Event",
|
|
158
188
|
"user_certification": "User Certification",
|
|
159
189
|
"user_group": "User Group",
|
|
160
190
|
"user_list_set": "User List Set",
|
|
@@ -179,6 +209,7 @@ __all__: list[str] = [
|
|
|
179
209
|
"public_data_sourced_condition_parameter": "ChemQuery Condition Parameter",
|
|
180
210
|
"public_data_sourced_company": "ChemQuery Company",
|
|
181
211
|
"uploader": "Uploader",
|
|
212
|
+
"calculation_material_family": "Calculation Material Family",
|
|
182
213
|
},
|
|
183
214
|
)
|
|
184
215
|
class EntityType(StrEnum):
|
|
@@ -187,6 +218,7 @@ class EntityType(StrEnum):
|
|
|
187
218
|
ANNOTATION_TYPE = "annotation_type"
|
|
188
219
|
APPROVAL = "approval"
|
|
189
220
|
ASYNC_JOB = "async_job"
|
|
221
|
+
BARCODE = "barcode"
|
|
190
222
|
CALCULATION = "calculation"
|
|
191
223
|
CALENDAR = "calendar"
|
|
192
224
|
CALENDAR_EVENT = "calendar_event"
|
|
@@ -194,19 +226,26 @@ class EntityType(StrEnum):
|
|
|
194
226
|
CHARACTERIZATION = "characterization"
|
|
195
227
|
COMMENT = "comment"
|
|
196
228
|
COMMENT_THREAD = "comment_thread"
|
|
229
|
+
CONDITION_MATCH = "condition_match"
|
|
197
230
|
CONDITION_PARAMETER = "condition_parameter"
|
|
198
231
|
CONDITION_PARAMETER_MAT_FAMILY = "condition_parameter_mat_family"
|
|
232
|
+
CONDITION_PARAMETER_MATCHES = "condition_parameter_matches"
|
|
233
|
+
CONDITION_PARAMETER_RULE = "condition_parameter_rule"
|
|
199
234
|
CONDITION_PARAMETER_VALUE = "condition_parameter_value"
|
|
200
235
|
CONSTRAINT = "constraint"
|
|
201
236
|
CONSTRAINT_SET = "constraint_set"
|
|
237
|
+
CONTROL_TYPE = "control_type"
|
|
202
238
|
CURVE_SETTINGS = "curve_settings"
|
|
203
239
|
CUSTOM_ENTITY = "custom_entity"
|
|
240
|
+
DEFAULT_PERMISSIONS_NEW_PROJECT = "default_permissions_new_project"
|
|
204
241
|
DOE_RUN = "doe_run"
|
|
205
242
|
EMAIL_RECORD_EXTERNAL = "email_record_external"
|
|
206
243
|
EMAIL_RELAY_SERVER = "email_relay_server"
|
|
207
244
|
ENTER_RECIPE_VIEW_PREFERENCE = "enter_recipe_view_preference"
|
|
245
|
+
ENTER_MEASUREMENT_VIEW_PREFERENCE = "enter_measurement_view_preference"
|
|
208
246
|
ENTITIES_VIEWED = "entities_viewed"
|
|
209
247
|
ENTITY_ANNOTATION = "entity_annotation"
|
|
248
|
+
ENTITY_DEFINITION_FIELD_GROUP = "entity_definition_field_group"
|
|
210
249
|
ENTITY_FIELD = "entity_field"
|
|
211
250
|
ENTITY_FIELD_AUDIT_LOG = "entity_field_audit_log"
|
|
212
251
|
ENTITY_LINK = "entity_link"
|
|
@@ -217,6 +256,7 @@ class EntityType(StrEnum):
|
|
|
217
256
|
EQUIPMENT_MAINTENANCE = "equipment_maintenance"
|
|
218
257
|
EQUIPMENT_TYPE = "equipment_type"
|
|
219
258
|
EXPERIMENT_GROUP = "experiment_group"
|
|
259
|
+
EXPERIMENT_GROUP_MEMBER = "experiment_group_member"
|
|
220
260
|
EXPERIMENT_GROUP_TYPE = "experiment_group_type"
|
|
221
261
|
FAVORITE_LINK = "favorite_link"
|
|
222
262
|
FIELD_OPTION_SET = "field_option_set"
|
|
@@ -246,6 +286,9 @@ class EntityType(StrEnum):
|
|
|
246
286
|
LICENSE = "license"
|
|
247
287
|
MAINTENANCE_SCHEDULE = "maintenance_schedule"
|
|
248
288
|
MATERIAL_FAMILY = "material_family"
|
|
289
|
+
MEASUREMENT_GROUP = "measurement_group"
|
|
290
|
+
MEASUREMENT_GROUP_INPUT = "measurement_group_input"
|
|
291
|
+
MEASUREMENT_GROUP_RECIPE = "measurement_group_recipe"
|
|
249
292
|
ML_JOB = "ml_job"
|
|
250
293
|
NAMING_SCHEME = "naming_scheme"
|
|
251
294
|
NAMING_COUNTER = "naming_counter"
|
|
@@ -255,30 +298,38 @@ class EntityType(StrEnum):
|
|
|
255
298
|
OUTPUT_CALCULATION_ENTITY_MAPPING = "output_calculation_entity_mapping"
|
|
256
299
|
OUTPUT_CATEGORY_ALL = "output_category_all"
|
|
257
300
|
OUTPUT_CONDITION = "output_condition"
|
|
301
|
+
OUTPUT_CONDITION_CONDITION_PARAMETER = "output_condition_condition_parameter"
|
|
258
302
|
OUTPUT_DEFAULT_CONDITION = "output_default_condition"
|
|
259
303
|
OUTPUT_CONDITION_PARAMETER = "output_condition_parameter"
|
|
260
304
|
OUTPUT_CONDITION_PARAMETER_ANALYTICAL_METHOD_CATEGORY = "output_condition_parameter_analytical_method_category"
|
|
261
305
|
OUTPUT_CONDITION_PARAMETER_ANALYTICAL_METHOD = "output_condition_parameter_analytical_method"
|
|
262
306
|
OUTPUT_GROUP = "output_group"
|
|
307
|
+
OUTPUT_GROUP_MEMBER = "output_group_member"
|
|
308
|
+
OUTPUT_PREFERENCES = "output_preferences"
|
|
263
309
|
PERMISSION = "permission"
|
|
264
310
|
PERMISSIONS_RECIPE_LINK_INHERITANCE = "permissions_recipe_link_inheritance"
|
|
265
311
|
PHASE_WORKFLOW = "phase_workflow"
|
|
266
312
|
PLATFORM_CONFIG = "platform_config"
|
|
313
|
+
PORTAL_FORM = "portal_form"
|
|
267
314
|
PREDICTIVE_MODEL = "predictive_model"
|
|
268
315
|
PRODUCT = "product"
|
|
316
|
+
PRODUCT_MATERIAL_FAMILY = "product_material_family"
|
|
269
317
|
PROJECT = "project"
|
|
270
318
|
PROJECT_WORKBOOK_COMMENT = "project_workbook_comment"
|
|
271
319
|
RECIPE = "recipe"
|
|
272
320
|
RECIPE_AUDIT_LOG = "recipe_audit_log"
|
|
273
321
|
RECIPE_CALCULATION = "recipe_calculation"
|
|
274
322
|
RECIPE_CHECK = "recipe_check"
|
|
323
|
+
RECIPE_COMPONENT_WITNESS = "recipe_component_witness"
|
|
275
324
|
RECIPE_EXPORT = "recipe_export"
|
|
276
325
|
RECIPE_GOAL = "recipe_goal"
|
|
277
326
|
RECIPE_INGREDIENT = "recipe_ingredient"
|
|
278
327
|
RECIPE_INGREDIENT_ACTUAL = "recipe_ingredient_actual"
|
|
279
328
|
RECIPE_INGREDIENTS_COMPOUNDED = "recipe_ingredients_compounded"
|
|
280
329
|
RECIPE_INGREDIENTS_COMPOUNDED_CALCULATION = "recipe_ingredients_compounded_calculation"
|
|
330
|
+
RECIPE_LINK = "recipe_link"
|
|
281
331
|
RECIPE_OUTPUT = "recipe_output"
|
|
332
|
+
RECIPE_OUTPUT_ANNOTATION = "recipe_output_annotation"
|
|
282
333
|
RECIPE_OUTPUT_METADATA = "recipe_output_metadata"
|
|
283
334
|
RECIPE_PERMISSION_VIEW = "recipe_permission_view"
|
|
284
335
|
RECIPE_PROJECT = "recipe_project"
|
|
@@ -291,18 +342,25 @@ class EntityType(StrEnum):
|
|
|
291
342
|
REVIEW = "review"
|
|
292
343
|
REVIEW_ENTITY_USER_STATUS = "review_entity_user_status"
|
|
293
344
|
REVIEW_USER = "review_user"
|
|
345
|
+
RLW_AUDIT_LOG = "rlw_audit_log"
|
|
294
346
|
RLW_PHASE = "rlw_phase"
|
|
295
347
|
RLW_TRIGGER = "rlw_trigger"
|
|
296
348
|
RLW_TRIGGER_SET = "rlw_trigger_set"
|
|
349
|
+
RUNSHEET_CONFIGURATION = "runsheet_configuration"
|
|
297
350
|
SAFETY_DATA_SHEET = "safety_data_sheet"
|
|
298
351
|
SCHEDULED_NOTIFICATION = "scheduled_notification"
|
|
352
|
+
SCRATCH_PAD = "scratch_pad"
|
|
299
353
|
SPECS = "specs"
|
|
354
|
+
SAVE = "save"
|
|
300
355
|
SPLIT_TEMPLATE = "split_template"
|
|
301
356
|
STRUCTURED_LOADING_USER_CONFIG = "structured_loading_user_config"
|
|
357
|
+
SUBSCRIPTION = "subscription"
|
|
302
358
|
TABLE_BUILDER_CONFIG = "table_builder_config"
|
|
303
359
|
TASK = "task"
|
|
304
360
|
TASK_BOARD = "task_board"
|
|
305
361
|
TEMPLATE = "template"
|
|
362
|
+
TEST_ENTITY = "test_entity"
|
|
363
|
+
TIME_SERIES_SEGMENT = "time_series_segment"
|
|
306
364
|
TIMESHEET_ENTRY = "timesheet_entry"
|
|
307
365
|
TRAINING_RUN = "training_run"
|
|
308
366
|
TRAINING_RUN_TEMPLATE = "training_run_template"
|
|
@@ -312,6 +370,7 @@ class EntityType(StrEnum):
|
|
|
312
370
|
UNITS = "units"
|
|
313
371
|
USER_FAVORITE = "user_favorite"
|
|
314
372
|
USER = "user"
|
|
373
|
+
USER_ANALYTICS_EVENT = "user_analytics_event"
|
|
315
374
|
USER_CERTIFICATION = "user_certification"
|
|
316
375
|
USER_GROUP = "user_group"
|
|
317
376
|
USER_LIST_SET = "user_list_set"
|
|
@@ -336,10 +395,16 @@ class EntityType(StrEnum):
|
|
|
336
395
|
PUBLIC_DATA_SOURCED_CONDITION_PARAMETER = "public_data_sourced_condition_parameter"
|
|
337
396
|
PUBLIC_DATA_SOURCED_COMPANY = "public_data_sourced_company"
|
|
338
397
|
UPLOADER = "uploader"
|
|
398
|
+
CALCULATION_MATERIAL_FAMILY = "calculation_material_family"
|
|
339
399
|
|
|
340
400
|
|
|
341
401
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
342
|
-
LimitedEntityType = typing.
|
|
402
|
+
LimitedEntityType = typing.Annotated[
|
|
403
|
+
typing.Literal[EntityType.LAB_REQUEST] | typing.Literal[EntityType.APPROVAL] | typing.Literal[EntityType.CUSTOM_ENTITY] | typing.Literal[EntityType.INGREDIENT_ATTRIBUTE] | typing.Literal[EntityType.INVENTORY_AMOUNT] | typing.Literal[EntityType.TASK] | typing.Literal[EntityType.PROJECT] | typing.Literal[EntityType.EQUIPMENT] | typing.Literal[EntityType.INV_LOCAL_LOCATIONS] | typing.Literal[EntityType.FIELD_OPTION_SET] | typing.Literal[EntityType.WEBHOOK] | typing.Literal[EntityType.SPECS] | typing.Literal[EntityType.GOAL] | typing.Literal[EntityType.INGREDIENT_TAG_MAP] | typing.Literal[EntityType.INGREDIENT_TAG] | typing.Literal[EntityType.CONDITION_PARAMETER] | typing.Literal[EntityType.NOTEBOOK] | typing.Literal[EntityType.OUTPUT] | typing.Literal[EntityType.OUTPUT_CONDITION_PARAMETER] | typing.Literal[EntityType.ASYNC_JOB] | typing.Literal[EntityType.CONSTRAINT] | typing.Literal[EntityType.INGREDIENT_CATEGORY_ALL] | typing.Literal[EntityType.TIME_SERIES_SEGMENT] | typing.Literal[EntityType.EQUIPMENT_MAINTENANCE] | typing.Literal[EntityType.MAINTENANCE_SCHEDULE] | typing.Literal[EntityType.CONDITION_PARAMETER_RULE] | typing.Literal[EntityType.INGREDIENT] | typing.Literal[EntityType.TIMESHEET_ENTRY] | typing.Literal[EntityType.SAVE] | typing.Literal[EntityType.RECIPE_CHECK] | typing.Literal[EntityType.EXPERIMENT_GROUP_MEMBER],
|
|
404
|
+
serial_alias_annotation(
|
|
405
|
+
named_type_path="sdk.entity.LimitedEntityType",
|
|
406
|
+
),
|
|
407
|
+
]
|
|
343
408
|
|
|
344
409
|
|
|
345
410
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -352,15 +417,30 @@ class EntityPermissionType(StrEnum):
|
|
|
352
417
|
|
|
353
418
|
|
|
354
419
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
355
|
-
GrantableEntityPermissionType = typing.
|
|
420
|
+
GrantableEntityPermissionType = typing.Annotated[
|
|
421
|
+
typing.Literal[EntityPermissionType.READ] | typing.Literal[EntityPermissionType.WRITE],
|
|
422
|
+
serial_alias_annotation(
|
|
423
|
+
named_type_path="sdk.entity.GrantableEntityPermissionType",
|
|
424
|
+
),
|
|
425
|
+
]
|
|
356
426
|
|
|
357
427
|
|
|
358
428
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
359
429
|
@serial_class(
|
|
360
430
|
named_type_path="sdk.entity.Entity",
|
|
361
431
|
)
|
|
362
|
-
@dataclasses.dataclass(kw_only=True)
|
|
432
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
363
433
|
class Entity:
|
|
364
434
|
id: base_t.ObjectId
|
|
365
435
|
type: EntityType
|
|
436
|
+
|
|
437
|
+
|
|
438
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
439
|
+
@serial_class(
|
|
440
|
+
named_type_path="sdk.entity.EntityIdentifier",
|
|
441
|
+
)
|
|
442
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True, frozen=True, eq=True) # type: ignore[literal-required]
|
|
443
|
+
class EntityIdentifier:
|
|
444
|
+
identifier_key: identifier_t.IdentifierKey
|
|
445
|
+
type: EntityType
|
|
366
446
|
# 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.experiment_groups.SimpleExperimentGroup",
|
|
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 SimpleExperimentGroup:
|
|
25
24
|
experiment_group_id: base_t.ObjectId
|
|
26
25
|
name: str
|
|
@@ -0,0 +1,8 @@
|
|
|
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 .exports_t import ListingExportUserTimezone as ListingExportUserTimezone
|
|
7
|
+
from .exports_t import ExportType as ExportType
|
|
8
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
+
# ruff: noqa: E402 Q003
|
|
3
|
+
# fmt: off
|
|
4
|
+
# isort: skip_file
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
import typing # noqa: F401
|
|
7
|
+
import datetime # noqa: F401
|
|
8
|
+
from decimal import Decimal # noqa: F401
|
|
9
|
+
from enum import StrEnum
|
|
10
|
+
import dataclasses
|
|
11
|
+
from pkgs.serialization import serial_class
|
|
12
|
+
from . import base_t
|
|
13
|
+
|
|
14
|
+
__all__: list[str] = [
|
|
15
|
+
"ExportType",
|
|
16
|
+
"ListingExportUserTimezone",
|
|
17
|
+
]
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
21
|
+
@serial_class(
|
|
22
|
+
named_type_path="sdk.exports.ListingExportUserTimezone",
|
|
23
|
+
)
|
|
24
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
25
|
+
class ListingExportUserTimezone:
|
|
26
|
+
timezone_name: str
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
30
|
+
class ExportType(StrEnum):
|
|
31
|
+
EXCEL = "excel"
|
|
32
|
+
PDF = "pdf"
|
|
33
|
+
JSON = "json"
|
|
34
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
# flake8: noqa: F821
|
|
2
1
|
# ruff: noqa: E402 Q003
|
|
3
2
|
# fmt: off
|
|
4
3
|
# isort: skip_file
|
|
@@ -8,4 +7,23 @@ from .field_values_t import FieldRefNameValue as FieldRefNameValue
|
|
|
8
7
|
from .field_values_t import FieldRefIdNameValue as FieldRefIdNameValue
|
|
9
8
|
from .field_values_t import ArgumentValueRefName as ArgumentValueRefName
|
|
10
9
|
from .field_values_t import ArgumentValueId as ArgumentValueId
|
|
10
|
+
from .field_values_t import FieldValueType as FieldValueType
|
|
11
|
+
from .field_values_t import FieldValueBase as FieldValueBase
|
|
12
|
+
from .field_values_t import FieldValueFiles as FieldValueFiles
|
|
13
|
+
from .field_values_t import ValueResolution as ValueResolution
|
|
14
|
+
from .field_values_t import FieldValueFieldOption as FieldValueFieldOption
|
|
15
|
+
from .field_values_t import FieldValueFieldOptions as FieldValueFieldOptions
|
|
16
|
+
from .field_values_t import FieldValueId as FieldValueId
|
|
17
|
+
from .field_values_t import FieldValueIds as FieldValueIds
|
|
18
|
+
from .field_values_t import FieldValueText as FieldValueText
|
|
19
|
+
from .field_values_t import FieldValueTexts as FieldValueTexts
|
|
20
|
+
from .field_values_t import FieldValueBoolean as FieldValueBoolean
|
|
21
|
+
from .field_values_t import FieldValueNumeric as FieldValueNumeric
|
|
22
|
+
from .field_values_t import FieldValueBatchReference as FieldValueBatchReference
|
|
23
|
+
from .field_values_t import FieldValueNull as FieldValueNull
|
|
24
|
+
from .field_values_t import FieldValueNotes as FieldValueNotes
|
|
25
|
+
from .field_values_t import FieldValueDate as FieldValueDate
|
|
26
|
+
from .field_values_t import FieldValueDatetime as FieldValueDatetime
|
|
27
|
+
from .field_values_t import FieldValue as FieldValue
|
|
28
|
+
from .field_values_t import FieldArgumentValue as FieldArgumentValue
|
|
11
29
|
# DO NOT MODIFY -- This file is generated by type_spec
|