UncountablePythonSDK 0.0.7__py3-none-any.whl → 0.0.9__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 (95) hide show
  1. {UncountablePythonSDK-0.0.7.dist-info → UncountablePythonSDK-0.0.9.dist-info}/METADATA +4 -2
  2. UncountablePythonSDK-0.0.9.dist-info/RECORD +145 -0
  3. pkgs/argument_parser/argument_parser.py +2 -2
  4. pkgs/serialization/missing_sentry.py +1 -1
  5. pkgs/serialization_util/serialization_helpers.py +3 -0
  6. pkgs/type_spec/emit_open_api.py +34 -17
  7. pkgs/type_spec/emit_open_api_util.py +4 -9
  8. pkgs/type_spec/emit_python.py +8 -5
  9. pkgs/type_spec/open_api_util.py +13 -12
  10. type_spec/external/api/entity/create_entities.yaml +1 -1
  11. type_spec/external/api/entity/create_entity.yaml +1 -1
  12. type_spec/external/api/entity/get_entities_data.yaml +4 -30
  13. type_spec/external/api/entity/list_entities.yaml +4 -14
  14. type_spec/external/api/entity/resolve_entity_ids.yaml +2 -2
  15. type_spec/external/api/entity/set_values.yaml +3 -30
  16. type_spec/external/api/input_groups/get_input_group_names.yaml +2 -2
  17. type_spec/external/api/inputs/create_inputs.yaml +6 -19
  18. type_spec/external/api/inputs/get_input_data.yaml +11 -24
  19. type_spec/external/api/inputs/get_input_names.yaml +4 -4
  20. type_spec/external/api/inputs/get_inputs_data.yaml +7 -20
  21. type_spec/external/api/inputs/set_input_attribute_values.yaml +3 -7
  22. type_spec/external/api/outputs/get_output_data.yaml +9 -20
  23. type_spec/external/api/outputs/get_output_names.yaml +2 -2
  24. type_spec/external/api/project/get_projects.yaml +6 -16
  25. type_spec/external/api/project/get_projects_data.yaml +10 -46
  26. type_spec/external/api/recipe_metadata/get_recipe_metadata_data.yaml +5 -5
  27. type_spec/external/api/recipes/create_recipes.yaml +5 -18
  28. type_spec/external/api/recipes/get_curve.yaml +2 -34
  29. type_spec/external/api/recipes/get_recipe_calculations.yaml +7 -17
  30. type_spec/external/api/recipes/get_recipe_links.yaml +1 -1
  31. type_spec/external/api/recipes/get_recipe_names.yaml +2 -2
  32. type_spec/external/api/recipes/get_recipe_output_metadata.yaml +4 -17
  33. type_spec/external/api/recipes/get_recipes_data.yaml +31 -165
  34. type_spec/external/api/recipes/set_recipe_inputs.yaml +3 -3
  35. type_spec/external/api/recipes/set_recipe_outputs.yaml +4 -8
  36. uncountable/integration/__init__.py +0 -0
  37. uncountable/integration/construct_client.py +30 -0
  38. uncountable/integration/cron.py +29 -0
  39. uncountable/integration/db/__init__.py +0 -0
  40. uncountable/integration/db/connect.py +8 -0
  41. uncountable/integration/entrypoint.py +41 -0
  42. uncountable/integration/executors/__init__.py +0 -0
  43. uncountable/integration/executors/script_executor.py +18 -0
  44. uncountable/integration/job.py +39 -0
  45. uncountable/integration/server.py +86 -0
  46. uncountable/integration/types.py +89 -0
  47. uncountable/types/__init__.py +30 -0
  48. uncountable/types/api/entity/create_entities.py +2 -1
  49. uncountable/types/api/entity/create_entity.py +1 -1
  50. uncountable/types/api/entity/get_entities_data.py +6 -26
  51. uncountable/types/api/entity/list_entities.py +5 -12
  52. uncountable/types/api/entity/resolve_entity_ids.py +4 -2
  53. uncountable/types/api/entity/set_values.py +7 -29
  54. uncountable/types/api/input_groups/get_input_group_names.py +3 -2
  55. uncountable/types/api/inputs/create_inputs.py +8 -20
  56. uncountable/types/api/inputs/get_input_data.py +12 -25
  57. uncountable/types/api/inputs/get_input_names.py +5 -4
  58. uncountable/types/api/inputs/get_inputs_data.py +8 -21
  59. uncountable/types/api/inputs/set_input_attribute_values.py +5 -7
  60. uncountable/types/api/outputs/get_output_data.py +10 -17
  61. uncountable/types/api/outputs/get_output_names.py +3 -2
  62. uncountable/types/api/project/get_projects.py +8 -14
  63. uncountable/types/api/project/get_projects_data.py +13 -40
  64. uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +6 -5
  65. uncountable/types/api/recipes/create_recipes.py +6 -18
  66. uncountable/types/api/recipes/get_curve.py +4 -26
  67. uncountable/types/api/recipes/get_recipe_calculations.py +8 -15
  68. uncountable/types/api/recipes/get_recipe_links.py +2 -1
  69. uncountable/types/api/recipes/get_recipe_names.py +3 -2
  70. uncountable/types/api/recipes/get_recipe_output_metadata.py +5 -13
  71. uncountable/types/api/recipes/get_recipes_data.py +36 -122
  72. uncountable/types/api/recipes/set_recipe_inputs.py +4 -3
  73. uncountable/types/api/recipes/set_recipe_outputs.py +7 -8
  74. uncountable/types/calculations.py +23 -0
  75. uncountable/types/client_base.py +43 -43
  76. uncountable/types/curves.py +47 -0
  77. uncountable/types/entity.py +4 -1
  78. uncountable/types/experiment_groups.py +23 -0
  79. uncountable/types/field_values.py +37 -0
  80. uncountable/types/fields.py +24 -0
  81. uncountable/types/input_attributes.py +29 -0
  82. uncountable/types/inputs.py +61 -0
  83. uncountable/types/outputs.py +26 -0
  84. uncountable/types/phases.py +23 -0
  85. uncountable/types/recipe_links.py +3 -2
  86. uncountable/types/recipe_metadata.py +50 -0
  87. uncountable/types/recipe_output_metadata.py +24 -0
  88. uncountable/types/recipe_tags.py +23 -0
  89. uncountable/types/response.py +25 -0
  90. uncountable/types/units.py +23 -0
  91. uncountable/types/users.py +24 -0
  92. uncountable/types/workflows.py +32 -0
  93. UncountablePythonSDK-0.0.7.dist-info/RECORD +0 -119
  94. {UncountablePythonSDK-0.0.7.dist-info → UncountablePythonSDK-0.0.9.dist-info}/WHEEL +0 -0
  95. {UncountablePythonSDK-0.0.7.dist-info → UncountablePythonSDK-0.0.9.dist-info}/top_level.txt +0 -0
