UncountablePythonSDK 0.0.41__py3-none-any.whl → 0.0.43__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.

Files changed (123) hide show
  1. {UncountablePythonSDK-0.0.41.dist-info → UncountablePythonSDK-0.0.43.dist-info}/METADATA +5 -1
  2. {UncountablePythonSDK-0.0.41.dist-info → UncountablePythonSDK-0.0.43.dist-info}/RECORD +122 -104
  3. docs/requirements.txt +3 -3
  4. examples/invoke_uploader.py +23 -0
  5. pkgs/argument_parser/argument_parser.py +1 -1
  6. pkgs/filesystem_utils/__init__.py +17 -0
  7. pkgs/filesystem_utils/_gdrive_session.py +306 -0
  8. pkgs/filesystem_utils/_local_session.py +69 -0
  9. pkgs/filesystem_utils/_sftp_session.py +147 -0
  10. pkgs/filesystem_utils/file_type_utils.py +61 -0
  11. pkgs/filesystem_utils/filesystem_session.py +39 -0
  12. pkgs/type_spec/emit_open_api.py +4 -2
  13. pkgs/type_spec/emit_open_api_util.py +4 -2
  14. pkgs/type_spec/emit_python.py +13 -14
  15. uncountable/core/file_upload.py +13 -3
  16. uncountable/integration/construct_client.py +1 -1
  17. uncountable/integration/cron.py +9 -6
  18. uncountable/integration/entrypoint.py +1 -1
  19. uncountable/integration/executors/executors.py +24 -0
  20. uncountable/integration/executors/generic_upload_executor.py +244 -0
  21. uncountable/integration/executors/script_executor.py +1 -1
  22. uncountable/integration/job.py +18 -1
  23. uncountable/integration/secret_retrieval/__init__.py +3 -0
  24. uncountable/integration/secret_retrieval/retrieve_secret.py +40 -0
  25. uncountable/integration/server.py +1 -1
  26. uncountable/types/__init__.py +8 -0
  27. uncountable/types/api/batch/execute_batch.py +5 -5
  28. uncountable/types/api/batch/execute_batch_load_async.py +3 -3
  29. uncountable/types/api/chemical/convert_chemical_formats.py +4 -4
  30. uncountable/types/api/entity/create_entities.py +4 -4
  31. uncountable/types/api/entity/create_entity.py +4 -4
  32. uncountable/types/api/entity/get_entities_data.py +4 -4
  33. uncountable/types/api/entity/list_entities.py +5 -5
  34. uncountable/types/api/entity/lock_entity.py +3 -3
  35. uncountable/types/api/entity/resolve_entity_ids.py +4 -4
  36. uncountable/types/api/entity/set_values.py +3 -3
  37. uncountable/types/api/entity/transition_entity_phase.py +5 -5
  38. uncountable/types/api/entity/unlock_entity.py +3 -3
  39. uncountable/types/api/equipment/associate_equipment_input.py +3 -3
  40. uncountable/types/api/field_options/upsert_field_options.py +4 -4
  41. uncountable/types/api/id_source/list_id_source.py +4 -4
  42. uncountable/types/api/id_source/match_id_source.py +4 -4
  43. uncountable/types/api/input_groups/get_input_group_names.py +4 -4
  44. uncountable/types/api/inputs/create_inputs.py +5 -5
  45. uncountable/types/api/inputs/get_input_data.py +7 -7
  46. uncountable/types/api/inputs/get_input_names.py +4 -4
  47. uncountable/types/api/inputs/get_inputs_data.py +7 -7
  48. uncountable/types/api/inputs/set_input_attribute_values.py +4 -4
  49. uncountable/types/api/inputs/set_input_category.py +3 -3
  50. uncountable/types/api/inputs/set_input_subcategories.py +3 -3
  51. uncountable/types/api/inputs/set_intermediate_type.py +3 -3
  52. uncountable/types/api/material_families/update_entity_material_families.py +3 -3
  53. uncountable/types/api/outputs/get_output_data.py +7 -7
  54. uncountable/types/api/outputs/get_output_names.py +4 -4
  55. uncountable/types/api/outputs/resolve_output_conditions.py +6 -6
  56. uncountable/types/api/permissions/set_core_permissions.py +7 -7
  57. uncountable/types/api/project/get_projects.py +4 -4
  58. uncountable/types/api/project/get_projects_data.py +4 -4
  59. uncountable/types/api/recipe_links/create_recipe_link.py +3 -3
  60. uncountable/types/api/recipe_links/remove_recipe_link.py +3 -3
  61. uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +4 -4
  62. uncountable/types/api/recipes/add_recipe_to_project.py +3 -3
  63. uncountable/types/api/recipes/archive_recipes.py +3 -3
  64. uncountable/types/api/recipes/associate_recipe_as_input.py +3 -3
  65. uncountable/types/api/recipes/associate_recipe_as_lot.py +3 -3
  66. uncountable/types/api/recipes/create_recipe.py +3 -3
  67. uncountable/types/api/recipes/create_recipes.py +5 -5
  68. uncountable/types/api/recipes/disassociate_recipe_as_input.py +3 -3
  69. uncountable/types/api/recipes/edit_recipe_inputs.py +12 -12
  70. uncountable/types/api/recipes/get_curve.py +3 -3
  71. uncountable/types/api/recipes/get_recipe_calculations.py +4 -4
  72. uncountable/types/api/recipes/get_recipe_links.py +3 -3
  73. uncountable/types/api/recipes/get_recipe_names.py +4 -4
  74. uncountable/types/api/recipes/get_recipe_output_metadata.py +4 -4
  75. uncountable/types/api/recipes/get_recipes_data.py +12 -12
  76. uncountable/types/api/recipes/lock_recipes.py +4 -4
  77. uncountable/types/api/recipes/remove_recipe_from_project.py +3 -3
  78. uncountable/types/api/recipes/set_recipe_inputs.py +4 -4
  79. uncountable/types/api/recipes/set_recipe_metadata.py +3 -3
  80. uncountable/types/api/recipes/set_recipe_output_annotations.py +7 -7
  81. uncountable/types/api/recipes/set_recipe_outputs.py +5 -5
  82. uncountable/types/api/recipes/set_recipe_tags.py +7 -7
  83. uncountable/types/api/recipes/unarchive_recipes.py +3 -3
  84. uncountable/types/api/recipes/unlock_recipes.py +3 -3
  85. uncountable/types/api/triggers/run_trigger.py +3 -3
  86. uncountable/types/api/uploader/__init__.py +1 -0
  87. uncountable/types/api/uploader/invoke_uploader.py +38 -0
  88. uncountable/types/async_batch_processor.py +36 -0
  89. uncountable/types/async_batch_t.py +6 -4
  90. uncountable/types/calculations_t.py +2 -2
  91. uncountable/types/chemical_structure_t.py +2 -2
  92. uncountable/types/client_base.py +25 -2
  93. uncountable/types/curves_t.py +3 -3
  94. uncountable/types/entity_t.py +2 -2
  95. uncountable/types/experiment_groups_t.py +2 -2
  96. uncountable/types/field_values_t.py +5 -5
  97. uncountable/types/fields_t.py +2 -2
  98. uncountable/types/generic_upload.py +9 -0
  99. uncountable/types/generic_upload_t.py +41 -0
  100. uncountable/types/id_source_t.py +5 -5
  101. uncountable/types/identifier_t.py +4 -4
  102. uncountable/types/input_attributes_t.py +2 -2
  103. uncountable/types/inputs_t.py +2 -2
  104. uncountable/types/job_definition.py +26 -0
  105. uncountable/types/job_definition_t.py +203 -0
  106. uncountable/types/outputs_t.py +2 -2
  107. uncountable/types/phases_t.py +2 -2
  108. uncountable/types/recipe_identifiers_t.py +4 -4
  109. uncountable/types/recipe_links_t.py +2 -2
  110. uncountable/types/recipe_metadata_t.py +4 -4
  111. uncountable/types/recipe_output_metadata_t.py +2 -2
  112. uncountable/types/recipe_tags_t.py +2 -2
  113. uncountable/types/recipe_workflow_steps_t.py +5 -5
  114. uncountable/types/recipes_t.py +2 -2
  115. uncountable/types/response_t.py +2 -2
  116. uncountable/types/secret_retrieval.py +12 -0
  117. uncountable/types/secret_retrieval_t.py +69 -0
  118. uncountable/types/units_t.py +2 -2
  119. uncountable/types/users_t.py +2 -2
  120. uncountable/types/workflows_t.py +3 -3
  121. uncountable/integration/types.py +0 -89
  122. {UncountablePythonSDK-0.0.41.dist-info → UncountablePythonSDK-0.0.43.dist-info}/WHEEL +0 -0
  123. {UncountablePythonSDK-0.0.41.dist-info → UncountablePythonSDK-0.0.43.dist-info}/top_level.txt +0 -0
