UncountablePythonSDK 0.0.7__py3-none-any.whl → 0.0.92__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of UncountablePythonSDK might be problematic. Click here for more details.
- UncountablePythonSDK-0.0.92.dist-info/METADATA +61 -0
- UncountablePythonSDK-0.0.92.dist-info/RECORD +301 -0
- {UncountablePythonSDK-0.0.7.dist-info → UncountablePythonSDK-0.0.92.dist-info}/WHEEL +1 -1
- {UncountablePythonSDK-0.0.7.dist-info → UncountablePythonSDK-0.0.92.dist-info}/top_level.txt +1 -1
- docs/.gitignore +1 -0
- docs/conf.py +57 -0
- docs/index.md +13 -0
- docs/justfile +12 -0
- docs/quickstart.md +19 -0
- docs/requirements.txt +7 -0
- docs/static/favicons/android-chrome-192x192.png +0 -0
- docs/static/favicons/android-chrome-512x512.png +0 -0
- docs/static/favicons/apple-touch-icon.png +0 -0
- docs/static/favicons/browserconfig.xml +9 -0
- docs/static/favicons/favicon-16x16.png +0 -0
- docs/static/favicons/favicon-32x32.png +0 -0
- docs/static/favicons/manifest.json +18 -0
- docs/static/favicons/mstile-150x150.png +0 -0
- docs/static/favicons/safari-pinned-tab.svg +32 -0
- docs/static/logo_blue.png +0 -0
- examples/async_batch.py +35 -0
- examples/create_entity.py +22 -17
- examples/download_files.py +26 -0
- examples/edit_recipe_inputs.py +50 -0
- examples/integration-server/jobs/materials_auto/example_cron.py +18 -0
- examples/integration-server/jobs/materials_auto/example_wh.py +15 -0
- examples/integration-server/jobs/materials_auto/profile.yaml +43 -0
- examples/integration-server/pyproject.toml +224 -0
- examples/invoke_uploader.py +26 -0
- examples/set_recipe_metadata_file.py +40 -0
- examples/set_recipe_output_file_sdk.py +26 -0
- examples/upload_files.py +18 -0
- pkgs/argument_parser/__init__.py +5 -0
- pkgs/argument_parser/_is_enum.py +1 -6
- pkgs/argument_parser/argument_parser.py +232 -76
- pkgs/argument_parser/case_convert.py +4 -3
- pkgs/filesystem_utils/__init__.py +20 -0
- pkgs/filesystem_utils/_blob_session.py +137 -0
- pkgs/filesystem_utils/_gdrive_session.py +309 -0
- pkgs/filesystem_utils/_local_session.py +69 -0
- pkgs/filesystem_utils/_s3_session.py +117 -0
- pkgs/filesystem_utils/_sftp_session.py +147 -0
- pkgs/filesystem_utils/file_type_utils.py +91 -0
- pkgs/filesystem_utils/filesystem_session.py +39 -0
- pkgs/py.typed +0 -0
- pkgs/serialization/__init__.py +8 -1
- pkgs/serialization/annotation.py +64 -0
- pkgs/serialization/opaque_key.py +1 -1
- pkgs/serialization/serial_alias.py +47 -0
- pkgs/serialization/serial_class.py +65 -50
- pkgs/serialization/serial_generic.py +16 -0
- pkgs/serialization/serial_union.py +84 -0
- pkgs/serialization/yaml.py +57 -0
- pkgs/serialization_util/__init__.py +7 -7
- pkgs/serialization_util/_get_type_for_serialization.py +1 -3
- pkgs/serialization_util/convert_to_snakecase.py +27 -0
- pkgs/serialization_util/dataclasses.py +14 -0
- pkgs/serialization_util/serialization_helpers.py +118 -73
- pkgs/strenum_compat/strenum_compat.py +1 -9
- pkgs/type_spec/actions_registry/__init__.py +0 -0
- pkgs/type_spec/actions_registry/__main__.py +126 -0
- pkgs/type_spec/actions_registry/emit_typescript.py +182 -0
- pkgs/type_spec/builder.py +475 -89
- pkgs/type_spec/config.py +24 -19
- pkgs/type_spec/emit_io_ts.py +5 -2
- pkgs/type_spec/emit_open_api.py +266 -32
- pkgs/type_spec/emit_open_api_util.py +32 -13
- pkgs/type_spec/emit_python.py +601 -150
- pkgs/type_spec/emit_typescript.py +74 -273
- pkgs/type_spec/emit_typescript_util.py +239 -5
- pkgs/type_spec/load_types.py +55 -10
- pkgs/type_spec/open_api_util.py +30 -41
- pkgs/type_spec/parts/base.py.prepart +4 -3
- pkgs/type_spec/type_info/emit_type_info.py +178 -16
- pkgs/type_spec/util.py +11 -11
- pkgs/type_spec/value_spec/__main__.py +3 -3
- pkgs/type_spec/value_spec/convert_type.py +8 -1
- pkgs/type_spec/value_spec/emit_python.py +13 -4
- uncountable/__init__.py +1 -2
- uncountable/core/__init__.py +12 -2
- uncountable/core/async_batch.py +37 -0
- uncountable/core/client.py +293 -43
- uncountable/core/environment.py +41 -0
- uncountable/core/file_upload.py +135 -0
- uncountable/core/types.py +17 -0
- uncountable/integration/__init__.py +0 -0
- uncountable/integration/cli.py +49 -0
- uncountable/integration/construct_client.py +51 -0
- uncountable/integration/cron.py +29 -0
- uncountable/integration/db/__init__.py +0 -0
- uncountable/integration/db/connect.py +18 -0
- uncountable/integration/db/session.py +25 -0
- uncountable/integration/entrypoint.py +13 -0
- uncountable/integration/executors/__init__.py +0 -0
- uncountable/integration/executors/executors.py +148 -0
- uncountable/integration/executors/generic_upload_executor.py +284 -0
- uncountable/integration/executors/script_executor.py +25 -0
- uncountable/integration/job.py +87 -0
- uncountable/integration/queue_runner/__init__.py +0 -0
- uncountable/integration/queue_runner/command_server/__init__.py +24 -0
- uncountable/integration/queue_runner/command_server/command_client.py +68 -0
- uncountable/integration/queue_runner/command_server/command_server.py +64 -0
- uncountable/integration/queue_runner/command_server/protocol/__init__.py +0 -0
- uncountable/integration/queue_runner/command_server/protocol/command_server.proto +22 -0
- uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.py +40 -0
- uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.pyi +38 -0
- uncountable/integration/queue_runner/command_server/protocol/command_server_pb2_grpc.py +129 -0
- uncountable/integration/queue_runner/command_server/types.py +52 -0
- uncountable/integration/queue_runner/datastore/__init__.py +3 -0
- uncountable/integration/queue_runner/datastore/datastore_sqlite.py +93 -0
- uncountable/integration/queue_runner/datastore/interface.py +19 -0
- uncountable/integration/queue_runner/datastore/model.py +17 -0
- uncountable/integration/queue_runner/job_scheduler.py +163 -0
- uncountable/integration/queue_runner/queue_runner.py +26 -0
- uncountable/integration/queue_runner/types.py +7 -0
- uncountable/integration/queue_runner/worker.py +119 -0
- uncountable/integration/scan_profiles.py +67 -0
- uncountable/integration/scheduler.py +150 -0
- uncountable/integration/secret_retrieval/__init__.py +3 -0
- uncountable/integration/secret_retrieval/retrieve_secret.py +93 -0
- uncountable/integration/server.py +117 -0
- uncountable/integration/telemetry.py +209 -0
- uncountable/integration/webhook_server/entrypoint.py +170 -0
- uncountable/types/__init__.py +151 -5
- uncountable/types/api/batch/execute_batch.py +15 -7
- uncountable/types/api/batch/execute_batch_load_async.py +42 -0
- uncountable/types/api/chemical/__init__.py +1 -0
- uncountable/types/api/chemical/convert_chemical_formats.py +63 -0
- uncountable/types/api/entity/create_entities.py +23 -10
- uncountable/types/api/entity/create_entity.py +21 -12
- uncountable/types/api/entity/get_entities_data.py +19 -29
- uncountable/types/api/entity/grant_entity_permissions.py +48 -0
- uncountable/types/api/entity/list_entities.py +28 -20
- uncountable/types/api/entity/lock_entity.py +45 -0
- uncountable/types/api/entity/resolve_entity_ids.py +19 -7
- uncountable/types/api/entity/set_entity_field_values.py +44 -0
- uncountable/types/api/entity/set_values.py +13 -28
- uncountable/types/api/entity/transition_entity_phase.py +80 -0
- uncountable/types/api/entity/unlock_entity.py +44 -0
- uncountable/types/api/equipment/__init__.py +1 -0
- uncountable/types/api/equipment/associate_equipment_input.py +44 -0
- uncountable/types/api/field_options/__init__.py +1 -0
- uncountable/types/api/field_options/upsert_field_options.py +55 -0
- uncountable/types/api/files/__init__.py +1 -0
- uncountable/types/api/files/download_file.py +77 -0
- uncountable/types/api/id_source/__init__.py +1 -0
- uncountable/types/api/id_source/list_id_source.py +56 -0
- uncountable/types/api/id_source/match_id_source.py +54 -0
- uncountable/types/api/input_groups/get_input_group_names.py +18 -7
- uncountable/types/api/inputs/create_inputs.py +25 -24
- uncountable/types/api/inputs/get_input_data.py +37 -31
- uncountable/types/api/inputs/get_input_names.py +20 -9
- uncountable/types/api/inputs/get_inputs_data.py +33 -27
- uncountable/types/api/inputs/set_input_attribute_values.py +18 -13
- uncountable/types/api/inputs/set_input_category.py +44 -0
- uncountable/types/api/inputs/set_input_subcategories.py +45 -0
- uncountable/types/api/inputs/set_intermediate_type.py +50 -0
- uncountable/types/api/material_families/__init__.py +1 -0
- uncountable/types/api/material_families/update_entity_material_families.py +48 -0
- uncountable/types/api/outputs/get_output_data.py +38 -29
- uncountable/types/api/outputs/get_output_names.py +20 -9
- uncountable/types/api/outputs/resolve_output_conditions.py +23 -10
- uncountable/types/api/permissions/__init__.py +1 -0
- uncountable/types/api/permissions/set_core_permissions.py +105 -0
- uncountable/types/api/project/get_projects.py +23 -19
- uncountable/types/api/project/get_projects_data.py +26 -43
- uncountable/types/api/recipe_links/__init__.py +1 -0
- uncountable/types/api/recipe_links/create_recipe_link.py +46 -0
- uncountable/types/api/recipe_links/remove_recipe_link.py +45 -0
- uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +21 -10
- uncountable/types/api/recipes/add_recipe_to_project.py +42 -0
- uncountable/types/api/recipes/archive_recipes.py +42 -0
- uncountable/types/api/recipes/associate_recipe_as_input.py +44 -0
- uncountable/types/api/recipes/associate_recipe_as_lot.py +43 -0
- uncountable/types/api/recipes/clear_recipe_outputs.py +42 -0
- uncountable/types/api/recipes/create_recipe.py +51 -0
- uncountable/types/api/recipes/create_recipes.py +25 -24
- uncountable/types/api/recipes/disassociate_recipe_as_input.py +42 -0
- uncountable/types/api/recipes/edit_recipe_inputs.py +283 -0
- uncountable/types/api/recipes/get_column_calculation_values.py +58 -0
- uncountable/types/api/recipes/get_curve.py +13 -27
- uncountable/types/api/recipes/get_recipe_calculations.py +21 -21
- uncountable/types/api/recipes/get_recipe_links.py +14 -6
- uncountable/types/api/recipes/get_recipe_names.py +18 -7
- uncountable/types/api/recipes/get_recipe_output_metadata.py +18 -19
- uncountable/types/api/recipes/get_recipes_data.py +83 -144
- uncountable/types/api/recipes/lock_recipes.py +63 -0
- uncountable/types/api/recipes/remove_recipe_from_project.py +42 -0
- uncountable/types/api/recipes/set_recipe_inputs.py +21 -11
- uncountable/types/api/recipes/set_recipe_metadata.py +43 -0
- uncountable/types/api/recipes/set_recipe_output_annotations.py +115 -0
- uncountable/types/api/recipes/set_recipe_output_file.py +56 -0
- uncountable/types/api/recipes/set_recipe_outputs.py +28 -15
- uncountable/types/api/recipes/set_recipe_tags.py +109 -0
- uncountable/types/api/recipes/unarchive_recipes.py +41 -0
- uncountable/types/api/recipes/unlock_recipes.py +50 -0
- uncountable/types/api/triggers/__init__.py +1 -0
- uncountable/types/api/triggers/run_trigger.py +43 -0
- uncountable/types/api/uploader/__init__.py +1 -0
- uncountable/types/api/uploader/invoke_uploader.py +47 -0
- uncountable/types/async_batch.py +13 -0
- uncountable/types/async_batch_processor.py +384 -0
- uncountable/types/async_batch_t.py +97 -0
- uncountable/types/async_jobs.py +9 -0
- uncountable/types/async_jobs_t.py +53 -0
- uncountable/types/auth_retrieval.py +12 -0
- uncountable/types/auth_retrieval_t.py +75 -0
- uncountable/types/base.py +5 -78
- uncountable/types/base_t.py +85 -0
- uncountable/types/calculations.py +8 -0
- uncountable/types/calculations_t.py +27 -0
- uncountable/types/chemical_structure.py +8 -0
- uncountable/types/chemical_structure_t.py +28 -0
- uncountable/types/client_base.py +1115 -76
- uncountable/types/client_config.py +8 -0
- uncountable/types/client_config_t.py +26 -0
- uncountable/types/curves.py +10 -0
- uncountable/types/curves_t.py +51 -0
- uncountable/types/entity.py +8 -266
- uncountable/types/entity_t.py +393 -0
- uncountable/types/experiment_groups.py +8 -0
- uncountable/types/experiment_groups_t.py +27 -0
- uncountable/types/field_values.py +17 -23
- uncountable/types/field_values_t.py +204 -0
- uncountable/types/fields.py +8 -0
- uncountable/types/fields_t.py +28 -0
- uncountable/types/generic_upload.py +15 -0
- uncountable/types/generic_upload_t.py +119 -0
- uncountable/types/id_source.py +12 -0
- uncountable/types/id_source_t.py +68 -0
- uncountable/types/identifier.py +11 -0
- uncountable/types/identifier_t.py +63 -0
- uncountable/types/input_attributes.py +8 -0
- uncountable/types/input_attributes_t.py +30 -0
- uncountable/types/inputs.py +11 -0
- uncountable/types/inputs_t.py +83 -0
- uncountable/types/integration_server.py +9 -0
- uncountable/types/integration_server_t.py +42 -0
- uncountable/types/job_definition.py +27 -0
- uncountable/types/job_definition_t.py +260 -0
- uncountable/types/outputs.py +8 -0
- uncountable/types/outputs_t.py +30 -0
- uncountable/types/overrides.py +10 -0
- uncountable/types/overrides_t.py +49 -0
- uncountable/types/permissions.py +8 -0
- uncountable/types/permissions_t.py +46 -0
- uncountable/types/phases.py +8 -0
- uncountable/types/phases_t.py +27 -0
- uncountable/types/post_base.py +8 -0
- uncountable/types/post_base_t.py +30 -0
- uncountable/types/queued_job.py +16 -0
- uncountable/types/queued_job_t.py +123 -0
- uncountable/types/recipe_identifiers.py +12 -0
- uncountable/types/recipe_identifiers_t.py +76 -0
- uncountable/types/recipe_inputs.py +9 -0
- uncountable/types/recipe_inputs_t.py +30 -0
- uncountable/types/recipe_links.py +4 -44
- uncountable/types/recipe_links_t.py +54 -0
- uncountable/types/recipe_metadata.py +10 -0
- uncountable/types/recipe_metadata_t.py +58 -0
- uncountable/types/recipe_output_metadata.py +8 -0
- uncountable/types/recipe_output_metadata_t.py +28 -0
- uncountable/types/recipe_tags.py +8 -0
- uncountable/types/recipe_tags_t.py +27 -0
- uncountable/types/recipe_workflow_steps.py +14 -0
- uncountable/types/recipe_workflow_steps_t.py +95 -0
- uncountable/types/recipes.py +8 -0
- uncountable/types/recipes_t.py +25 -0
- uncountable/types/response.py +8 -0
- uncountable/types/response_t.py +26 -0
- uncountable/types/secret_retrieval.py +12 -0
- uncountable/types/secret_retrieval_t.py +75 -0
- uncountable/types/units.py +8 -0
- uncountable/types/units_t.py +27 -0
- uncountable/types/users.py +8 -0
- uncountable/types/users_t.py +28 -0
- uncountable/types/webhook_job.py +9 -0
- uncountable/types/webhook_job_t.py +37 -0
- uncountable/types/workflows.py +9 -0
- uncountable/types/workflows_t.py +39 -0
- UncountablePythonSDK-0.0.7.dist-info/METADATA +0 -27
- UncountablePythonSDK-0.0.7.dist-info/RECORD +0 -119
- examples/recipe-import/importer.py +0 -39
- type_spec/external/api/batch/execute_batch.yaml +0 -56
- type_spec/external/api/entity/create_entities.yaml +0 -33
- type_spec/external/api/entity/create_entity.yaml +0 -39
- type_spec/external/api/entity/get_entities_data.yaml +0 -55
- type_spec/external/api/entity/list_entities.yaml +0 -62
- type_spec/external/api/entity/resolve_entity_ids.yaml +0 -29
- type_spec/external/api/entity/set_values.yaml +0 -45
- type_spec/external/api/input_groups/get_input_group_names.yaml +0 -29
- type_spec/external/api/inputs/create_inputs.yaml +0 -61
- type_spec/external/api/inputs/get_input_data.yaml +0 -108
- type_spec/external/api/inputs/get_input_names.yaml +0 -38
- type_spec/external/api/inputs/get_inputs_data.yaml +0 -95
- type_spec/external/api/inputs/set_input_attribute_values.yaml +0 -37
- type_spec/external/api/outputs/get_output_data.yaml +0 -103
- type_spec/external/api/outputs/get_output_names.yaml +0 -35
- type_spec/external/api/outputs/resolve_output_conditions.yaml +0 -50
- type_spec/external/api/project/get_projects.yaml +0 -52
- type_spec/external/api/project/get_projects_data.yaml +0 -86
- type_spec/external/api/recipe_metadata/get_recipe_metadata_data.yaml +0 -41
- type_spec/external/api/recipes/create_recipes.yaml +0 -60
- type_spec/external/api/recipes/get_curve.yaml +0 -50
- type_spec/external/api/recipes/get_recipe_calculations.yaml +0 -49
- type_spec/external/api/recipes/get_recipe_links.yaml +0 -26
- type_spec/external/api/recipes/get_recipe_names.yaml +0 -29
- type_spec/external/api/recipes/get_recipe_output_metadata.yaml +0 -49
- type_spec/external/api/recipes/get_recipes_data.yaml +0 -372
- type_spec/external/api/recipes/set_recipe_inputs.yaml +0 -36
- type_spec/external/api/recipes/set_recipe_outputs.yaml +0 -56
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
+
# flake8: noqa: F821
|
|
3
|
+
# ruff: noqa: E402 Q003
|
|
4
|
+
# fmt: off
|
|
5
|
+
# isort: skip_file
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
import typing # noqa: F401
|
|
8
|
+
import datetime # noqa: F401
|
|
9
|
+
from decimal import Decimal # noqa: F401
|
|
10
|
+
from pkgs.strenum_compat import StrEnum
|
|
11
|
+
import dataclasses
|
|
12
|
+
from pkgs.serialization import serial_class
|
|
13
|
+
from ... import identifier_t
|
|
14
|
+
|
|
15
|
+
__all__: list[str] = [
|
|
16
|
+
"Arguments",
|
|
17
|
+
"Data",
|
|
18
|
+
"ENDPOINT_METHOD",
|
|
19
|
+
"ENDPOINT_PATH",
|
|
20
|
+
"IntermediateType",
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
ENDPOINT_METHOD = "POST"
|
|
24
|
+
ENDPOINT_PATH = "api/external/inputs/set_intermediate_type"
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
28
|
+
class IntermediateType(StrEnum):
|
|
29
|
+
FINAL_PRODUCT = "final_product"
|
|
30
|
+
COMPOUND_AS_INTERMEDIATE = "compound_as_intermediate"
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
34
|
+
@serial_class(
|
|
35
|
+
named_type_path="sdk.api.inputs.set_intermediate_type.Arguments",
|
|
36
|
+
)
|
|
37
|
+
@dataclasses.dataclass(kw_only=True)
|
|
38
|
+
class Arguments:
|
|
39
|
+
input_key: identifier_t.IdentifierKey
|
|
40
|
+
intermediate_type: IntermediateType
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
44
|
+
@serial_class(
|
|
45
|
+
named_type_path="sdk.api.inputs.set_intermediate_type.Data",
|
|
46
|
+
)
|
|
47
|
+
@dataclasses.dataclass(kw_only=True)
|
|
48
|
+
class Data:
|
|
49
|
+
pass
|
|
50
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
+
# flake8: noqa: F821
|
|
3
|
+
# ruff: noqa: E402 Q003
|
|
4
|
+
# fmt: off
|
|
5
|
+
# isort: skip_file
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
import typing # noqa: F401
|
|
8
|
+
import datetime # noqa: F401
|
|
9
|
+
from decimal import Decimal # noqa: F401
|
|
10
|
+
import dataclasses
|
|
11
|
+
from pkgs.serialization import serial_class
|
|
12
|
+
from ... import base_t
|
|
13
|
+
from ... import entity_t
|
|
14
|
+
from ... import identifier_t
|
|
15
|
+
from ... import post_base_t
|
|
16
|
+
from ... import response_t
|
|
17
|
+
|
|
18
|
+
__all__: list[str] = [
|
|
19
|
+
"Arguments",
|
|
20
|
+
"Data",
|
|
21
|
+
"ENDPOINT_METHOD",
|
|
22
|
+
"ENDPOINT_PATH",
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
ENDPOINT_METHOD = "POST"
|
|
26
|
+
ENDPOINT_PATH = "api/external/material_families/external_update_entity_material_families"
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
30
|
+
@serial_class(
|
|
31
|
+
named_type_path="sdk.api.material_families.update_entity_material_families.Arguments",
|
|
32
|
+
)
|
|
33
|
+
@dataclasses.dataclass(kw_only=True)
|
|
34
|
+
class Arguments:
|
|
35
|
+
entity_key: identifier_t.IdentifierKey
|
|
36
|
+
entity_type: typing.Union[typing.Literal[entity_t.EntityType.RECIPE_METADATA], typing.Literal[entity_t.EntityType.INGREDIENT], typing.Literal[entity_t.EntityType.OUTPUT], typing.Literal[entity_t.EntityType.CONDITION_PARAMETER], typing.Literal[entity_t.EntityType.INGREDIENT_ATTRIBUTE]]
|
|
37
|
+
material_family_ids: list[base_t.ObjectId]
|
|
38
|
+
update_type: post_base_t.UpdateType
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
42
|
+
@serial_class(
|
|
43
|
+
named_type_path="sdk.api.material_families.update_entity_material_families.Data",
|
|
44
|
+
)
|
|
45
|
+
@dataclasses.dataclass(kw_only=True)
|
|
46
|
+
class Data(response_t.Response):
|
|
47
|
+
pass
|
|
48
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
2
|
# flake8: noqa: F821
|
|
3
|
-
# ruff: noqa: E402
|
|
3
|
+
# ruff: noqa: E402 Q003
|
|
4
4
|
# fmt: off
|
|
5
5
|
# isort: skip_file
|
|
6
6
|
from __future__ import annotations
|
|
7
7
|
import typing # noqa: F401
|
|
8
8
|
import datetime # noqa: F401
|
|
9
9
|
from decimal import Decimal # noqa: F401
|
|
10
|
-
|
|
10
|
+
import dataclasses
|
|
11
11
|
from pkgs.serialization import serial_class
|
|
12
|
-
from ... import
|
|
12
|
+
from ... import base_t
|
|
13
|
+
from ... import units_t
|
|
13
14
|
|
|
14
15
|
__all__: list[str] = [
|
|
15
16
|
"Arguments",
|
|
@@ -20,7 +21,6 @@ __all__: list[str] = [
|
|
|
20
21
|
"OutputAttrVal",
|
|
21
22
|
"SimpleOutputAttr",
|
|
22
23
|
"SimpleOutputGlobalCategory",
|
|
23
|
-
"SimpleUnit",
|
|
24
24
|
]
|
|
25
25
|
|
|
26
26
|
ENDPOINT_METHOD = "GET"
|
|
@@ -28,64 +28,73 @@ ENDPOINT_PATH = "api/external/outputs/external_get_output_data"
|
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
31
|
-
@
|
|
31
|
+
@serial_class(
|
|
32
|
+
named_type_path="sdk.api.outputs.get_output_data.Arguments",
|
|
33
|
+
)
|
|
34
|
+
@dataclasses.dataclass(kw_only=True)
|
|
32
35
|
class Arguments:
|
|
33
|
-
material_family_id:
|
|
34
|
-
output_ids:
|
|
35
|
-
offset:
|
|
36
|
-
limit:
|
|
36
|
+
material_family_id: base_t.ObjectId
|
|
37
|
+
output_ids: list[base_t.ObjectId] | None = None
|
|
38
|
+
offset: int | None = None
|
|
39
|
+
limit: int | None = None
|
|
37
40
|
|
|
38
41
|
|
|
39
42
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
40
43
|
@serial_class(
|
|
44
|
+
named_type_path="sdk.api.outputs.get_output_data.OutputAttrVal",
|
|
41
45
|
unconverted_values={"quantity_json"},
|
|
42
46
|
to_string_values={"quantity_dec"},
|
|
43
47
|
)
|
|
44
|
-
@dataclass(kw_only=True)
|
|
48
|
+
@dataclasses.dataclass(kw_only=True)
|
|
45
49
|
class OutputAttrVal:
|
|
46
|
-
attribute_id:
|
|
47
|
-
quantity_dec: Decimal
|
|
50
|
+
attribute_id: base_t.ObjectId
|
|
48
51
|
quantity_json: base_t.JsonValue
|
|
52
|
+
quantity_dec: Decimal | None = None
|
|
49
53
|
|
|
50
54
|
|
|
51
55
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
52
|
-
@
|
|
56
|
+
@serial_class(
|
|
57
|
+
named_type_path="sdk.api.outputs.get_output_data.SimpleOutputAttr",
|
|
58
|
+
)
|
|
59
|
+
@dataclasses.dataclass(kw_only=True)
|
|
53
60
|
class SimpleOutputAttr:
|
|
54
|
-
attribute_id:
|
|
61
|
+
attribute_id: base_t.ObjectId
|
|
55
62
|
name: str
|
|
56
63
|
quantity_type: str
|
|
57
64
|
|
|
58
65
|
|
|
59
66
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
60
|
-
@
|
|
67
|
+
@serial_class(
|
|
68
|
+
named_type_path="sdk.api.outputs.get_output_data.SimpleOutputGlobalCategory",
|
|
69
|
+
)
|
|
70
|
+
@dataclasses.dataclass(kw_only=True)
|
|
61
71
|
class SimpleOutputGlobalCategory:
|
|
62
|
-
category_id:
|
|
63
|
-
name: str
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
# DO NOT MODIFY -- This file is generated by type_spec
|
|
67
|
-
@dataclass(kw_only=True)
|
|
68
|
-
class SimpleUnit:
|
|
69
|
-
unit_id: int
|
|
72
|
+
category_id: base_t.ObjectId
|
|
70
73
|
name: str
|
|
71
74
|
|
|
72
75
|
|
|
73
76
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
74
|
-
@
|
|
77
|
+
@serial_class(
|
|
78
|
+
named_type_path="sdk.api.outputs.get_output_data.FullOutput",
|
|
79
|
+
)
|
|
80
|
+
@dataclasses.dataclass(kw_only=True)
|
|
75
81
|
class FullOutput:
|
|
76
|
-
output_id:
|
|
82
|
+
output_id: base_t.ObjectId
|
|
77
83
|
name: str
|
|
78
84
|
quantity_type: str
|
|
79
85
|
attributes: list[OutputAttrVal]
|
|
80
|
-
global_category_id:
|
|
81
|
-
unit_id:
|
|
86
|
+
global_category_id: typing.Optional[base_t.ObjectId]
|
|
87
|
+
unit_id: typing.Optional[base_t.ObjectId]
|
|
82
88
|
|
|
83
89
|
|
|
84
90
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
85
|
-
@
|
|
91
|
+
@serial_class(
|
|
92
|
+
named_type_path="sdk.api.outputs.get_output_data.Data",
|
|
93
|
+
)
|
|
94
|
+
@dataclasses.dataclass(kw_only=True)
|
|
86
95
|
class Data:
|
|
87
96
|
outputs: list[FullOutput]
|
|
88
97
|
attrs: list[SimpleOutputAttr]
|
|
89
98
|
global_categories: list[SimpleOutputGlobalCategory]
|
|
90
|
-
units: list[SimpleUnit]
|
|
99
|
+
units: list[units_t.SimpleUnit]
|
|
91
100
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
2
|
# flake8: noqa: F821
|
|
3
|
-
# ruff: noqa: E402
|
|
3
|
+
# ruff: noqa: E402 Q003
|
|
4
4
|
# fmt: off
|
|
5
5
|
# isort: skip_file
|
|
6
6
|
from __future__ import annotations
|
|
7
7
|
import typing # noqa: F401
|
|
8
8
|
import datetime # noqa: F401
|
|
9
9
|
from decimal import Decimal # noqa: F401
|
|
10
|
-
|
|
10
|
+
import dataclasses
|
|
11
|
+
from pkgs.serialization import serial_class
|
|
12
|
+
from ... import base_t
|
|
11
13
|
|
|
12
14
|
__all__: list[str] = [
|
|
13
15
|
"Arguments",
|
|
@@ -22,22 +24,31 @@ ENDPOINT_PATH = "api/external/outputs/external_get_output_names"
|
|
|
22
24
|
|
|
23
25
|
|
|
24
26
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
25
|
-
@
|
|
27
|
+
@serial_class(
|
|
28
|
+
named_type_path="sdk.api.outputs.get_output_names.Arguments",
|
|
29
|
+
)
|
|
30
|
+
@dataclasses.dataclass(kw_only=True)
|
|
26
31
|
class Arguments:
|
|
27
|
-
material_family_id:
|
|
28
|
-
offset:
|
|
29
|
-
limit:
|
|
32
|
+
material_family_id: base_t.ObjectId
|
|
33
|
+
offset: int | None = None
|
|
34
|
+
limit: int | None = None
|
|
30
35
|
|
|
31
36
|
|
|
32
37
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
33
|
-
@
|
|
38
|
+
@serial_class(
|
|
39
|
+
named_type_path="sdk.api.outputs.get_output_names.OutputWithName",
|
|
40
|
+
)
|
|
41
|
+
@dataclasses.dataclass(kw_only=True)
|
|
34
42
|
class OutputWithName:
|
|
35
|
-
output_id:
|
|
43
|
+
output_id: base_t.ObjectId
|
|
36
44
|
name: str
|
|
37
45
|
|
|
38
46
|
|
|
39
47
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
40
|
-
@
|
|
48
|
+
@serial_class(
|
|
49
|
+
named_type_path="sdk.api.outputs.get_output_names.Data",
|
|
50
|
+
)
|
|
51
|
+
@dataclasses.dataclass(kw_only=True)
|
|
41
52
|
class Data:
|
|
42
53
|
outputs: list[OutputWithName]
|
|
43
54
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
2
|
# flake8: noqa: F821
|
|
3
|
-
# ruff: noqa: E402
|
|
3
|
+
# ruff: noqa: E402 Q003
|
|
4
4
|
# fmt: off
|
|
5
5
|
# isort: skip_file
|
|
6
6
|
from __future__ import annotations
|
|
7
7
|
import typing # noqa: F401
|
|
8
8
|
import datetime # noqa: F401
|
|
9
9
|
from decimal import Decimal # noqa: F401
|
|
10
|
-
|
|
10
|
+
import dataclasses
|
|
11
11
|
from pkgs.serialization import serial_class
|
|
12
|
-
from ... import
|
|
12
|
+
from ... import base_t
|
|
13
13
|
|
|
14
14
|
__all__: list[str] = [
|
|
15
15
|
"Arguments",
|
|
@@ -28,36 +28,49 @@ ENDPOINT_PATH = "api/external/outputs/external_resolve_output_conditions"
|
|
|
28
28
|
|
|
29
29
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
30
30
|
@serial_class(
|
|
31
|
+
named_type_path="sdk.api.outputs.resolve_output_conditions.ConditionParameterValueRecord",
|
|
31
32
|
to_string_values={"value_numeric"},
|
|
32
33
|
)
|
|
33
|
-
@dataclass(kw_only=True)
|
|
34
|
+
@dataclasses.dataclass(kw_only=True)
|
|
34
35
|
class ConditionParameterValueRecord:
|
|
35
36
|
condition_parameter_id: base_t.ObjectId
|
|
36
|
-
value_numeric:
|
|
37
|
-
value_string:
|
|
37
|
+
value_numeric: Decimal | None = None
|
|
38
|
+
value_string: str | None = None
|
|
38
39
|
|
|
39
40
|
|
|
40
41
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
41
|
-
@
|
|
42
|
+
@serial_class(
|
|
43
|
+
named_type_path="sdk.api.outputs.resolve_output_conditions.ConditionRequest",
|
|
44
|
+
)
|
|
45
|
+
@dataclasses.dataclass(kw_only=True)
|
|
42
46
|
class ConditionRequest:
|
|
43
47
|
conditions: list[ConditionParameterValueRecord]
|
|
44
48
|
|
|
45
49
|
|
|
46
50
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
47
|
-
@
|
|
51
|
+
@serial_class(
|
|
52
|
+
named_type_path="sdk.api.outputs.resolve_output_conditions.Arguments",
|
|
53
|
+
)
|
|
54
|
+
@dataclasses.dataclass(kw_only=True)
|
|
48
55
|
class Arguments:
|
|
49
56
|
requested_conditions: list[ConditionRequest]
|
|
50
57
|
|
|
51
58
|
|
|
52
59
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
53
|
-
@
|
|
60
|
+
@serial_class(
|
|
61
|
+
named_type_path="sdk.api.outputs.resolve_output_conditions.ConditionResponse",
|
|
62
|
+
)
|
|
63
|
+
@dataclasses.dataclass(kw_only=True)
|
|
54
64
|
class ConditionResponse:
|
|
55
65
|
conditions: list[ConditionParameterValueRecord]
|
|
56
66
|
output_condition_id: base_t.ObjectId
|
|
57
67
|
|
|
58
68
|
|
|
59
69
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
60
|
-
@
|
|
70
|
+
@serial_class(
|
|
71
|
+
named_type_path="sdk.api.outputs.resolve_output_conditions.Data",
|
|
72
|
+
)
|
|
73
|
+
@dataclasses.dataclass(kw_only=True)
|
|
61
74
|
class Data:
|
|
62
75
|
resolved_conditions: list[ConditionResponse]
|
|
63
76
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
|
+
# flake8: noqa: F821
|
|
3
|
+
# ruff: noqa: E402 Q003
|
|
4
|
+
# fmt: off
|
|
5
|
+
# isort: skip_file
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
import typing # noqa: F401
|
|
8
|
+
import datetime # noqa: F401
|
|
9
|
+
from decimal import Decimal # noqa: F401
|
|
10
|
+
import dataclasses
|
|
11
|
+
from pkgs.serialization import serial_class
|
|
12
|
+
from pkgs.serialization import serial_alias_annotation
|
|
13
|
+
from ... import identifier_t
|
|
14
|
+
from ... import permissions_t
|
|
15
|
+
from ... import post_base_t
|
|
16
|
+
|
|
17
|
+
__all__: list[str] = [
|
|
18
|
+
"Arguments",
|
|
19
|
+
"Data",
|
|
20
|
+
"ENDPOINT_METHOD",
|
|
21
|
+
"ENDPOINT_PATH",
|
|
22
|
+
"PermissionsScope",
|
|
23
|
+
"PermissionsScopeAllMaterialFamilies",
|
|
24
|
+
"PermissionsScopeMaterialFamily",
|
|
25
|
+
"PermissionsScopeProject",
|
|
26
|
+
"PermissionsScopeRecipe",
|
|
27
|
+
]
|
|
28
|
+
|
|
29
|
+
ENDPOINT_METHOD = "POST"
|
|
30
|
+
ENDPOINT_PATH = "api/external/permissions/external_set_core_permissions"
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
34
|
+
@serial_class(
|
|
35
|
+
named_type_path="sdk.api.permissions.set_core_permissions.PermissionsScopeProject",
|
|
36
|
+
parse_require={"type"},
|
|
37
|
+
)
|
|
38
|
+
@dataclasses.dataclass(kw_only=True)
|
|
39
|
+
class PermissionsScopeProject:
|
|
40
|
+
type: typing.Literal["project"] = "project"
|
|
41
|
+
project_key: identifier_t.IdentifierKey
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
45
|
+
@serial_class(
|
|
46
|
+
named_type_path="sdk.api.permissions.set_core_permissions.PermissionsScopeRecipe",
|
|
47
|
+
parse_require={"type"},
|
|
48
|
+
)
|
|
49
|
+
@dataclasses.dataclass(kw_only=True)
|
|
50
|
+
class PermissionsScopeRecipe:
|
|
51
|
+
type: typing.Literal["recipe"] = "recipe"
|
|
52
|
+
recipe_key: identifier_t.IdentifierKey
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
56
|
+
@serial_class(
|
|
57
|
+
named_type_path="sdk.api.permissions.set_core_permissions.PermissionsScopeMaterialFamily",
|
|
58
|
+
parse_require={"type"},
|
|
59
|
+
)
|
|
60
|
+
@dataclasses.dataclass(kw_only=True)
|
|
61
|
+
class PermissionsScopeMaterialFamily:
|
|
62
|
+
type: typing.Literal["material_family"] = "material_family"
|
|
63
|
+
material_family_key: identifier_t.IdentifierKey
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
67
|
+
@serial_class(
|
|
68
|
+
named_type_path="sdk.api.permissions.set_core_permissions.PermissionsScopeAllMaterialFamilies",
|
|
69
|
+
parse_require={"type"},
|
|
70
|
+
)
|
|
71
|
+
@dataclasses.dataclass(kw_only=True)
|
|
72
|
+
class PermissionsScopeAllMaterialFamilies:
|
|
73
|
+
type: typing.Literal["all_material_families"] = "all_material_families"
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
77
|
+
PermissionsScope = typing.Annotated[
|
|
78
|
+
typing.Union[PermissionsScopeProject, PermissionsScopeRecipe, PermissionsScopeMaterialFamily, PermissionsScopeAllMaterialFamilies],
|
|
79
|
+
serial_alias_annotation(
|
|
80
|
+
named_type_path="sdk.api.permissions.set_core_permissions.PermissionsScope",
|
|
81
|
+
),
|
|
82
|
+
]
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
86
|
+
@serial_class(
|
|
87
|
+
named_type_path="sdk.api.permissions.set_core_permissions.Arguments",
|
|
88
|
+
)
|
|
89
|
+
@dataclasses.dataclass(kw_only=True)
|
|
90
|
+
class Arguments:
|
|
91
|
+
scope: PermissionsScope
|
|
92
|
+
permissions_types: list[permissions_t.CorePermissionType]
|
|
93
|
+
update_type: post_base_t.UpdateType
|
|
94
|
+
user_group_ids: list[int] | None = None
|
|
95
|
+
user_ids: list[int] | None = None
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
99
|
+
@serial_class(
|
|
100
|
+
named_type_path="sdk.api.permissions.set_core_permissions.Data",
|
|
101
|
+
)
|
|
102
|
+
@dataclasses.dataclass(kw_only=True)
|
|
103
|
+
class Data:
|
|
104
|
+
pass
|
|
105
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
2
|
# flake8: noqa: F821
|
|
3
|
-
# ruff: noqa: E402
|
|
3
|
+
# ruff: noqa: E402 Q003
|
|
4
4
|
# fmt: off
|
|
5
5
|
# isort: skip_file
|
|
6
6
|
from __future__ import annotations
|
|
7
7
|
import typing # noqa: F401
|
|
8
8
|
import datetime # noqa: F401
|
|
9
9
|
from decimal import Decimal # noqa: F401
|
|
10
|
-
|
|
10
|
+
import dataclasses
|
|
11
|
+
from pkgs.serialization import serial_class
|
|
12
|
+
from ... import base_t
|
|
13
|
+
from ... import phases_t
|
|
11
14
|
|
|
12
15
|
__all__: list[str] = [
|
|
13
16
|
"Arguments",
|
|
14
17
|
"Data",
|
|
15
18
|
"ENDPOINT_METHOD",
|
|
16
19
|
"ENDPOINT_PATH",
|
|
17
|
-
"Phase",
|
|
18
20
|
"Project",
|
|
19
21
|
]
|
|
20
22
|
|
|
@@ -23,32 +25,34 @@ ENDPOINT_PATH = "api/external/project/external_get_projects"
|
|
|
23
25
|
|
|
24
26
|
|
|
25
27
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
26
|
-
@
|
|
28
|
+
@serial_class(
|
|
29
|
+
named_type_path="sdk.api.project.get_projects.Arguments",
|
|
30
|
+
)
|
|
31
|
+
@dataclasses.dataclass(kw_only=True)
|
|
27
32
|
class Arguments:
|
|
28
33
|
all_material_families: bool
|
|
29
|
-
material_family_id: typing.Optional[
|
|
34
|
+
material_family_id: typing.Optional[base_t.ObjectId]
|
|
30
35
|
|
|
31
36
|
|
|
32
37
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
33
|
-
@
|
|
38
|
+
@serial_class(
|
|
39
|
+
named_type_path="sdk.api.project.get_projects.Project",
|
|
40
|
+
)
|
|
41
|
+
@dataclasses.dataclass(kw_only=True)
|
|
34
42
|
class Project:
|
|
35
|
-
id:
|
|
43
|
+
id: base_t.ObjectId
|
|
36
44
|
name: str
|
|
37
|
-
material_family_id:
|
|
38
|
-
project_owner_id: typing.Optional[
|
|
39
|
-
phase_id: typing.Optional[
|
|
45
|
+
material_family_id: base_t.ObjectId
|
|
46
|
+
project_owner_id: typing.Optional[base_t.ObjectId]
|
|
47
|
+
phase_id: typing.Optional[base_t.ObjectId]
|
|
40
48
|
|
|
41
49
|
|
|
42
50
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
43
|
-
@
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
# DO NOT MODIFY -- This file is generated by type_spec
|
|
50
|
-
@dataclass(kw_only=True)
|
|
51
|
+
@serial_class(
|
|
52
|
+
named_type_path="sdk.api.project.get_projects.Data",
|
|
53
|
+
)
|
|
54
|
+
@dataclasses.dataclass(kw_only=True)
|
|
51
55
|
class Data:
|
|
52
56
|
projects: list[Project]
|
|
53
|
-
phases: list[Phase]
|
|
57
|
+
phases: list[phases_t.Phase]
|
|
54
58
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
2
2
|
# flake8: noqa: F821
|
|
3
|
-
# ruff: noqa: E402
|
|
3
|
+
# ruff: noqa: E402 Q003
|
|
4
4
|
# fmt: off
|
|
5
5
|
# isort: skip_file
|
|
6
6
|
from __future__ import annotations
|
|
7
7
|
import typing # noqa: F401
|
|
8
8
|
import datetime # noqa: F401
|
|
9
9
|
from decimal import Decimal # noqa: F401
|
|
10
|
-
|
|
10
|
+
import dataclasses
|
|
11
11
|
from pkgs.serialization import serial_class
|
|
12
|
-
from ... import
|
|
12
|
+
from ... import base_t
|
|
13
|
+
from ... import field_values_t
|
|
14
|
+
from ... import fields_t
|
|
15
|
+
from ... import phases_t
|
|
13
16
|
|
|
14
17
|
__all__: list[str] = [
|
|
15
18
|
"Arguments",
|
|
16
19
|
"Data",
|
|
17
20
|
"ENDPOINT_METHOD",
|
|
18
21
|
"ENDPOINT_PATH",
|
|
19
|
-
"Field",
|
|
20
|
-
"FieldValue",
|
|
21
|
-
"Phase",
|
|
22
22
|
"ProjectDetailed",
|
|
23
23
|
]
|
|
24
24
|
|
|
@@ -27,54 +27,37 @@ ENDPOINT_PATH = "api/external/project/external_get_projects_data"
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
30
|
-
@
|
|
30
|
+
@serial_class(
|
|
31
|
+
named_type_path="sdk.api.project.get_projects_data.Arguments",
|
|
32
|
+
)
|
|
33
|
+
@dataclasses.dataclass(kw_only=True)
|
|
31
34
|
class Arguments:
|
|
32
|
-
project_ids: list[
|
|
33
|
-
offset: typing.Optional[int]
|
|
34
|
-
limit: typing.Optional[int]
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
# DO NOT MODIFY -- This file is generated by type_spec
|
|
38
|
-
@dataclass(kw_only=True)
|
|
39
|
-
class Field:
|
|
40
|
-
id: int
|
|
41
|
-
name: str
|
|
42
|
-
value_type: str
|
|
35
|
+
project_ids: list[base_t.ObjectId]
|
|
36
|
+
offset: typing.Optional[int] | None = None
|
|
37
|
+
limit: typing.Optional[int] | None = None
|
|
43
38
|
|
|
44
39
|
|
|
45
40
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
46
41
|
@serial_class(
|
|
47
|
-
|
|
42
|
+
named_type_path="sdk.api.project.get_projects_data.ProjectDetailed",
|
|
48
43
|
)
|
|
49
|
-
@dataclass(kw_only=True)
|
|
50
|
-
class FieldValue:
|
|
51
|
-
field_id: int
|
|
52
|
-
row_index: typing.Optional[int]
|
|
53
|
-
value: base_t.JsonValue
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
# DO NOT MODIFY -- This file is generated by type_spec
|
|
57
|
-
@dataclass(kw_only=True)
|
|
44
|
+
@dataclasses.dataclass(kw_only=True)
|
|
58
45
|
class ProjectDetailed:
|
|
59
|
-
id:
|
|
46
|
+
id: base_t.ObjectId
|
|
60
47
|
name: str
|
|
61
|
-
material_family_id:
|
|
62
|
-
project_owner_id: typing.Optional[
|
|
63
|
-
phase_id: typing.Optional[
|
|
64
|
-
values: list[
|
|
48
|
+
material_family_id: base_t.ObjectId
|
|
49
|
+
project_owner_id: typing.Optional[base_t.ObjectId]
|
|
50
|
+
phase_id: typing.Optional[base_t.ObjectId]
|
|
51
|
+
values: list[field_values_t.ArgumentValueId]
|
|
65
52
|
|
|
66
53
|
|
|
67
54
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
68
|
-
@
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
# DO NOT MODIFY -- This file is generated by type_spec
|
|
75
|
-
@dataclass(kw_only=True)
|
|
55
|
+
@serial_class(
|
|
56
|
+
named_type_path="sdk.api.project.get_projects_data.Data",
|
|
57
|
+
)
|
|
58
|
+
@dataclasses.dataclass(kw_only=True)
|
|
76
59
|
class Data:
|
|
77
60
|
projects: list[ProjectDetailed]
|
|
78
|
-
phases: list[Phase]
|
|
79
|
-
fields: list[Field]
|
|
61
|
+
phases: list[phases_t.Phase]
|
|
62
|
+
fields: list[fields_t.Field]
|
|
80
63
|
# DO NOT MODIFY -- This file is generated by type_spec
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# DO NOT MODIFY -- This file is generated by type_spec
|