@@ -10,6 +10,7 @@ from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
11
  from pkgs.serialization import serial_class
12
12
  from ... import base as base_t
13
+ from ... import units as 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"
@@ -30,8 +30,8 @@ ENDPOINT_PATH = "api/external/outputs/external_get_output_data"
30
30
  # DO NOT MODIFY -- This file is generated by type_spec
31
31
  @dataclass(kw_only=True)
32
32
  class Arguments:
33
- material_family_id: int
34
- output_ids: typing.Optional[list[int]] = None
33
+ material_family_id: base_t.ObjectId
34
+ output_ids: typing.Optional[list[base_t.ObjectId]] = None
35
35
  offset: typing.Optional[int] = None
36
36
  limit: typing.Optional[int] = None
37
37
 
@@ -43,7 +43,7 @@ class Arguments:
43
43
  )
44
44
  @dataclass(kw_only=True)
45
45
  class OutputAttrVal:
46
- attribute_id: int
46
+ attribute_id: base_t.ObjectId
47
47
  quantity_dec: Decimal
48
48
  quantity_json: base_t.JsonValue
49
49
 
@@ -51,7 +51,7 @@ class OutputAttrVal:
51
51
  # DO NOT MODIFY -- This file is generated by type_spec
52
52
  @dataclass(kw_only=True)