@@ -7,7 +7,7 @@ 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
- from dataclasses import dataclass
10
+ import dataclasses
11
11
  from pkgs.serialization import serial_class
12
12
  from ... import base_t
13
13
 
@@ -25,13 +25,13 @@ ENDPOINT_PATH = "api/external/chemical/convert_chemical_formats"
25
25
 
26
26
 
27
27
  # DO NOT MODIFY -- This file is generated by type_spec
28
- @dataclass(kw_only=True)
28
+ @dataclasses.dataclass(kw_only=True)
29
29
  class ChemicalStructureFile:
30
30
  struct_file: str
31
31
 
32
32
 
33
33
  # DO NOT MODIFY -- This file is generated by type_spec
34
- @dataclass(kw_only=True)
34
+ @dataclasses.dataclass(kw_only=True)
35
35
  class Arguments:
36
36
  source_chemical_structures: list[ChemicalStructureFile]
37
37
 
@@ -44,7 +44,7 @@ UncountableChemicalStructure = dict[str, base_t.JsonValue]
44
44
  @serial_class(
45
45
  unconverted_values={"chemical_structures"},
46
46
  )
47
- @dataclass(kw_only=True)
47
+ @dataclasses.dataclass(kw_only=True)
48
48
  class Data:
49
49
  chemical_structures: list[UncountableChemicalStructure]
