UncountablePythonSDK 0.0.52__py3-none-any.whl → 0.0.131__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/async_batch.py +3 -3
- examples/basic_auth.py +7 -0
- examples/create_entity.py +3 -1
- examples/create_ingredient_sdk.py +34 -0
- examples/download_files.py +26 -0
- examples/edit_recipe_inputs.py +4 -2
- examples/integration-server/jobs/materials_auto/concurrent_cron.py +11 -0
- examples/integration-server/jobs/materials_auto/example_cron.py +21 -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 +23 -0
- examples/integration-server/jobs/materials_auto/profile.yaml +104 -0
- examples/integration-server/pyproject.toml +224 -0
- examples/invoke_uploader.py +4 -1
- examples/oauth.py +7 -0
- examples/set_recipe_metadata_file.py +40 -0
- examples/set_recipe_output_file_sdk.py +26 -0
- examples/upload_files.py +1 -2
- pkgs/argument_parser/__init__.py +9 -0
- pkgs/argument_parser/_is_namedtuple.py +3 -0
- pkgs/argument_parser/argument_parser.py +217 -70
- pkgs/filesystem_utils/__init__.py +1 -0
- pkgs/filesystem_utils/_blob_session.py +144 -0
- pkgs/filesystem_utils/_gdrive_session.py +10 -7
- pkgs/filesystem_utils/_s3_session.py +15 -13
- pkgs/filesystem_utils/_sftp_session.py +11 -7
- pkgs/filesystem_utils/file_type_utils.py +30 -10
- pkgs/py.typed +0 -0
- 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 +47 -26
- pkgs/serialization/serial_generic.py +16 -0
- pkgs/serialization/serial_union.py +17 -14
- pkgs/serialization/yaml.py +4 -1
- 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 +5 -5
- pkgs/type_spec/builder.py +354 -119
- pkgs/type_spec/builder_types.py +9 -0
- pkgs/type_spec/config.py +51 -11
- pkgs/type_spec/cross_output_links.py +99 -0
- pkgs/type_spec/emit_io_ts.py +1 -1
- pkgs/type_spec/emit_open_api.py +127 -36
- pkgs/type_spec/emit_open_api_util.py +5 -6
- pkgs/type_spec/emit_python.py +329 -121
- pkgs/type_spec/emit_typescript.py +117 -256
- pkgs/type_spec/emit_typescript_util.py +291 -2
- pkgs/type_spec/load_types.py +18 -4
- 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 +13 -10
- 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 +124 -29
- 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 +4 -4
- pkgs/type_spec/value_spec/__main__.py +26 -9
- pkgs/type_spec/value_spec/convert_type.py +21 -1
- pkgs/type_spec/value_spec/emit_python.py +25 -7
- pkgs/type_spec/value_spec/types.py +1 -1
- uncountable/core/async_batch.py +1 -1
- uncountable/core/client.py +142 -39
- uncountable/core/environment.py +41 -0
- uncountable/core/file_upload.py +52 -18
- uncountable/integration/cli.py +142 -0
- uncountable/integration/construct_client.py +8 -8
- uncountable/integration/cron.py +11 -37
- uncountable/integration/db/connect.py +12 -2
- uncountable/integration/db/session.py +25 -0
- uncountable/integration/entrypoint.py +8 -37
- uncountable/integration/executors/executors.py +125 -2
- uncountable/integration/executors/generic_upload_executor.py +87 -29
- uncountable/integration/executors/script_executor.py +3 -3
- uncountable/integration/http_server/__init__.py +5 -0
- uncountable/integration/http_server/types.py +69 -0
- uncountable/integration/job.py +242 -12
- uncountable/integration/queue_runner/__init__.py +0 -0
- uncountable/integration/queue_runner/command_server/__init__.py +28 -0
- uncountable/integration/queue_runner/command_server/command_client.py +133 -0
- uncountable/integration/queue_runner/command_server/command_server.py +142 -0
- uncountable/integration/queue_runner/command_server/constants.py +4 -0
- uncountable/integration/queue_runner/command_server/protocol/__init__.py +0 -0
- uncountable/integration/queue_runner/command_server/protocol/command_server.proto +58 -0
- uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.py +57 -0
- uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.pyi +114 -0
- uncountable/integration/queue_runner/command_server/protocol/command_server_pb2_grpc.py +264 -0
- uncountable/integration/queue_runner/command_server/types.py +75 -0
- uncountable/integration/queue_runner/datastore/__init__.py +3 -0
- uncountable/integration/queue_runner/datastore/datastore_sqlite.py +250 -0
- uncountable/integration/queue_runner/datastore/interface.py +29 -0
- uncountable/integration/queue_runner/datastore/model.py +24 -0
- uncountable/integration/queue_runner/job_scheduler.py +200 -0
- uncountable/integration/queue_runner/queue_runner.py +34 -0
- uncountable/integration/queue_runner/types.py +7 -0
- uncountable/integration/queue_runner/worker.py +116 -0
- uncountable/integration/scan_profiles.py +67 -0
- uncountable/integration/scheduler.py +199 -0
- uncountable/integration/secret_retrieval/retrieve_secret.py +26 -4
- uncountable/integration/server.py +94 -69
- uncountable/integration/telemetry.py +150 -34
- uncountable/integration/webhook_server/entrypoint.py +97 -0
- uncountable/types/__init__.py +78 -1
- uncountable/types/api/batch/execute_batch.py +13 -6
- uncountable/types/api/batch/execute_batch_load_async.py +9 -3
- uncountable/types/api/chemical/convert_chemical_formats.py +17 -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 +19 -7
- uncountable/types/api/entity/create_entity.py +17 -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 +13 -4
- uncountable/types/api/entity/grant_entity_permissions.py +48 -0
- uncountable/types/api/entity/list_aggregate.py +79 -0
- uncountable/types/api/entity/list_entities.py +42 -10
- uncountable/types/api/entity/lock_entity.py +11 -4
- uncountable/types/api/entity/lookup_entity.py +116 -0
- uncountable/types/api/entity/resolve_entity_ids.py +15 -6
- uncountable/types/api/entity/set_entity_field_values.py +44 -0
- uncountable/types/api/entity/set_values.py +10 -3
- uncountable/types/api/entity/transition_entity_phase.py +22 -7
- uncountable/types/api/entity/unlock_entity.py +10 -3
- uncountable/types/api/equipment/associate_equipment_input.py +9 -3
- uncountable/types/api/field_options/upsert_field_options.py +17 -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 +16 -7
- uncountable/types/api/id_source/match_id_source.py +14 -5
- uncountable/types/api/input_groups/get_input_group_names.py +13 -4
- uncountable/types/api/inputs/create_inputs.py +23 -9
- uncountable/types/api/inputs/get_input_data.py +30 -12
- uncountable/types/api/inputs/get_input_names.py +16 -7
- uncountable/types/api/inputs/get_inputs_data.py +25 -7
- uncountable/types/api/inputs/set_input_attribute_values.py +12 -6
- uncountable/types/api/inputs/set_input_category.py +12 -5
- uncountable/types/api/inputs/set_input_subcategories.py +10 -3
- uncountable/types/api/inputs/set_intermediate_type.py +11 -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 +10 -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 +28 -13
- uncountable/types/api/outputs/get_output_names.py +15 -6
- uncountable/types/api/outputs/get_output_organization.py +173 -0
- uncountable/types/api/outputs/resolve_output_conditions.py +20 -8
- uncountable/types/api/permissions/set_core_permissions.py +26 -10
- uncountable/types/api/project/get_projects.py +16 -7
- uncountable/types/api/project/get_projects_data.py +17 -8
- uncountable/types/api/recipe_links/create_recipe_link.py +12 -5
- uncountable/types/api/recipe_links/remove_recipe_link.py +11 -4
- uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +16 -7
- uncountable/types/api/recipes/add_recipe_to_project.py +10 -3
- uncountable/types/api/recipes/add_time_series_data.py +64 -0
- uncountable/types/api/recipes/archive_recipes.py +11 -4
- uncountable/types/api/recipes/associate_recipe_as_input.py +12 -5
- uncountable/types/api/recipes/associate_recipe_as_lot.py +10 -3
- uncountable/types/api/recipes/clear_recipe_outputs.py +42 -0
- uncountable/types/api/recipes/create_mix_order.py +44 -0
- uncountable/types/api/recipes/create_recipe.py +15 -9
- uncountable/types/api/recipes/create_recipes.py +21 -9
- uncountable/types/api/recipes/disassociate_recipe_as_input.py +10 -3
- uncountable/types/api/recipes/edit_recipe_inputs.py +134 -22
- uncountable/types/api/recipes/get_column_calculation_values.py +57 -0
- uncountable/types/api/recipes/get_curve.py +11 -5
- uncountable/types/api/recipes/get_recipe_calculations.py +13 -7
- uncountable/types/api/recipes/get_recipe_links.py +10 -4
- uncountable/types/api/recipes/get_recipe_names.py +13 -4
- uncountable/types/api/recipes/get_recipe_output_metadata.py +12 -6
- uncountable/types/api/recipes/get_recipes_data.py +87 -33
- uncountable/types/api/recipes/lock_recipes.py +19 -8
- uncountable/types/api/recipes/remove_recipe_from_project.py +10 -3
- uncountable/types/api/recipes/set_recipe_inputs.py +16 -10
- uncountable/types/api/recipes/set_recipe_metadata.py +10 -3
- uncountable/types/api/recipes/set_recipe_output_annotations.py +24 -12
- uncountable/types/api/recipes/set_recipe_output_file.py +55 -0
- uncountable/types/api/recipes/set_recipe_outputs.py +35 -12
- uncountable/types/api/recipes/set_recipe_tags.py +26 -9
- uncountable/types/api/recipes/set_recipe_total.py +59 -0
- uncountable/types/api/recipes/unarchive_recipes.py +10 -3
- uncountable/types/api/recipes/unlock_recipes.py +14 -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 +11 -4
- uncountable/types/api/uploader/complete_async_parse.py +46 -0
- uncountable/types/api/uploader/invoke_uploader.py +13 -6
- uncountable/types/api/user/__init__.py +1 -0
- uncountable/types/api/user/get_current_user_info.py +40 -0
- uncountable/types/async_batch.py +2 -1
- uncountable/types/async_batch_processor.py +618 -18
- uncountable/types/async_batch_t.py +54 -7
- uncountable/types/async_jobs.py +8 -0
- uncountable/types/async_jobs_t.py +52 -0
- uncountable/types/auth_retrieval.py +11 -0
- uncountable/types/auth_retrieval_t.py +75 -0
- uncountable/types/base.py +0 -1
- uncountable/types/base_t.py +13 -11
- uncountable/types/calculations.py +0 -1
- uncountable/types/calculations_t.py +5 -2
- uncountable/types/chemical_structure.py +0 -1
- uncountable/types/chemical_structure_t.py +6 -5
- uncountable/types/client_base.py +751 -70
- uncountable/types/client_config.py +1 -1
- uncountable/types/client_config_t.py +17 -3
- uncountable/types/curves.py +0 -1
- uncountable/types/curves_t.py +10 -7
- uncountable/types/data.py +12 -0
- uncountable/types/data_t.py +103 -0
- uncountable/types/entity.py +4 -1
- uncountable/types/entity_t.py +125 -7
- uncountable/types/experiment_groups.py +0 -1
- uncountable/types/experiment_groups_t.py +5 -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 +246 -9
- uncountable/types/fields.py +0 -1
- uncountable/types/fields_t.py +5 -2
- uncountable/types/generic_upload.py +6 -1
- uncountable/types/generic_upload_t.py +88 -9
- uncountable/types/id_source.py +0 -1
- uncountable/types/id_source_t.py +26 -7
- uncountable/types/identifier.py +0 -1
- uncountable/types/identifier_t.py +13 -5
- uncountable/types/input_attributes.py +0 -1
- uncountable/types/input_attributes_t.py +4 -4
- uncountable/types/inputs.py +1 -1
- uncountable/types/inputs_t.py +24 -4
- uncountable/types/integration_server.py +8 -0
- uncountable/types/integration_server_t.py +46 -0
- 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 +4 -6
- uncountable/types/job_definition_t.py +96 -65
- 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 +6 -3
- uncountable/types/overrides.py +9 -0
- uncountable/types/overrides_t.py +49 -0
- uncountable/types/permissions.py +0 -1
- uncountable/types/permissions_t.py +1 -2
- uncountable/types/phases.py +0 -1
- uncountable/types/phases_t.py +5 -2
- uncountable/types/post_base.py +0 -1
- uncountable/types/post_base_t.py +1 -2
- uncountable/types/queued_job.py +17 -0
- uncountable/types/queued_job_t.py +140 -0
- uncountable/types/recipe_identifiers.py +0 -1
- uncountable/types/recipe_identifiers_t.py +21 -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 +7 -4
- uncountable/types/recipe_metadata.py +0 -1
- uncountable/types/recipe_metadata_t.py +14 -9
- uncountable/types/recipe_output_metadata.py +0 -1
- uncountable/types/recipe_output_metadata_t.py +5 -2
- uncountable/types/recipe_tags.py +0 -1
- uncountable/types/recipe_tags_t.py +5 -2
- uncountable/types/recipe_workflow_steps.py +0 -1
- uncountable/types/recipe_workflow_steps_t.py +14 -7
- uncountable/types/recipes.py +0 -1
- uncountable/types/recipes_t.py +6 -2
- uncountable/types/response.py +0 -1
- uncountable/types/response_t.py +3 -2
- uncountable/types/secret_retrieval.py +0 -1
- uncountable/types/secret_retrieval_t.py +13 -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 +5 -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 +5 -2
- uncountable/types/webhook_job.py +9 -0
- uncountable/types/webhook_job_t.py +48 -0
- uncountable/types/workflows.py +0 -1
- uncountable/types/workflows_t.py +10 -4
- uncountablepythonsdk-0.0.131.dist-info/METADATA +64 -0
- uncountablepythonsdk-0.0.131.dist-info/RECORD +363 -0
- {UncountablePythonSDK-0.0.52.dist-info → uncountablepythonsdk-0.0.131.dist-info}/WHEEL +1 -1
- UncountablePythonSDK-0.0.52.dist-info/METADATA +0 -56
- UncountablePythonSDK-0.0.52.dist-info/RECORD +0 -246
- docs/quickstart.md +0 -19
- uncountable/core/version.py +0 -11
- {UncountablePythonSDK-0.0.52.dist-info → uncountablepythonsdk-0.0.131.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
|
|
@@ -8,15 +7,30 @@ import typing # noqa: F401
|
|
|
8
7
|
import datetime # noqa: F401
|
|
9
8
|
from decimal import Decimal # noqa: F401
|
|
10
9
|
import dataclasses
|
|
10
|
+
from pkgs.serialization import serial_class
|
|
11
|
+
from . import base_t
|
|
11
12
|
|
|
12
13
|
__all__: list[str] = [
|
|
13
14
|
"ClientConfigOptions",
|
|
15
|
+
"RequestOptions",
|
|
14
16
|
]
|
|
15
17
|
|
|
16
18
|
|
|
17
19
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
18
|
-
@
|
|
20
|
+
@serial_class(
|
|
21
|
+
named_type_path="sdk.client_config.ClientConfigOptions",
|
|
22
|
+
)
|
|
23
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
19
24
|
class ClientConfigOptions:
|
|
20
25
|
allow_insecure_tls: bool = False
|
|
21
|
-
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
|
|
22
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
|
|
@@ -26,10 +25,13 @@ class CurveAxisType(StrEnum):
|
|
|
26
25
|
|
|
27
26
|
|
|
28
27
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
29
|
-
@
|
|
28
|
+
@serial_class(
|
|
29
|
+
named_type_path="sdk.curves.Curve",
|
|
30
|
+
)
|
|
31
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
30
32
|
class Curve:
|
|
31
33
|
id: base_t.ObjectId
|
|
32
|
-
x_type: typing.
|
|
34
|
+
x_type: typing.Literal[CurveAxisType.NUMERIC] | typing.Literal[CurveAxisType.TIMESTAMP]
|
|
33
35
|
x_values: list[CurveValue]
|
|
34
36
|
y_type: typing.Union[typing.Literal[CurveAxisType.NUMERIC]]
|
|
35
37
|
y_values: list[CurveValue]
|
|
@@ -37,11 +39,12 @@ class Curve:
|
|
|
37
39
|
|
|
38
40
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
39
41
|
@serial_class(
|
|
42
|
+
named_type_path="sdk.curves.CurveValue",
|
|
40
43
|
to_string_values={"quantity"},
|
|
41
44
|
)
|
|
42
|
-
@dataclasses.dataclass(kw_only=True)
|
|
45
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
43
46
|
class CurveValue:
|
|
44
47
|
index: int
|
|
45
|
-
quantity:
|
|
46
|
-
quantity_timestamp:
|
|
48
|
+
quantity: Decimal | None = None
|
|
49
|
+
quantity_timestamp: datetime.datetime | None = None
|
|
47
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,9 +1,12 @@
|
|
|
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 .entity_t import EntityType as EntityType
|
|
7
|
+
from .entity_t import LimitedEntityType as LimitedEntityType
|
|
8
|
+
from .entity_t import EntityPermissionType as EntityPermissionType
|
|
9
|
+
from .entity_t import GrantableEntityPermissionType as GrantableEntityPermissionType
|
|
8
10
|
from .entity_t import Entity as Entity
|
|
11
|
+
from .entity_t import EntityIdentifier as EntityIdentifier
|
|
9
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,21 @@ 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
|
|
11
|
+
from pkgs.serialization import serial_class
|
|
12
|
+
from pkgs.serialization import serial_alias_annotation
|
|
12
13
|
from pkgs.serialization import serial_string_enum
|
|
13
14
|
from . import base_t
|
|
15
|
+
from . import identifier_t
|
|
14
16
|
|
|
15
17
|
__all__: list[str] = [
|
|
16
18
|
"Entity",
|
|
19
|
+
"EntityIdentifier",
|
|
20
|
+
"EntityPermissionType",
|
|
17
21
|
"EntityType",
|
|
22
|
+
"GrantableEntityPermissionType",
|
|
23
|
+
"LimitedEntityType",
|
|
18
24
|
]
|
|
19
25
|
|
|
20
26
|
|
|
@@ -25,6 +31,8 @@ __all__: list[str] = [
|
|
|
25
31
|
"analytical_method_category": "Analytical Method Category",
|
|
26
32
|
"annotation_type": "Annotation Type",
|
|
27
33
|
"approval": "Approval",
|
|
34
|
+
"async_job": "Async Job",
|
|
35
|
+
"barcode": "Barcode",
|
|
28
36
|
"calculation": "Calculation",
|
|
29
37
|
"calendar": "Calendar",
|
|
30
38
|
"calendar_event": "Calendar Event",
|
|
@@ -32,19 +40,26 @@ __all__: list[str] = [
|
|
|
32
40
|
"characterization": "Characterization",
|
|
33
41
|
"comment": "Comment",
|
|
34
42
|
"comment_thread": "Comment Thread",
|
|
43
|
+
"condition_match": "Condition Match",
|
|
35
44
|
"condition_parameter": "Condition Parameter",
|
|
36
45
|
"condition_parameter_mat_family": "Condition Parameter Material Family",
|
|
46
|
+
"condition_parameter_matches": "Condition Parameter Matches",
|
|
47
|
+
"condition_parameter_rule": "Condition Parameter Rule",
|
|
37
48
|
"condition_parameter_value": "Condition Parameter Value",
|
|
38
49
|
"constraint": "Constraint",
|
|
39
50
|
"constraint_set": "Constraint Set",
|
|
51
|
+
"control_type": "Control Type",
|
|
40
52
|
"curve_settings": "Curve Settings",
|
|
41
53
|
"custom_entity": "Custom Entity",
|
|
54
|
+
"default_permissions_new_project": "Default Permissions New Project",
|
|
42
55
|
"doe_run": "Suggest Experiments",
|
|
43
56
|
"email_record_external": "External Emails",
|
|
44
57
|
"email_relay_server": "Email Relay Server",
|
|
45
58
|
"enter_recipe_view_preference": "Enter Recipe View Preference",
|
|
59
|
+
"enter_measurement_view_preference": "Enter Measurement View Preference",
|
|
46
60
|
"entities_viewed": "Entities Viewed",
|
|
47
61
|
"entity_annotation": "Annotation",
|
|
62
|
+
"entity_definition_field_group": "Entity Definition Field Group",
|
|
48
63
|
"entity_field": "Field",
|
|
49
64
|
"entity_field_audit_log": "Entity Field Audit Log",
|
|
50
65
|
"entity_link": "Entity Link",
|
|
@@ -55,6 +70,7 @@ __all__: list[str] = [
|
|
|
55
70
|
"equipment_maintenance": "Equipment Maintenance",
|
|
56
71
|
"equipment_type": "Equipment Type",
|
|
57
72
|
"experiment_group": "Experiment Group",
|
|
73
|
+
"experiment_group_member": "Experiment Group Member",
|
|
58
74
|
"experiment_group_type": "Experiment Group Type",
|
|
59
75
|
"favorite_link": "Favorite Link",
|
|
60
76
|
"field_option_set": "Field Option Set",
|
|
@@ -65,22 +81,28 @@ __all__: list[str] = [
|
|
|
65
81
|
"ingredient": "Ingredient",
|
|
66
82
|
"ingredient_attribute": "Ingredient Attribute",
|
|
67
83
|
"ingredient_attribute_category": "Ingredient Attribute Category",
|
|
84
|
+
"ingredient_attribute_value": "Ingredient Attribute Value",
|
|
68
85
|
"ingredient_category": "Ingredient Category (Project)",
|
|
69
86
|
"ingredient_category_all": "Ingredient Category",
|
|
70
87
|
"ingredient_category_all_material_family": "Ingredient Category Material Family",
|
|
71
88
|
"ingredient_lot": "Ingredient Lot",
|
|
89
|
+
"ingredient_mat_family": "Ingredient Material Family",
|
|
72
90
|
"ingredient_role": "Ingredient Role",
|
|
73
91
|
"ingredient_tag": "Ingredient Subcategory",
|
|
92
|
+
"ingredient_tag_map": "Ingredient Subcategory Mapping",
|
|
74
93
|
"input_group": "Input Group",
|
|
75
94
|
"inv_local_locations": "Inventory Location",
|
|
76
|
-
"inventory_amount": "Inventory
|
|
95
|
+
"inventory_amount": "Inventory Item",
|
|
77
96
|
"inventory_limit": "Inventory Limit",
|
|
78
97
|
"inventory_history": "Inventory History",
|
|
79
98
|
"lab_location": "Lab Location",
|
|
80
99
|
"lab_request": "Lab Request",
|
|
81
100
|
"license": "License",
|
|
82
|
-
"maintenance_schedule": "
|
|
101
|
+
"maintenance_schedule": "Equipment Action Type",
|
|
83
102
|
"material_family": "Material Family",
|
|
103
|
+
"measurement_group": "Measurement Group",
|
|
104
|
+
"measurement_group_input": "Measurement Group Input",
|
|
105
|
+
"measurement_group_recipe": "Measurement Group Recipe",
|
|
84
106
|
"ml_job": "Batch Processing Job",
|
|
85
107
|
"naming_scheme": "Naming Scheme",
|
|
86
108
|
"naming_counter": "Naming Counter",
|
|
@@ -90,51 +112,69 @@ __all__: list[str] = [
|
|
|
90
112
|
"output_calculation_entity_mapping": "Output Calculation Entity Mapping",
|
|
91
113
|
"output_category_all": "Output Category",
|
|
92
114
|
"output_condition": "Output Condition",
|
|
115
|
+
"output_condition_condition_parameter": "Output Condition Condition Parameter",
|
|
93
116
|
"output_default_condition": "Output Default Condition",
|
|
94
117
|
"output_condition_parameter": "Output Condition Parameter",
|
|
95
118
|
"output_condition_parameter_analytical_method_category": "Output Condition Parameter Analytical Method Category",
|
|
96
119
|
"output_condition_parameter_analytical_method": "Output Condition Parameter Analytical Method",
|
|
97
120
|
"output_group": "Output Group",
|
|
121
|
+
"output_group_member": "Output Group Member",
|
|
122
|
+
"output_preferences": "Output Preferences",
|
|
98
123
|
"permission": "Permission",
|
|
99
124
|
"permissions_recipe_link_inheritance": "Permissions Recipe Link Inheritance",
|
|
100
125
|
"phase_workflow": "Phase Workflow",
|
|
101
126
|
"platform_config": "Platform Config",
|
|
127
|
+
"portal_form": "Portal Form",
|
|
102
128
|
"predictive_model": "Predictive Model",
|
|
103
129
|
"product": "Product",
|
|
130
|
+
"product_material_family": "Product Material Family",
|
|
104
131
|
"project": "Project",
|
|
105
132
|
"project_workbook_comment": "Notebook Cell Comment",
|
|
106
133
|
"recipe": "Experiment",
|
|
107
134
|
"recipe_audit_log": "Experiment Audit Log",
|
|
108
135
|
"recipe_calculation": "Recipe Calculation",
|
|
109
136
|
"recipe_check": "Experiment Check",
|
|
137
|
+
"recipe_component_witness": "Recipe Component Witness",
|
|
110
138
|
"recipe_export": "Recipe Export",
|
|
139
|
+
"recipe_goal": "Experiment Goal",
|
|
111
140
|
"recipe_ingredient": "Recipe Ingredient",
|
|
112
141
|
"recipe_ingredient_actual": "Recipe Ingredient Actual",
|
|
113
142
|
"recipe_ingredients_compounded": "Recipe Ingredients Compounded",
|
|
114
|
-
"recipe_ingredients_compounded_calculation": "Recipe Ingredients Compounded
|
|
143
|
+
"recipe_ingredients_compounded_calculation": "Recipe Ingredients Compounded Calculation",
|
|
144
|
+
"recipe_link": "Experiment Link",
|
|
115
145
|
"recipe_output": "Recipe Output",
|
|
146
|
+
"recipe_output_annotation": "Recipe Output Annotation",
|
|
116
147
|
"recipe_output_metadata": "Recipe Output Metadata",
|
|
117
148
|
"recipe_permission_view": "Recipe Permission View",
|
|
118
149
|
"recipe_project": "Recipe Project",
|
|
119
150
|
"recipe_step": "Recipe Step",
|
|
151
|
+
"recipe_workflow_step": "Recipe Workflow Step",
|
|
120
152
|
"recipe_tag": "Recipe Tag",
|
|
121
153
|
"recipe_metadata": "Experiment Metadata",
|
|
154
|
+
"recipe_metadata_mapping": "Experiment Metadata Mapping",
|
|
122
155
|
"metadata_value": "Metadata Value",
|
|
123
156
|
"review": "Review",
|
|
124
157
|
"review_entity_user_status": "Review Entity User Status",
|
|
125
158
|
"review_user": "Review User",
|
|
159
|
+
"rlw_audit_log": "Rlw Audit Log",
|
|
126
160
|
"rlw_phase": "Phase",
|
|
127
161
|
"rlw_trigger": "Trigger",
|
|
128
162
|
"rlw_trigger_set": "Trigger Set",
|
|
163
|
+
"runsheet_configuration": "Runsheet Configuration",
|
|
129
164
|
"safety_data_sheet": "Safety Data Sheet",
|
|
130
165
|
"scheduled_notification": "Scheduled Notification",
|
|
166
|
+
"scratch_pad": "Scratch Pad",
|
|
131
167
|
"specs": "Spec",
|
|
132
|
-
"
|
|
168
|
+
"save": "Save",
|
|
169
|
+
"split_template": "Test Method",
|
|
133
170
|
"structured_loading_user_config": "List Config",
|
|
171
|
+
"subscription": "Subscription",
|
|
134
172
|
"table_builder_config": "Table Builder Config",
|
|
135
173
|
"task": "Task",
|
|
136
174
|
"task_board": "Task Board",
|
|
137
175
|
"template": "Template",
|
|
176
|
+
"test_entity": "Test Entity",
|
|
177
|
+
"time_series_segment": "Time Series Segment",
|
|
138
178
|
"timesheet_entry": "Timesheet Entry",
|
|
139
179
|
"training_run": "Analyze Experiment",
|
|
140
180
|
"training_run_template": "Scheduled Training Run",
|
|
@@ -144,6 +184,7 @@ __all__: list[str] = [
|
|
|
144
184
|
"units": "Units",
|
|
145
185
|
"user_favorite": "User Favorite",
|
|
146
186
|
"user": "User",
|
|
187
|
+
"user_analytics_event": "User Analytics Event",
|
|
147
188
|
"user_certification": "User Certification",
|
|
148
189
|
"user_group": "User Group",
|
|
149
190
|
"user_list_set": "User List Set",
|
|
@@ -168,6 +209,7 @@ __all__: list[str] = [
|
|
|
168
209
|
"public_data_sourced_condition_parameter": "ChemQuery Condition Parameter",
|
|
169
210
|
"public_data_sourced_company": "ChemQuery Company",
|
|
170
211
|
"uploader": "Uploader",
|
|
212
|
+
"calculation_material_family": "Calculation Material Family",
|
|
171
213
|
},
|
|
172
214
|
)
|
|
173
215
|
class EntityType(StrEnum):
|
|
@@ -175,6 +217,8 @@ class EntityType(StrEnum):
|
|
|
175
217
|
ANALYTICAL_METHOD_CATEGORY = "analytical_method_category"
|
|
176
218
|
ANNOTATION_TYPE = "annotation_type"
|
|
177
219
|
APPROVAL = "approval"
|
|
220
|
+
ASYNC_JOB = "async_job"
|
|
221
|
+
BARCODE = "barcode"
|
|
178
222
|
CALCULATION = "calculation"
|
|
179
223
|
CALENDAR = "calendar"
|
|
180
224
|
CALENDAR_EVENT = "calendar_event"
|
|
@@ -182,19 +226,26 @@ class EntityType(StrEnum):
|
|
|
182
226
|
CHARACTERIZATION = "characterization"
|
|
183
227
|
COMMENT = "comment"
|
|
184
228
|
COMMENT_THREAD = "comment_thread"
|
|
229
|
+
CONDITION_MATCH = "condition_match"
|
|
185
230
|
CONDITION_PARAMETER = "condition_parameter"
|
|
186
231
|
CONDITION_PARAMETER_MAT_FAMILY = "condition_parameter_mat_family"
|
|
232
|
+
CONDITION_PARAMETER_MATCHES = "condition_parameter_matches"
|
|
233
|
+
CONDITION_PARAMETER_RULE = "condition_parameter_rule"
|
|
187
234
|
CONDITION_PARAMETER_VALUE = "condition_parameter_value"
|
|
188
235
|
CONSTRAINT = "constraint"
|
|
189
236
|
CONSTRAINT_SET = "constraint_set"
|
|
237
|
+
CONTROL_TYPE = "control_type"
|
|
190
238
|
CURVE_SETTINGS = "curve_settings"
|
|
191
239
|
CUSTOM_ENTITY = "custom_entity"
|
|
240
|
+
DEFAULT_PERMISSIONS_NEW_PROJECT = "default_permissions_new_project"
|
|
192
241
|
DOE_RUN = "doe_run"
|
|
193
242
|
EMAIL_RECORD_EXTERNAL = "email_record_external"
|
|
194
243
|
EMAIL_RELAY_SERVER = "email_relay_server"
|
|
195
244
|
ENTER_RECIPE_VIEW_PREFERENCE = "enter_recipe_view_preference"
|
|
245
|
+
ENTER_MEASUREMENT_VIEW_PREFERENCE = "enter_measurement_view_preference"
|
|
196
246
|
ENTITIES_VIEWED = "entities_viewed"
|
|
197
247
|
ENTITY_ANNOTATION = "entity_annotation"
|
|
248
|
+
ENTITY_DEFINITION_FIELD_GROUP = "entity_definition_field_group"
|
|
198
249
|
ENTITY_FIELD = "entity_field"
|
|
199
250
|
ENTITY_FIELD_AUDIT_LOG = "entity_field_audit_log"
|
|
200
251
|
ENTITY_LINK = "entity_link"
|
|
@@ -205,6 +256,7 @@ class EntityType(StrEnum):
|
|
|
205
256
|
EQUIPMENT_MAINTENANCE = "equipment_maintenance"
|
|
206
257
|
EQUIPMENT_TYPE = "equipment_type"
|
|
207
258
|
EXPERIMENT_GROUP = "experiment_group"
|
|
259
|
+
EXPERIMENT_GROUP_MEMBER = "experiment_group_member"
|
|
208
260
|
EXPERIMENT_GROUP_TYPE = "experiment_group_type"
|
|
209
261
|
FAVORITE_LINK = "favorite_link"
|
|
210
262
|
FIELD_OPTION_SET = "field_option_set"
|
|
@@ -215,12 +267,15 @@ class EntityType(StrEnum):
|
|
|
215
267
|
INGREDIENT = "ingredient"
|
|
216
268
|
INGREDIENT_ATTRIBUTE = "ingredient_attribute"
|
|
217
269
|
INGREDIENT_ATTRIBUTE_CATEGORY = "ingredient_attribute_category"
|
|
270
|
+
INGREDIENT_ATTRIBUTE_VALUE = "ingredient_attribute_value"
|
|
218
271
|
INGREDIENT_CATEGORY = "ingredient_category"
|
|
219
272
|
INGREDIENT_CATEGORY_ALL = "ingredient_category_all"
|
|
220
273
|
INGREDIENT_CATEGORY_ALL_MATERIAL_FAMILY = "ingredient_category_all_material_family"
|
|
221
274
|
INGREDIENT_LOT = "ingredient_lot"
|
|
275
|
+
INGREDIENT_MAT_FAMILY = "ingredient_mat_family"
|
|
222
276
|
INGREDIENT_ROLE = "ingredient_role"
|
|
223
277
|
INGREDIENT_TAG = "ingredient_tag"
|
|
278
|
+
INGREDIENT_TAG_MAP = "ingredient_tag_map"
|
|
224
279
|
INPUT_GROUP = "input_group"
|
|
225
280
|
INV_LOCAL_LOCATIONS = "inv_local_locations"
|
|
226
281
|
INVENTORY_AMOUNT = "inventory_amount"
|
|
@@ -231,6 +286,9 @@ class EntityType(StrEnum):
|
|
|
231
286
|
LICENSE = "license"
|
|
232
287
|
MAINTENANCE_SCHEDULE = "maintenance_schedule"
|
|
233
288
|
MATERIAL_FAMILY = "material_family"
|
|
289
|
+
MEASUREMENT_GROUP = "measurement_group"
|
|
290
|
+
MEASUREMENT_GROUP_INPUT = "measurement_group_input"
|
|
291
|
+
MEASUREMENT_GROUP_RECIPE = "measurement_group_recipe"
|
|
234
292
|
ML_JOB = "ml_job"
|
|
235
293
|
NAMING_SCHEME = "naming_scheme"
|
|
236
294
|
NAMING_COUNTER = "naming_counter"
|
|
@@ -240,51 +298,69 @@ class EntityType(StrEnum):
|
|
|
240
298
|
OUTPUT_CALCULATION_ENTITY_MAPPING = "output_calculation_entity_mapping"
|
|
241
299
|
OUTPUT_CATEGORY_ALL = "output_category_all"
|
|
242
300
|
OUTPUT_CONDITION = "output_condition"
|
|
301
|
+
OUTPUT_CONDITION_CONDITION_PARAMETER = "output_condition_condition_parameter"
|
|
243
302
|
OUTPUT_DEFAULT_CONDITION = "output_default_condition"
|
|
244
303
|
OUTPUT_CONDITION_PARAMETER = "output_condition_parameter"
|
|
245
304
|
OUTPUT_CONDITION_PARAMETER_ANALYTICAL_METHOD_CATEGORY = "output_condition_parameter_analytical_method_category"
|
|
246
305
|
OUTPUT_CONDITION_PARAMETER_ANALYTICAL_METHOD = "output_condition_parameter_analytical_method"
|
|
247
306
|
OUTPUT_GROUP = "output_group"
|
|
307
|
+
OUTPUT_GROUP_MEMBER = "output_group_member"
|
|
308
|
+
OUTPUT_PREFERENCES = "output_preferences"
|
|
248
309
|
PERMISSION = "permission"
|
|
249
310
|
PERMISSIONS_RECIPE_LINK_INHERITANCE = "permissions_recipe_link_inheritance"
|
|
250
311
|
PHASE_WORKFLOW = "phase_workflow"
|
|
251
312
|
PLATFORM_CONFIG = "platform_config"
|
|
313
|
+
PORTAL_FORM = "portal_form"
|
|
252
314
|
PREDICTIVE_MODEL = "predictive_model"
|
|
253
315
|
PRODUCT = "product"
|
|
316
|
+
PRODUCT_MATERIAL_FAMILY = "product_material_family"
|
|
254
317
|
PROJECT = "project"
|
|
255
318
|
PROJECT_WORKBOOK_COMMENT = "project_workbook_comment"
|
|
256
319
|
RECIPE = "recipe"
|
|
257
320
|
RECIPE_AUDIT_LOG = "recipe_audit_log"
|
|
258
321
|
RECIPE_CALCULATION = "recipe_calculation"
|
|
259
322
|
RECIPE_CHECK = "recipe_check"
|
|
323
|
+
RECIPE_COMPONENT_WITNESS = "recipe_component_witness"
|
|
260
324
|
RECIPE_EXPORT = "recipe_export"
|
|
325
|
+
RECIPE_GOAL = "recipe_goal"
|
|
261
326
|
RECIPE_INGREDIENT = "recipe_ingredient"
|
|
262
327
|
RECIPE_INGREDIENT_ACTUAL = "recipe_ingredient_actual"
|
|
263
328
|
RECIPE_INGREDIENTS_COMPOUNDED = "recipe_ingredients_compounded"
|
|
264
329
|
RECIPE_INGREDIENTS_COMPOUNDED_CALCULATION = "recipe_ingredients_compounded_calculation"
|
|
330
|
+
RECIPE_LINK = "recipe_link"
|
|
265
331
|
RECIPE_OUTPUT = "recipe_output"
|
|
332
|
+
RECIPE_OUTPUT_ANNOTATION = "recipe_output_annotation"
|
|
266
333
|
RECIPE_OUTPUT_METADATA = "recipe_output_metadata"
|
|
267
334
|
RECIPE_PERMISSION_VIEW = "recipe_permission_view"
|
|
268
335
|
RECIPE_PROJECT = "recipe_project"
|
|
269
336
|
RECIPE_STEP = "recipe_step"
|
|
337
|
+
RECIPE_WORKFLOW_STEP = "recipe_workflow_step"
|
|
270
338
|
RECIPE_TAG = "recipe_tag"
|
|
271
339
|
RECIPE_METADATA = "recipe_metadata"
|
|
340
|
+
RECIPE_METADATA_MAPPING = "recipe_metadata_mapping"
|
|
272
341
|
METADATA_VALUE = "metadata_value"
|
|
273
342
|
REVIEW = "review"
|
|
274
343
|
REVIEW_ENTITY_USER_STATUS = "review_entity_user_status"
|
|
275
344
|
REVIEW_USER = "review_user"
|
|
345
|
+
RLW_AUDIT_LOG = "rlw_audit_log"
|
|
276
346
|
RLW_PHASE = "rlw_phase"
|
|
277
347
|
RLW_TRIGGER = "rlw_trigger"
|
|
278
348
|
RLW_TRIGGER_SET = "rlw_trigger_set"
|
|
349
|
+
RUNSHEET_CONFIGURATION = "runsheet_configuration"
|
|
279
350
|
SAFETY_DATA_SHEET = "safety_data_sheet"
|
|
280
351
|
SCHEDULED_NOTIFICATION = "scheduled_notification"
|
|
352
|
+
SCRATCH_PAD = "scratch_pad"
|
|
281
353
|
SPECS = "specs"
|
|
354
|
+
SAVE = "save"
|
|
282
355
|
SPLIT_TEMPLATE = "split_template"
|
|
283
356
|
STRUCTURED_LOADING_USER_CONFIG = "structured_loading_user_config"
|
|
357
|
+
SUBSCRIPTION = "subscription"
|
|
284
358
|
TABLE_BUILDER_CONFIG = "table_builder_config"
|
|
285
359
|
TASK = "task"
|
|
286
360
|
TASK_BOARD = "task_board"
|
|
287
361
|
TEMPLATE = "template"
|
|
362
|
+
TEST_ENTITY = "test_entity"
|
|
363
|
+
TIME_SERIES_SEGMENT = "time_series_segment"
|
|
288
364
|
TIMESHEET_ENTRY = "timesheet_entry"
|
|
289
365
|
TRAINING_RUN = "training_run"
|
|
290
366
|
TRAINING_RUN_TEMPLATE = "training_run_template"
|
|
@@ -294,6 +370,7 @@ class EntityType(StrEnum):
|
|
|
294
370
|
UNITS = "units"
|
|
295
371
|
USER_FAVORITE = "user_favorite"
|
|
296
372
|
USER = "user"
|
|
373
|
+
USER_ANALYTICS_EVENT = "user_analytics_event"
|
|
297
374
|
USER_CERTIFICATION = "user_certification"
|
|
298
375
|
USER_GROUP = "user_group"
|
|
299
376
|
USER_LIST_SET = "user_list_set"
|
|
@@ -318,11 +395,52 @@ class EntityType(StrEnum):
|
|
|
318
395
|
PUBLIC_DATA_SOURCED_CONDITION_PARAMETER = "public_data_sourced_condition_parameter"
|
|
319
396
|
PUBLIC_DATA_SOURCED_COMPANY = "public_data_sourced_company"
|
|
320
397
|
UPLOADER = "uploader"
|
|
398
|
+
CALCULATION_MATERIAL_FAMILY = "calculation_material_family"
|
|
321
399
|
|
|
322
400
|
|
|
323
401
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
324
|
-
|
|
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
|
+
]
|
|
408
|
+
|
|
409
|
+
|
|
410
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
411
|
+
class EntityPermissionType(StrEnum):
|
|
412
|
+
READ = "read"
|
|
413
|
+
WRITE = "write"
|
|
414
|
+
CREATE = "create"
|
|
415
|
+
REOPEN = "reopen"
|
|
416
|
+
ADMIN = "admin"
|
|
417
|
+
|
|
418
|
+
|
|
419
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
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
|
+
]
|
|
426
|
+
|
|
427
|
+
|
|
428
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
429
|
+
@serial_class(
|
|
430
|
+
named_type_path="sdk.entity.Entity",
|
|
431
|
+
)
|
|
432
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
325
433
|
class Entity:
|
|
326
434
|
id: base_t.ObjectId
|
|
327
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
|
|
328
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
|
|
@@ -8,6 +7,7 @@ import typing # noqa: F401
|
|
|
8
7
|
import datetime # noqa: F401
|
|
9
8
|
from decimal import Decimal # noqa: F401
|
|
10
9
|
import dataclasses
|
|
10
|
+
from pkgs.serialization import serial_class
|
|
11
11
|
from . import base_t
|
|
12
12
|
|
|
13
13
|
__all__: list[str] = [
|
|
@@ -16,7 +16,10 @@ __all__: list[str] = [
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
19
|
-
@
|
|
19
|
+
@serial_class(
|
|
20
|
+
named_type_path="sdk.experiment_groups.SimpleExperimentGroup",
|
|
21
|
+
)
|
|
22
|
+
@dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
|
|
20
23
|
class SimpleExperimentGroup:
|
|
21
24
|
experiment_group_id: base_t.ObjectId
|
|
22
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
|