53
53
  class SimpleOutputAttr:
54
- attribute_id: int
54
+ attribute_id: base_t.ObjectId
55
55
  name: str
56
56
  quantity_type: str
57
57
 
@@ -59,26 +59,19 @@ class SimpleOutputAttr:
59
59
  # DO NOT MODIFY -- This file is generated by type_spec
60
60
  @dataclass(kw_only=True)
61
61
  class SimpleOutputGlobalCategory:
62
- category_id: int
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
62
+ category_id: base_t.ObjectId
70
63
  name: str
71
64
 
72
65
 
73
66
  # DO NOT MODIFY -- This file is generated by type_spec
74
67
  @dataclass(kw_only=True)
75
68
  class FullOutput:
76
- output_id: int
69
+ output_id: base_t.ObjectId
77
70
  name: str
78
71
  quantity_type: str
79
72
  attributes: list[OutputAttrVal]
80
- global_category_id: int
81
- unit_id: int
73
+ global_category_id: typing.Optional[base_t.ObjectId]
74
+ unit_id: typing.Optional[base_t.ObjectId]
82
75
 
83
76
 
84
77
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -87,5 +80,5 @@ class Data:
87
80
  outputs: list[FullOutput]
88
81
  attrs: list[SimpleOutputAttr]
89
82
  global_categories: list[SimpleOutputGlobalCategory]
90
- units: list[SimpleUnit]
83
+ units: list[units_t.SimpleUnit]
91
84
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -8,6 +8,7 @@ import typing # noqa: F401
8
8
  import datetime # noqa: F401
9
9
  from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
+ from ... import base as base_t
11
12
 