50
50
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -7,7 +7,7 @@ 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
- from dataclasses import dataclass
10
+ import dataclasses
11
11
  from ... import base_t
12
12
  from ... import entity_t
13
13
  from ... import field_values_t
@@ -25,13 +25,13 @@ ENDPOINT_PATH = "api/external/entity/external_create_entities"
25
25
 
26
26
 
27
27
  # DO NOT MODIFY -- This file is generated by type_spec
28
- @dataclass(kw_only=True)
28
+ @dataclasses.dataclass(kw_only=True)
29
29
  class EntityToCreate:
30
30
  field_values: typing.Optional[typing.Optional[list[field_values_t.FieldRefNameValue]]] = None
31
31
 
32
32
 
33
33
  # DO NOT MODIFY -- This file is generated by type_spec
34
- @dataclass(kw_only=True)
34
+ @dataclasses.dataclass(kw_only=True)
35
35
  class Arguments:
36
36
  definition_id: base_t.ObjectId
37
37
  entity_type: typing.Union[typing.Literal[entity_t.EntityType.LAB_REQUEST], typing.Literal[entity_t.EntityType.APPROVAL], typing.Literal[entity_t.EntityType.CUSTOM_ENTITY], typing.Literal[entity_t.EntityType.INVENTORY_AMOUNT], typing.Literal[entity_t.EntityType.TASK], typing.Literal[entity_t.EntityType.PROJECT], typing.Literal[entity_t.EntityType.EQUIPMENT], typing.Literal[entity_t.EntityType.INV_LOCAL_LOCATIONS], typing.Literal[entity_t.EntityType.FIELD_OPTION_SET], typing.Literal[entity_t.EntityType.WEBHOOK]]
@@ -39,7 +39,7 @@ class Arguments:
39
39
 
40
40
 
41
41
  # DO NOT MODIFY -- This file is generated by type_spec
42
- @dataclass(kw_only=True)
42
+ @dataclasses.dataclass(kw_only=True)
43
43
  class Data:
44
44
  entities: list[entity_t.Entity]
45
45
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -7,7 +7,7 @@ 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
- from dataclasses import dataclass
10
+ import dataclasses
11
11
  from pkgs.serialization import serial_class
12
12
  from ... import base_t
13
13
  from ... import entity_t
@@ -29,7 +29,7 @@ ENDPOINT_PATH = "api/external/entity/external_create_entity"
29
29
  @serial_class(
30
30
  unconverted_values={"value"},
31
31
  )
32
- @dataclass(kw_only=True)
32
+ @dataclasses.dataclass(kw_only=True)
33
33
  class EntityFieldInitialValue:
34
34
  field_ref_name: str
35
35
  value: base_t.JsonValue
@@ -37,7 +37,7 @@ class EntityFieldInitialValue:
37
37
 
38
38
 
39
39
  # DO NOT MODIFY -- This file is generated by type_spec
40
- @dataclass(kw_only=True)
40
+ @dataclasses.dataclass(kw_only=True)
41
41
  class Arguments:
42
42
  definition_id: base_t.ObjectId
43
43
  entity_type: typing.Union[typing.Literal[entity_t.EntityType.LAB_REQUEST], typing.Literal[entity_t.EntityType.APPROVAL], typing.Literal[entity_t.EntityType.CUSTOM_ENTITY], typing.Literal[entity_t.EntityType.INVENTORY_AMOUNT], typing.Literal[entity_t.EntityType.TASK], typing.Literal[entity_t.EntityType.PROJECT], typing.Literal[entity_t.EntityType.EQUIPMENT], typing.Literal[entity_t.EntityType.INV_LOCAL_LOCATIONS], typing.Literal[entity_t.EntityType.FIELD_OPTION_SET], typing.Literal[entity_t.EntityType.WEBHOOK]]
@@ -45,7 +45,7 @@ class Arguments:
45
45
 
46
46
 
47
47
  # DO NOT MODIFY -- This file is generated by type_spec
48
- @dataclass(kw_only=True)
48
+ @dataclasses.dataclass(kw_only=True)
49
49
  class Data:
50
50
  entity: entity_t.Entity
51
51
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -7,7 +7,7 @@ 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
- from dataclasses import dataclass
10
+ import dataclasses
11
11
  from ... import base_t
12
12
  from ... import entity_t
13
13
  from ... import field_values_t
@@ -25,21 +25,21 @@ ENDPOINT_PATH = "api/external/entity/external_get_entities_data"
25
25
 
26
26
 
27
27
  # DO NOT MODIFY -- This file is generated by type_spec
28
- @dataclass(kw_only=True)
28
+ @dataclasses.dataclass(kw_only=True)
29
29
  class Arguments:
30
30
  entity_ids: list[base_t.ObjectId]
31
31
  entity_type: entity_t.EntityType
32
32
 
33
33
 
34
34
  # DO NOT MODIFY -- This file is generated by type_spec
35
- @dataclass(kw_only=True)
35
+ @dataclasses.dataclass(kw_only=True)
36
36
  class EntityDetails:
37
37
  entity: entity_t.Entity
38
38
  field_values: list[field_values_t.FieldRefIdNameValue]
39
39
 
40
40
 
41
41
  # DO NOT MODIFY -- This file is generated by type_spec
42
- @dataclass(kw_only=True)
42
+ @dataclasses.dataclass(kw_only=True)
43
43
  class Data:
44
44
  entity_details: list[EntityDetails]
45
45
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -7,7 +7,7 @@ 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
- from dataclasses import dataclass
10
+ import dataclasses
11
11
  from pkgs.serialization import serial_class
12
12
  from pkgs.serialization import OpaqueKey
13
13
  from ... import base_t
@@ -30,7 +30,7 @@ ENDPOINT_PATH = "api/external/entity/external_list_entities"
30
30
  @serial_class(
31
31
  unconverted_values={"attributes"},
32
32
  )
33
- @dataclass(kw_only=True)
33
+ @dataclasses.dataclass(kw_only=True)
34
34
  class Arguments:
35
35
  config_reference: str
36
36
  entity_type: typing.Optional[entity_t.EntityType] = None
@@ -43,21 +43,21 @@ class Arguments:
43
43
  @serial_class(
44
44
  unconverted_values={"column_values"},
45
45
  )
46
- @dataclass(kw_only=True)
46
+ @dataclasses.dataclass(kw_only=True)
47
47
  class EntityResult:
48
48
  entity: entity_t.Entity
49
49
  column_values: list[base_t.JsonValue]
50
50
 
51
51
 
52
52
  # DO NOT MODIFY -- This file is generated by type_spec
53
- @dataclass(kw_only=True)
53
+ @dataclasses.dataclass(kw_only=True)
54
54
  class ColumnAccess:
55
55
  name: str
56
56
  table_label: typing.Optional[str]
57
57
 
58
58
 
59
59
  # DO NOT MODIFY -- This file is generated by type_spec
60
- @dataclass(kw_only=True)
60
+ @dataclasses.dataclass(kw_only=True)
61
61
  class Data:
62
62
  columns: list[ColumnAccess]
63
63
  results: list[EntityResult]