12
13
  __all__: list[str] = [
13
14
  "Arguments",
@@ -24,7 +25,7 @@ ENDPOINT_PATH = "api/external/outputs/external_get_output_names"
24
25
  # DO NOT MODIFY -- This file is generated by type_spec
25
26
  @dataclass(kw_only=True)
26
27
  class Arguments:
27
- material_family_id: int
28
+ material_family_id: base_t.ObjectId
28
29
  offset: typing.Optional[int] = None
29
30
  limit: typing.Optional[int] = None
30
31
 
@@ -32,7 +33,7 @@ class Arguments:
32
33
  # DO NOT MODIFY -- This file is generated by type_spec
33
34
  @dataclass(kw_only=True)
34
35
  class OutputWithName:
35
- output_id: int
36
+ output_id: base_t.ObjectId
36
37
  name: str
37
38
 
38
39
 
@@ -8,13 +8,14 @@ import typing # noqa: F401
8
8
  import datetime # noqa: F401
9
9
  from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
+ from ... import base as base_t
12
+ from ... import phases as phases_t
11
13
 
12
14
  __all__: list[str] = [
13
15
  "Arguments",
14
16
  "Data",
15
17
  "ENDPOINT_METHOD",
16
18
  "ENDPOINT_PATH",
17
- "Phase",
18
19
  "Project",
19
20
  ]
20
21
 
@@ -26,29 +27,22 @@ ENDPOINT_PATH = "api/external/project/external_get_projects"
26
27
  @dataclass(kw_only=True)
27
28
  class Arguments:
28
29
  all_material_families: bool
29
- material_family_id: typing.Optional[int]
30
+ material_family_id: typing.Optional[base_t.ObjectId]
30
31
 
31
32
 
32
33
  # DO NOT MODIFY -- This file is generated by type_spec
33
34
  @dataclass(kw_only=True)
34
35
  class Project:
35
- id: int
36
- name: str
37
- material_family_id: int
38
- project_owner_id: typing.Optional[int]
39
- phase_id: typing.Optional[int]
40
-
41
-
42
- # DO NOT MODIFY -- This file is generated by type_spec
43
- @dataclass(kw_only=True)
44
- class Phase:
45
- id: int
36
+ id: base_t.ObjectId
46
37
  name: str
38
+ material_family_id: base_t.ObjectId
39
+ project_owner_id: typing.Optional[base_t.ObjectId]
40
+ phase_id: typing.Optional[base_t.ObjectId]
47
41
 
48
42
 
49
43
  # DO NOT MODIFY -- This file is generated by type_spec
50
44
  @dataclass(kw_only=True)
51
45
  class Data:
52
46
  projects: list[Project]
53
- phases: list[Phase]
47
+ phases: list[phases_t.Phase]
54
48
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -8,17 +8,16 @@ import typing # noqa: F401
8
8
  import datetime # noqa: F401
9
9
  from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
- from pkgs.serialization import serial_class
12
11
  from ... import base as base_t
12
+ from ... import field_values as field_values_t
13
+ from ... import fields as fields_t
14
+ from ... import phases as phases_t
13
15
 
14
16
  __all__: list[str] = [
15
17
  "Arguments",
16
18
  "Data",
17
19
  "ENDPOINT_METHOD",
18
20
  "ENDPOINT_PATH",
19
- "Field",
20
- "FieldValue",
21
- "Phase",
22
21
  "ProjectDetailed",
23
22
  ]
24
23
 
@@ -29,52 +28,26 @@ ENDPOINT_PATH = "api/external/project/external_get_projects_data"
29
28
  # DO NOT MODIFY -- This file is generated by type_spec
30
29
  @dataclass(kw_only=True)
31
30
  class Arguments:
32
- project_ids: list[int]
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
43
-
44
-
45
- # DO NOT MODIFY -- This file is generated by type_spec
46
- @serial_class(
47
- unconverted_values={"value"},
48
- )
49
- @dataclass(kw_only=True)
50
- class FieldValue:
51
- field_id: int
52
- row_index: typing.Optional[int]
53
- value: base_t.JsonValue
31
+ project_ids: list[base_t.ObjectId]
32
+ offset: typing.Optional[typing.Optional[int]] = None
33
+ limit: typing.Optional[typing.Optional[int]] = None
54
34
 
55
35
 
56
36
  # DO NOT MODIFY -- This file is generated by type_spec
57
37
  @dataclass(kw_only=True)
58
38
  class ProjectDetailed:
59
- id: int
60
- name: str
61
- material_family_id: int
62
- project_owner_id: typing.Optional[int]
63
- phase_id: typing.Optional[int]
64
- values: list[FieldValue]
65
-
66
-
67
- # DO NOT MODIFY -- This file is generated by type_spec
68
- @dataclass(kw_only=True)
69
- class Phase:
70
- id: int
39
+ id: base_t.ObjectId
71
40
  name: str
41
+ material_family_id: base_t.ObjectId
42
+ project_owner_id: typing.Optional[base_t.ObjectId]
43
+ phase_id: typing.Optional[base_t.ObjectId]
44
+ values: list[field_values_t.ArgumentValueId]
72
45
 
73
46
 
74
47
  # DO NOT MODIFY -- This file is generated by type_spec
75
48
  @dataclass(kw_only=True)
76
49
  class Data:
77
50
  projects: list[ProjectDetailed]
78
- phases: list[Phase]
79
- fields: list[Field]
51
+ phases: list[phases_t.Phase]
52
+ fields: list[fields_t.Field]
80
53
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -8,6 +8,7 @@ import typing # noqa: F401
8
8
  import datetime # noqa: F401
9
9
  from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
+ from ... import base as base_t
11
12
 
12
13
  __all__: list[str] = [
13
14
  "Arguments",
@@ -24,16 +25,16 @@ ENDPOINT_PATH = "api/external/recipe_metadata/external_get_recipe_metadata_data"
24
25
  # DO NOT MODIFY -- This file is generated by type_spec
25
26
  @dataclass(kw_only=True)
26
27
  class Arguments:
27
- material_family_id: int
28
- recipe_metadata_ids: typing.Optional[list[int]]
29
- offset: typing.Optional[int]
30
- limit: typing.Optional[int]
28
+ material_family_id: base_t.ObjectId
29
+ recipe_metadata_ids: typing.Optional[list[base_t.ObjectId]]
30
+ offset: typing.Optional[typing.Optional[int]] = None
31
+ limit: typing.Optional[typing.Optional[int]] = None
31
32
 
32
33
 
33
34
  # DO NOT MODIFY -- This file is generated by type_spec
34
35
  @dataclass(kw_only=True)
35
36
  class FullRecipeMetadataField:
36
- recipe_metadata_id: int
37
+ recipe_metadata_id: base_t.ObjectId
37
38
  name: str
38
39
  quantity_type: str
39
40
 
@@ -8,8 +8,8 @@ import typing # noqa: F401
8
8
  import datetime # noqa: F401
9
9
  from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
- from pkgs.serialization import serial_class
12
11
  from ... import base as base_t
12
+ from ... import recipe_metadata as recipe_metadata_t
13
13
 
14
14
  __all__: list[str] = [
15
15
  "Arguments",
@@ -18,45 +18,33 @@ __all__: list[str] = [
18
18
  "Data",
19
19
  "ENDPOINT_METHOD",
20
20
  "ENDPOINT_PATH",
21
- "MetadataValue",
22
21
  ]
23
22
 
24
23
  ENDPOINT_METHOD = "POST"
25
24
  ENDPOINT_PATH = "api/external/recipes/external_create_recipes"
26
25
 
27
26
 
28
- # DO NOT MODIFY -- This file is generated by type_spec
29
- @serial_class(
30
- to_string_values={"value_numeric"},
31
- )
32
- @dataclass(kw_only=True)
33
- class MetadataValue:
34
- metadata_id: int
35
- value_numeric: typing.Optional[Decimal] = None
36
- value_str: typing.Optional[str] = None
37
-
38
-
39
27
  # DO NOT MODIFY -- This file is generated by type_spec
40
28
  @dataclass(kw_only=True)
41
29
  class CreateRecipeDefinition:
42
- workflow_id: int
30
+ workflow_id: base_t.ObjectId
43
31
  name: typing.Optional[str] = None
44
32
  workflow_variant_id: typing.Optional[typing.Optional[base_t.ObjectId]] = None
45
- recipe_metadata: typing.Optional[list[MetadataValue]] = None
33
+ recipe_metadata: typing.Optional[list[recipe_metadata_t.MetadataValue]] = None
46
34
 
47
35
 
48
36
  # DO NOT MODIFY -- This file is generated by type_spec
49
37
  @dataclass(kw_only=True)
50
38
  class Arguments:
51
- material_family_id: int
39
+ material_family_id: base_t.ObjectId
52
40
  recipe_definitions: list[CreateRecipeDefinition]
53
- project_id: typing.Optional[int] = None
41
+ project_id: typing.Optional[base_t.ObjectId] = None
54
42
 
55
43
 
56
44
  # DO NOT MODIFY -- This file is generated by type_spec
57
45
  @dataclass(kw_only=True)
58
46
  class CreateRecipeResult:
59
- recipe_id: int
47
+ recipe_id: base_t.ObjectId
60
48
 
61
49
 
62
50
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -8,12 +8,11 @@ import typing # noqa: F401
8
8
  import datetime # noqa: F401
9
9
  from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
- from pkgs.serialization import serial_class
11
+ from ... import base as base_t
12
+ from ... import curves as curves_t
12
13
 
13
14
  __all__: list[str] = [
14
15
  "Arguments",
15
- "Curve",
16
- "CurveValue",
17
16
  "Data",
18
17
  "ENDPOINT_METHOD",
19
18
  "ENDPOINT_PATH",
@@ -26,32 +25,11 @@ ENDPOINT_PATH = "api/external/recipes/external_get_curve"
26
25
  # DO NOT MODIFY -- This file is generated by type_spec
27
26
  @dataclass(kw_only=True)
28
27
  class Arguments:
29
- recipe_output_id: int
30
-
31
-
32
- # DO NOT MODIFY -- This file is generated by type_spec
33
- @serial_class(
34
- to_string_values={"quantity"},
35
- )
36
- @dataclass(kw_only=True)
37
- class CurveValue:
38
- index: int
39
- quantity: typing.Optional[Decimal] = None
40
- quantity_timestamp: typing.Optional[datetime.datetime] = None
41
-
42
-
43
- # DO NOT MODIFY -- This file is generated by type_spec
44
- @dataclass(kw_only=True)
45
- class Curve:
46
- id: int
47
- x_type: str
48
- x_values: list[CurveValue]
49
- y_type: str
50
- y_values: list[CurveValue]
28
+ recipe_output_id: base_t.ObjectId
51
29
 
52
30
 
53
31
  # DO NOT MODIFY -- This file is generated by type_spec
54
32
  @dataclass(kw_only=True)
55
33
  class Data:
56
- curve: Curve
34
+ curve: curves_t.Curve
57
35
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -10,10 +10,10 @@ from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
11
  from pkgs.serialization import serial_class
12
12
  from ... import base as base_t
13
+ from ... import calculations as calculations_t
13
14
 
14
15
  __all__: list[str] = [
15
16
  "Arguments",
16
- "Calculation",
17
17
  "Data",
18
18
  "ENDPOINT_METHOD",
19
19
  "ENDPOINT_PATH",
@@ -27,8 +27,8 @@ ENDPOINT_PATH = "api/external/recipes/external_get_recipe_calculations"
27
27
  # DO NOT MODIFY -- This file is generated by type_spec
28
28
  @dataclass(kw_only=True)
29
29
  class Arguments:
30
- recipe_ids: list[int]
31
- calculation_ids: typing.Optional[list[int]] = None
30
+ recipe_ids: list[base_t.ObjectId]
31
+ calculation_ids: typing.Optional[list[base_t.ObjectId]] = None
32
32
 
33
33
 
34
34
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -38,22 +38,15 @@ class Arguments:
38
38
  )
39
39
  @dataclass(kw_only=True)
40
40
  class RecipeCalculation:
41
- recipe_id: int
42
- calculation_id: int
43
- quantity_dec: Decimal
44
- quantity_json: base_t.JsonValue
45
-
46
-
47
- # DO NOT MODIFY -- This file is generated by type_spec
48
- @dataclass(kw_only=True)
49
- class Calculation:
50
- id: int
51
- name: str
41
+ recipe_id: base_t.ObjectId
42
+ calculation_id: base_t.ObjectId
43
+ quantity_dec: typing.Optional[Decimal] = None
44
+ quantity_json: typing.Optional[base_t.JsonValue] = None
52
45
 
53
46
 
54
47
  # DO NOT MODIFY -- This file is generated by type_spec
55
48
  @dataclass(kw_only=True)
56
49
  class Data:
57
50
  recipe_calculations: list[RecipeCalculation]
58
- calculations: list[Calculation]
51
+ calculations: list[calculations_t.Calculation]
59
52
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -8,6 +8,7 @@ import typing # noqa: F401
8
8
  import datetime # noqa: F401
9
9
  from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
+ from ... import base as base_t
11
12
  from ... import recipe_links as recipe_links_t
12
13
 
13
14
  __all__: list[str] = [
@@ -24,7 +25,7 @@ ENDPOINT_PATH = "api/external/recipes/external_get_recipe_links"
24
25
  # DO NOT MODIFY -- This file is generated by type_spec
25
26
  @dataclass(kw_only=True)
26
27
  class Arguments:
27
- recipe_ids: list[int]
28
+ recipe_ids: list[base_t.ObjectId]
28
29
  depth: int = 1
29
30
  link_types: typing.Optional[list[recipe_links_t.RecipeLinkType]]
30
31
 
@@ -8,6 +8,7 @@ import typing # noqa: F401
8
8
  import datetime # noqa: F401
9
9
  from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
+ from ... import base as base_t
11
12
 
12
13
  __all__: list[str] = [
13
14
  "Arguments",
@@ -24,13 +25,13 @@ ENDPOINT_PATH = "api/external/recipes/external_get_recipe_names"
24
25
  # DO NOT MODIFY -- This file is generated by type_spec
25
26
  @dataclass(kw_only=True)
26
27
  class Arguments:
27
- project_id: int
28
+ project_id: base_t.ObjectId
28
29
 
29
30
 
30
31
  # DO NOT MODIFY -- This file is generated by type_spec
31
32
  @dataclass(kw_only=True)
32
33
  class SimpleRecipe:
33
- id: int
34
+ id: base_t.ObjectId
34
35
  name: str
35
36
 
36
37
 
@@ -10,6 +10,7 @@ from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
11
  from pkgs.serialization import serial_class
12
12
  from ... import base as base_t
13
+ from ... import recipe_output_metadata as recipe_output_metadata_t
13
14
 
14
15
  __all__: list[str] = [
15
16
  "Arguments",
@@ -17,7 +18,6 @@ __all__: list[str] = [
17
18
  "ENDPOINT_METHOD",
18
19
  "ENDPOINT_PATH",
19
20
  "RecipeOutputMetadata",
20
- "RecipeOutputMetadataField",
21
21
  ]
22
22
 
23
23
  ENDPOINT_METHOD = "GET"
@@ -27,7 +27,7 @@ ENDPOINT_PATH = "api/external/recipes/external_get_recipe_output_metadata"
27
27
  # DO NOT MODIFY -- This file is generated by type_spec
28
28
  @dataclass(kw_only=True)
29
29
  class Arguments:
30
- recipe_output_ids: list[int]
30
+ recipe_output_ids: list[base_t.ObjectId]
31
31
 
32
32
 
33
33
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -37,23 +37,15 @@ class Arguments:
37
37
  )
38
38
  @dataclass(kw_only=True)
39
39
  class RecipeOutputMetadata:
40
- recipe_output_id: int
41
- recipe_output_metadata_field_id: int
40
+ recipe_output_id: base_t.ObjectId
41
+ recipe_output_metadata_field_id: base_t.ObjectId
42
42
  quantity_dec: Decimal
43
43
  quantity_json: base_t.JsonValue
44
44
 
45
45
 
46
- # DO NOT MODIFY -- This file is generated by type_spec
47
- @dataclass(kw_only=True)
48
- class RecipeOutputMetadataField:
49
- id: int
50
- name: str
51
- quantity_type: str
52
-
53
-
54
46
  # DO NOT MODIFY -- This file is generated by type_spec
55
47
  @dataclass(kw_only=True)
56
48
  class Data:
57
49
  recipe_output_metadata: list[RecipeOutputMetadata]
58
- recipe_output_metadata_fields: list[RecipeOutputMetadataField]
50
+ recipe_output_metadata_fields: list[recipe_output_metadata_t.RecipeOutputMetadataField]
59
51
  # DO NOT MODIFY -- This file is generated by type_spec