@@ -7,7 +7,7 @@ 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
- from dataclasses import dataclass
10
+ import dataclasses
11
11
  from ... import async_batch_t
12
12
  from ... import entity_t
13
13
  from ... import identifier_t
@@ -24,7 +24,7 @@ ENDPOINT_PATH = "api/external/entity/external_lock_entity"
24
24
 
25
25
 
26
26
  # DO NOT MODIFY -- This file is generated by type_spec
27
- @dataclass(kw_only=True)
27
+ @dataclasses.dataclass(kw_only=True)
28
28
  class Arguments:
29
29
  entity_key: identifier_t.IdentifierKey
30
30
  entity_type: entity_t.EntityType
@@ -32,7 +32,7 @@ class Arguments:
32
32
 
33
33
 
34
34
  # DO NOT MODIFY -- This file is generated by type_spec
35
- @dataclass(kw_only=True)
35
+ @dataclasses.dataclass(kw_only=True)
36
36
  class Data(async_batch_t.AsyncBatchActionReturn):
37
37
  pass
38
38
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -7,7 +7,7 @@ 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
- from dataclasses import dataclass
10
+ import dataclasses
11
11
  from ... import base_t
12
12
  from ... import entity_t
13
13
 
@@ -24,21 +24,21 @@ ENDPOINT_PATH = "api/external/entity/external_resolve_entity_ids"
24
24
 
25
25
 
26
26
  # DO NOT MODIFY -- This file is generated by type_spec
27
- @dataclass(kw_only=True)
27
+ @dataclasses.dataclass(kw_only=True)
28
28
  class Arguments:
29
29
  entity_ids: list[typing.Union[str, base_t.ObjectId]]
30
30
  entity_type: entity_t.EntityType
31
31
 
32
32
 
33
33
  # DO NOT MODIFY -- This file is generated by type_spec
34
- @dataclass(kw_only=True)
34
+ @dataclasses.dataclass(kw_only=True)
35
35
  class EntityNames:
36
36
  id: typing.Union[str, int]
37
37
  name: str
38
38
 
39
39
 
40
40
  # DO NOT MODIFY -- This file is generated by type_spec
41
- @dataclass(kw_only=True)
41
+ @dataclasses.dataclass(kw_only=True)
42
42
  class Data:
43
43
  items: list[EntityNames]
44
44
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -7,7 +7,7 @@ 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
- from dataclasses import dataclass
10
+ import dataclasses
11
11
  from ... import entity_t
12
12
  from ... import field_values_t
13
13
  from ... import response_t
@@ -24,14 +24,14 @@ ENDPOINT_PATH = "api/external/entity/external_set_values"
24
24
 
25
25
 
26
26
  # DO NOT MODIFY -- This file is generated by type_spec
27
- @dataclass(kw_only=True)
27
+ @dataclasses.dataclass(kw_only=True)
28
28
  class Arguments:
29
29
  entity: entity_t.Entity
30
30
  values: list[field_values_t.ArgumentValueRefName]
31
31
 
32
32
 
33
33
  # DO NOT MODIFY -- This file is generated by type_spec
34
- @dataclass(kw_only=True)
34
+ @dataclasses.dataclass(kw_only=True)
35
35
  class Data(response_t.Response):
36
36
  pass
37
37
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -7,7 +7,7 @@ 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
- from dataclasses import dataclass
10
+ import dataclasses
11
11
  from pkgs.serialization import serial_class
12
12
  from ... import entity_t
13
13
  from ... import identifier_t
@@ -31,7 +31,7 @@ ENDPOINT_PATH = "api/external/entity/transition_entity_phase"
31
31
  @serial_class(
32
32
  parse_require={"type"},
33
33
  )
34
- @dataclass(kw_only=True)
34
+ @dataclasses.dataclass(kw_only=True)
35
35
  class TransitionIdentifierPhases:
36
36
  type: typing.Literal["phases"] = "phases"
37
37
  phase_from_key: identifier_t.IdentifierKey
@@ -42,7 +42,7 @@ class TransitionIdentifierPhases:
42
42
  @serial_class(
43
43
  parse_require={"type"},
44
44
  )
45
- @dataclass(kw_only=True)
45
+ @dataclasses.dataclass(kw_only=True)
46
46
  class TransitionIdentifierTransition:
47
47
  type: typing.Literal["transition"] = "transition"
48
48
  transition_key: identifier_t.IdentifierKey
@@ -53,14 +53,14 @@ TransitionIdentifier = typing.Union[TransitionIdentifierPhases, TransitionIdenti
53
53
 
54
54
 
55
55
  # DO NOT MODIFY -- This file is generated by type_spec
56
- @dataclass(kw_only=True)
56
+ @dataclasses.dataclass(kw_only=True)
57
57
  class Arguments:
58
58
  entity: entity_t.Entity
59
59
  transition: TransitionIdentifier
60
60
 
61
61
 
62
62
  # DO NOT MODIFY -- This file is generated by type_spec
63
- @dataclass(kw_only=True)
63
+ @dataclasses.dataclass(kw_only=True)
64
64
  class Data(response_t.Response):
65
65
  pass
66
66
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -7,7 +7,7 @@ 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
- from dataclasses import dataclass
10
+ import dataclasses
11
11
  from ... import async_batch_t
12
12
  from ... import entity_t
13
13
  from ... import identifier_t
@@ -24,14 +24,14 @@ ENDPOINT_PATH = "api/external/entity/external_unlock_entity"
24
24
 
25
25
 
26
26
  # DO NOT MODIFY -- This file is generated by type_spec
27
- @dataclass(kw_only=True)
27
+ @dataclasses.dataclass(kw_only=True)
28
28
  class Arguments:
29
29
  entity_key: identifier_t.IdentifierKey
30
30
  entity_type: entity_t.EntityType
31
31
 
32
32
 
33
33
  # DO NOT MODIFY -- This file is generated by type_spec
34
- @dataclass(kw_only=True)
34
+ @dataclasses.dataclass(kw_only=True)
35
35
  class Data(async_batch_t.AsyncBatchActionReturn):
36
36
  pass
37
37
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -7,7 +7,7 @@ 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
- from dataclasses import dataclass
10
+ import dataclasses
11
11
  from ... import async_batch_t
12
12
  from ... import base_t
13
13
  from ... import identifier_t
@@ -24,14 +24,14 @@ ENDPOINT_PATH = "api/external/equipment/associate_equipment_input"
24
24
 
25
25
 
26
26
  # DO NOT MODIFY -- This file is generated by type_spec
27
- @dataclass(kw_only=True)
27
+ @dataclasses.dataclass(kw_only=True)
28
28
  class Arguments:
29
29
  equipment_key: identifier_t.IdentifierKey
30
30
  material_family_ids: list[base_t.ObjectId]
31
31
 
32
32
 
33
33
  # DO NOT MODIFY -- This file is generated by type_spec
34
- @dataclass(kw_only=True)
34
+ @dataclasses.dataclass(kw_only=True)
35
35
  class Data(async_batch_t.AsyncBatchActionReturn):
36
36
  pass
37
37
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -7,7 +7,7 @@ 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
- from dataclasses import dataclass
10
+ import dataclasses
11
11
  from ... import identifier_t
12
12
 
13
13
  __all__: list[str] = [
@@ -23,7 +23,7 @@ ENDPOINT_PATH = "api/external/field_options/upsert_field_options"
23
23
 
24
24
 
25
25
  # DO NOT MODIFY -- This file is generated by type_spec
26
- @dataclass(kw_only=True)
26
+ @dataclasses.dataclass(kw_only=True)
27
27
  class FieldOption:
28
28
  option_id: str
29
29
  option_value: typing.Optional[str] = None
@@ -32,14 +32,14 @@ class FieldOption:
32
32
 
33
33
 
34
34
  # DO NOT MODIFY -- This file is generated by type_spec
35
- @dataclass(kw_only=True)
35
+ @dataclasses.dataclass(kw_only=True)
36
36
  class Arguments:
37
37
  option_set_key: identifier_t.IdentifierKey
38
38
  field_options: list[FieldOption]
39
39
 
40
40
 
41
41
  # DO NOT MODIFY -- This file is generated by type_spec
42
- @dataclass(kw_only=True)
42
+ @dataclasses.dataclass(kw_only=True)
43
43
  class Data:
44
44
  pass
45
45
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -7,7 +7,7 @@ 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
- from dataclasses import dataclass
10
+ import dataclasses
11
11
  from ... import base_t
12
12
  from ... import id_source_t
13
13
 
@@ -24,7 +24,7 @@ ENDPOINT_PATH = "api/external/id_source/list_id_source"
24
24
 
25
25
 
26
26
  # DO NOT MODIFY -- This file is generated by type_spec
27
- @dataclass(kw_only=True)
27
+ @dataclasses.dataclass(kw_only=True)
28
28
  class Arguments:
29
29
  spec: id_source_t.IdSourceSpec
30
30
  search_label: str
@@ -33,14 +33,14 @@ class Arguments:
33
33
 
34
34
 
35
35
  # DO NOT MODIFY -- This file is generated by type_spec
36
- @dataclass(kw_only=True)
36
+ @dataclasses.dataclass(kw_only=True)
37
37
  class IdName:
38
38
  id: typing.Union[base_t.ObjectId, str]
39
39
  name: str
40
40
 
41
41
 
42
42
  # DO NOT MODIFY -- This file is generated by type_spec
43
- @dataclass(kw_only=True)
43
+ @dataclasses.dataclass(kw_only=True)
44
44
  class Data:
45
45
  results: list[IdName]
46
46
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -7,7 +7,7 @@ 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
- from dataclasses import dataclass
10
+ import dataclasses
11
11
  from ... import base_t
12
12
  from ... import id_source_t
13
13
 
@@ -24,21 +24,21 @@ ENDPOINT_PATH = "api/external/id_source/match_id_source"
24
24
 
25
25
 
26
26
  # DO NOT MODIFY -- This file is generated by type_spec
27
- @dataclass(kw_only=True)
27
+ @dataclasses.dataclass(kw_only=True)
28
28
  class Arguments:
29
29
  spec: id_source_t.IdSourceSpec
30
30
  names: list[str]
31
31
 
32
32
 
33
33
  # DO NOT MODIFY -- This file is generated by type_spec
34
- @dataclass(kw_only=True)
34
+ @dataclasses.dataclass(kw_only=True)
35
35
  class Match:
36
36
  name: str
37
37
  ids: list[typing.Union[base_t.ObjectId, str]]
38
38
 
39
39
 
40
40
  # DO NOT MODIFY -- This file is generated by type_spec
41
- @dataclass(kw_only=True)
41
+ @dataclasses.dataclass(kw_only=True)
42
42
  class Data:
43
43
  results: list[Match]
44
44
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -7,7 +7,7 @@ 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
- from dataclasses import dataclass
10
+ import dataclasses
11
11
  from ... import base_t
12
12
 
13
13
  __all__: list[str] = [
@@ -23,20 +23,20 @@ ENDPOINT_PATH = "api/external/input_groups/external_get_input_group_names"
23
23
 
24
24
 
25
25
  # DO NOT MODIFY -- This file is generated by type_spec
26
- @dataclass(kw_only=True)
26
+ @dataclasses.dataclass(kw_only=True)
27
27
  class Arguments:
28
28
  material_family_id: base_t.ObjectId
29
29
 
30
30
 
31
31
  # DO NOT MODIFY -- This file is generated by type_spec
32
- @dataclass(kw_only=True)
32
+ @dataclasses.dataclass(kw_only=True)
33
33
  class SimpleInputGroup:
34
34
  input_group_id: base_t.ObjectId
35
35
  name: str
36
36
 
37
37
 
38
38
  # DO NOT MODIFY -- This file is generated by type_spec
39
- @dataclass(kw_only=True)
39
+ @dataclasses.dataclass(kw_only=True)
40
40
  class Data:
41
41
  input_groups: list[SimpleInputGroup]
42
42
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -7,7 +7,7 @@ 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
- from dataclasses import dataclass
10
+ import dataclasses
11
11
  from ... import base_t
12
12
  from ... import input_attributes_t
13
13
  from ... import inputs_t
@@ -26,13 +26,13 @@ ENDPOINT_PATH = "api/external/inputs/external_create_inputs"
26
26
 
27
27
 
28
28
  # DO NOT MODIFY -- This file is generated by type_spec
29
- @dataclass(kw_only=True)
29
+ @dataclasses.dataclass(kw_only=True)
30
30
  class Arguments:
31
31
  inputs_to_create: list[InputToCreate]
32
32
 
33
33
 
34
34
  # DO NOT MODIFY -- This file is generated by type_spec
35
- @dataclass(kw_only=True)
35
+ @dataclasses.dataclass(kw_only=True)
36
36
  class InputToCreate:
37
37
  name: str
38
38
  material_family_ids: list[base_t.ObjectId]
@@ -43,13 +43,13 @@ class InputToCreate:
43
43
 
44
44
 
45
45
  # DO NOT MODIFY -- This file is generated by type_spec
46
- @dataclass(kw_only=True)
46
+ @dataclasses.dataclass(kw_only=True)
47
47
  class InputSimple:
48
48
  input_id: base_t.ObjectId
49
49
 
50
50
 
51
51
  # DO NOT MODIFY -- This file is generated by type_spec
52
- @dataclass(kw_only=True)
52
+ @dataclasses.dataclass(kw_only=True)
53
53
  class Data:
54
54
  inputs: list[InputSimple]
55
55
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -7,7 +7,7 @@ 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
- from dataclasses import dataclass
10
+ import dataclasses
11
11
  from ... import base_t
12
12
  from ... import input_attributes_t
13
13
 
@@ -27,7 +27,7 @@ ENDPOINT_PATH = "api/external/inputs/external_get_input_data"
27
27
 
28
28
 
29
29
  # DO NOT MODIFY -- This file is generated by type_spec
30
- @dataclass(kw_only=True)
30
+ @dataclasses.dataclass(kw_only=True)
31
31
  class Arguments:
32
32
  material_family_id: base_t.ObjectId
33
33
  input_ids: typing.Optional[list[base_t.ObjectId]]
@@ -37,7 +37,7 @@ class Arguments:
37
37
 
38
38
 
39
39
  # DO NOT MODIFY -- This file is generated by type_spec
40
- @dataclass(kw_only=True)
40
+ @dataclasses.dataclass(kw_only=True)
41
41
  class SimpleInputAttr:
42
42
  attribute_id: base_t.ObjectId
43
43
  name: str
@@ -45,21 +45,21 @@ class SimpleInputAttr:
45
45
 
46
46
 
47
47
  # DO NOT MODIFY -- This file is generated by type_spec
48
- @dataclass(kw_only=True)
48
+ @dataclasses.dataclass(kw_only=True)
49
49
  class SimpleInputGlobalCategory:
50
50
  category_id: base_t.ObjectId
51
51
  name: str
52
52
 
53
53
 
54
54
  # DO NOT MODIFY -- This file is generated by type_spec
55
- @dataclass(kw_only=True)
55
+ @dataclasses.dataclass(kw_only=True)
56
56
  class SimpleInputSubcategory:
57
57
  subcategory_id: base_t.ObjectId
58
58
  name: str
59
59
 
60
60
 
61
61
  # DO NOT MODIFY -- This file is generated by type_spec
62
- @dataclass(kw_only=True)
62
+ @dataclasses.dataclass(kw_only=True)
63
63
  class FullInput:
64
64
  input_id: base_t.ObjectId
65
65
  name: str
@@ -71,7 +71,7 @@ class FullInput:
71
71
 
72
72
 
73
73
  # DO NOT MODIFY -- This file is generated by type_spec
74
- @dataclass(kw_only=True)
74
+ @dataclasses.dataclass(kw_only=True)
75
75
  class Data:
76
76
  inputs: list[FullInput]
77
77
  attrs: list[SimpleInputAttr]
@@ -7,7 +7,7 @@ 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
- from dataclasses import dataclass
10
+ import dataclasses
11
11
  from ... import base_t
12
12
 
13
13
  __all__: list[str] = [
@@ -23,7 +23,7 @@ ENDPOINT_PATH = "api/external/inputs/external_get_input_names"
23
23
 
24
24
 
25
25
  # DO NOT MODIFY -- This file is generated by type_spec
26
- @dataclass(kw_only=True)
26
+ @dataclasses.dataclass(kw_only=True)
27
27
  class Arguments:
28
28
  material_family_id: base_t.ObjectId
29
29
  is_parameter: typing.Optional[bool]
@@ -32,14 +32,14 @@ class Arguments:
32
32
 
33
33
 
34
34
  # DO NOT MODIFY -- This file is generated by type_spec
35
- @dataclass(kw_only=True)
35
+ @dataclasses.dataclass(kw_only=True)
36
36
  class InputWithName:
37
37
  input_id: base_t.ObjectId
38
38
  name: str
39
39
 
40
40
 
41
41
  # DO NOT MODIFY -- This file is generated by type_spec
42
- @dataclass(kw_only=True)
42
+ @dataclasses.dataclass(kw_only=True)
43
43
  class Data:
44
44
  inputs: list[InputWithName]
45
45
  # DO NOT MODIFY -- This file is generated by type_spec