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.

Files changed (311) hide show
  1. UncountablePythonSDK-0.0.92.dist-info/METADATA +61 -0
  2. UncountablePythonSDK-0.0.92.dist-info/RECORD +301 -0
  3. {UncountablePythonSDK-0.0.7.dist-info → UncountablePythonSDK-0.0.92.dist-info}/WHEEL +1 -1
  4. {UncountablePythonSDK-0.0.7.dist-info → UncountablePythonSDK-0.0.92.dist-info}/top_level.txt +1 -1
  5. docs/.gitignore +1 -0
  6. docs/conf.py +57 -0
  7. docs/index.md +13 -0
  8. docs/justfile +12 -0
  9. docs/quickstart.md +19 -0
  10. docs/requirements.txt +7 -0
  11. docs/static/favicons/android-chrome-192x192.png +0 -0
  12. docs/static/favicons/android-chrome-512x512.png +0 -0
  13. docs/static/favicons/apple-touch-icon.png +0 -0
  14. docs/static/favicons/browserconfig.xml +9 -0
  15. docs/static/favicons/favicon-16x16.png +0 -0
  16. docs/static/favicons/favicon-32x32.png +0 -0
  17. docs/static/favicons/manifest.json +18 -0
  18. docs/static/favicons/mstile-150x150.png +0 -0
  19. docs/static/favicons/safari-pinned-tab.svg +32 -0
  20. docs/static/logo_blue.png +0 -0
  21. examples/async_batch.py +35 -0
  22. examples/create_entity.py +22 -17
  23. examples/download_files.py +26 -0
  24. examples/edit_recipe_inputs.py +50 -0
  25. examples/integration-server/jobs/materials_auto/example_cron.py +18 -0
  26. examples/integration-server/jobs/materials_auto/example_wh.py +15 -0
  27. examples/integration-server/jobs/materials_auto/profile.yaml +43 -0
  28. examples/integration-server/pyproject.toml +224 -0
  29. examples/invoke_uploader.py +26 -0
  30. examples/set_recipe_metadata_file.py +40 -0
  31. examples/set_recipe_output_file_sdk.py +26 -0
  32. examples/upload_files.py +18 -0
  33. pkgs/argument_parser/__init__.py +5 -0
  34. pkgs/argument_parser/_is_enum.py +1 -6
  35. pkgs/argument_parser/argument_parser.py +232 -76
  36. pkgs/argument_parser/case_convert.py +4 -3
  37. pkgs/filesystem_utils/__init__.py +20 -0
  38. pkgs/filesystem_utils/_blob_session.py +137 -0
  39. pkgs/filesystem_utils/_gdrive_session.py +309 -0
  40. pkgs/filesystem_utils/_local_session.py +69 -0
  41. pkgs/filesystem_utils/_s3_session.py +117 -0
  42. pkgs/filesystem_utils/_sftp_session.py +147 -0
  43. pkgs/filesystem_utils/file_type_utils.py +91 -0
  44. pkgs/filesystem_utils/filesystem_session.py +39 -0
  45. pkgs/py.typed +0 -0
  46. pkgs/serialization/__init__.py +8 -1
  47. pkgs/serialization/annotation.py +64 -0
  48. pkgs/serialization/opaque_key.py +1 -1
  49. pkgs/serialization/serial_alias.py +47 -0
  50. pkgs/serialization/serial_class.py +65 -50
  51. pkgs/serialization/serial_generic.py +16 -0
  52. pkgs/serialization/serial_union.py +84 -0
  53. pkgs/serialization/yaml.py +57 -0
  54. pkgs/serialization_util/__init__.py +7 -7
  55. pkgs/serialization_util/_get_type_for_serialization.py +1 -3
  56. pkgs/serialization_util/convert_to_snakecase.py +27 -0
  57. pkgs/serialization_util/dataclasses.py +14 -0
  58. pkgs/serialization_util/serialization_helpers.py +118 -73
  59. pkgs/strenum_compat/strenum_compat.py +1 -9
  60. pkgs/type_spec/actions_registry/__init__.py +0 -0
  61. pkgs/type_spec/actions_registry/__main__.py +126 -0
  62. pkgs/type_spec/actions_registry/emit_typescript.py +182 -0
  63. pkgs/type_spec/builder.py +475 -89
  64. pkgs/type_spec/config.py +24 -19
  65. pkgs/type_spec/emit_io_ts.py +5 -2
  66. pkgs/type_spec/emit_open_api.py +266 -32
  67. pkgs/type_spec/emit_open_api_util.py +32 -13
  68. pkgs/type_spec/emit_python.py +601 -150
  69. pkgs/type_spec/emit_typescript.py +74 -273
  70. pkgs/type_spec/emit_typescript_util.py +239 -5
  71. pkgs/type_spec/load_types.py +55 -10
  72. pkgs/type_spec/open_api_util.py +30 -41
  73. pkgs/type_spec/parts/base.py.prepart +4 -3
  74. pkgs/type_spec/type_info/emit_type_info.py +178 -16
  75. pkgs/type_spec/util.py +11 -11
  76. pkgs/type_spec/value_spec/__main__.py +3 -3
  77. pkgs/type_spec/value_spec/convert_type.py +8 -1
  78. pkgs/type_spec/value_spec/emit_python.py +13 -4
  79. uncountable/__init__.py +1 -2
  80. uncountable/core/__init__.py +12 -2
  81. uncountable/core/async_batch.py +37 -0
  82. uncountable/core/client.py +293 -43
  83. uncountable/core/environment.py +41 -0
  84. uncountable/core/file_upload.py +135 -0
  85. uncountable/core/types.py +17 -0
  86. uncountable/integration/__init__.py +0 -0
  87. uncountable/integration/cli.py +49 -0
  88. uncountable/integration/construct_client.py +51 -0
  89. uncountable/integration/cron.py +29 -0
  90. uncountable/integration/db/__init__.py +0 -0
  91. uncountable/integration/db/connect.py +18 -0
  92. uncountable/integration/db/session.py +25 -0
  93. uncountable/integration/entrypoint.py +13 -0
  94. uncountable/integration/executors/__init__.py +0 -0
  95. uncountable/integration/executors/executors.py +148 -0
  96. uncountable/integration/executors/generic_upload_executor.py +284 -0
  97. uncountable/integration/executors/script_executor.py +25 -0
  98. uncountable/integration/job.py +87 -0
  99. uncountable/integration/queue_runner/__init__.py +0 -0
  100. uncountable/integration/queue_runner/command_server/__init__.py +24 -0
  101. uncountable/integration/queue_runner/command_server/command_client.py +68 -0
  102. uncountable/integration/queue_runner/command_server/command_server.py +64 -0
  103. uncountable/integration/queue_runner/command_server/protocol/__init__.py +0 -0
  104. uncountable/integration/queue_runner/command_server/protocol/command_server.proto +22 -0
  105. uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.py +40 -0
  106. uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.pyi +38 -0
  107. uncountable/integration/queue_runner/command_server/protocol/command_server_pb2_grpc.py +129 -0
  108. uncountable/integration/queue_runner/command_server/types.py +52 -0
  109. uncountable/integration/queue_runner/datastore/__init__.py +3 -0
  110. uncountable/integration/queue_runner/datastore/datastore_sqlite.py +93 -0
  111. uncountable/integration/queue_runner/datastore/interface.py +19 -0
  112. uncountable/integration/queue_runner/datastore/model.py +17 -0
  113. uncountable/integration/queue_runner/job_scheduler.py +163 -0
  114. uncountable/integration/queue_runner/queue_runner.py +26 -0
  115. uncountable/integration/queue_runner/types.py +7 -0
  116. uncountable/integration/queue_runner/worker.py +119 -0
  117. uncountable/integration/scan_profiles.py +67 -0
  118. uncountable/integration/scheduler.py +150 -0
  119. uncountable/integration/secret_retrieval/__init__.py +3 -0
  120. uncountable/integration/secret_retrieval/retrieve_secret.py +93 -0
  121. uncountable/integration/server.py +117 -0
  122. uncountable/integration/telemetry.py +209 -0
  123. uncountable/integration/webhook_server/entrypoint.py +170 -0
  124. uncountable/types/__init__.py +151 -5
  125. uncountable/types/api/batch/execute_batch.py +15 -7
  126. uncountable/types/api/batch/execute_batch_load_async.py +42 -0
  127. uncountable/types/api/chemical/__init__.py +1 -0
  128. uncountable/types/api/chemical/convert_chemical_formats.py +63 -0
  129. uncountable/types/api/entity/create_entities.py +23 -10
  130. uncountable/types/api/entity/create_entity.py +21 -12
  131. uncountable/types/api/entity/get_entities_data.py +19 -29
  132. uncountable/types/api/entity/grant_entity_permissions.py +48 -0
  133. uncountable/types/api/entity/list_entities.py +28 -20
  134. uncountable/types/api/entity/lock_entity.py +45 -0
  135. uncountable/types/api/entity/resolve_entity_ids.py +19 -7
  136. uncountable/types/api/entity/set_entity_field_values.py +44 -0
  137. uncountable/types/api/entity/set_values.py +13 -28
  138. uncountable/types/api/entity/transition_entity_phase.py +80 -0
  139. uncountable/types/api/entity/unlock_entity.py +44 -0
  140. uncountable/types/api/equipment/__init__.py +1 -0
  141. uncountable/types/api/equipment/associate_equipment_input.py +44 -0
  142. uncountable/types/api/field_options/__init__.py +1 -0
  143. uncountable/types/api/field_options/upsert_field_options.py +55 -0
  144. uncountable/types/api/files/__init__.py +1 -0
  145. uncountable/types/api/files/download_file.py +77 -0
  146. uncountable/types/api/id_source/__init__.py +1 -0
  147. uncountable/types/api/id_source/list_id_source.py +56 -0
  148. uncountable/types/api/id_source/match_id_source.py +54 -0
  149. uncountable/types/api/input_groups/get_input_group_names.py +18 -7
  150. uncountable/types/api/inputs/create_inputs.py +25 -24
  151. uncountable/types/api/inputs/get_input_data.py +37 -31
  152. uncountable/types/api/inputs/get_input_names.py +20 -9
  153. uncountable/types/api/inputs/get_inputs_data.py +33 -27
  154. uncountable/types/api/inputs/set_input_attribute_values.py +18 -13
  155. uncountable/types/api/inputs/set_input_category.py +44 -0
  156. uncountable/types/api/inputs/set_input_subcategories.py +45 -0
  157. uncountable/types/api/inputs/set_intermediate_type.py +50 -0
  158. uncountable/types/api/material_families/__init__.py +1 -0
  159. uncountable/types/api/material_families/update_entity_material_families.py +48 -0
  160. uncountable/types/api/outputs/get_output_data.py +38 -29
  161. uncountable/types/api/outputs/get_output_names.py +20 -9
  162. uncountable/types/api/outputs/resolve_output_conditions.py +23 -10
  163. uncountable/types/api/permissions/__init__.py +1 -0
  164. uncountable/types/api/permissions/set_core_permissions.py +105 -0
  165. uncountable/types/api/project/get_projects.py +23 -19
  166. uncountable/types/api/project/get_projects_data.py +26 -43
  167. uncountable/types/api/recipe_links/__init__.py +1 -0
  168. uncountable/types/api/recipe_links/create_recipe_link.py +46 -0
  169. uncountable/types/api/recipe_links/remove_recipe_link.py +45 -0
  170. uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +21 -10
  171. uncountable/types/api/recipes/add_recipe_to_project.py +42 -0
  172. uncountable/types/api/recipes/archive_recipes.py +42 -0
  173. uncountable/types/api/recipes/associate_recipe_as_input.py +44 -0
  174. uncountable/types/api/recipes/associate_recipe_as_lot.py +43 -0
  175. uncountable/types/api/recipes/clear_recipe_outputs.py +42 -0
  176. uncountable/types/api/recipes/create_recipe.py +51 -0
  177. uncountable/types/api/recipes/create_recipes.py +25 -24
  178. uncountable/types/api/recipes/disassociate_recipe_as_input.py +42 -0
  179. uncountable/types/api/recipes/edit_recipe_inputs.py +283 -0
  180. uncountable/types/api/recipes/get_column_calculation_values.py +58 -0
  181. uncountable/types/api/recipes/get_curve.py +13 -27
  182. uncountable/types/api/recipes/get_recipe_calculations.py +21 -21
  183. uncountable/types/api/recipes/get_recipe_links.py +14 -6
  184. uncountable/types/api/recipes/get_recipe_names.py +18 -7
  185. uncountable/types/api/recipes/get_recipe_output_metadata.py +18 -19
  186. uncountable/types/api/recipes/get_recipes_data.py +83 -144
  187. uncountable/types/api/recipes/lock_recipes.py +63 -0
  188. uncountable/types/api/recipes/remove_recipe_from_project.py +42 -0
  189. uncountable/types/api/recipes/set_recipe_inputs.py +21 -11
  190. uncountable/types/api/recipes/set_recipe_metadata.py +43 -0
  191. uncountable/types/api/recipes/set_recipe_output_annotations.py +115 -0
  192. uncountable/types/api/recipes/set_recipe_output_file.py +56 -0
  193. uncountable/types/api/recipes/set_recipe_outputs.py +28 -15
  194. uncountable/types/api/recipes/set_recipe_tags.py +109 -0
  195. uncountable/types/api/recipes/unarchive_recipes.py +41 -0
  196. uncountable/types/api/recipes/unlock_recipes.py +50 -0
  197. uncountable/types/api/triggers/__init__.py +1 -0
  198. uncountable/types/api/triggers/run_trigger.py +43 -0
  199. uncountable/types/api/uploader/__init__.py +1 -0
  200. uncountable/types/api/uploader/invoke_uploader.py +47 -0
  201. uncountable/types/async_batch.py +13 -0
  202. uncountable/types/async_batch_processor.py +384 -0
  203. uncountable/types/async_batch_t.py +97 -0
  204. uncountable/types/async_jobs.py +9 -0
  205. uncountable/types/async_jobs_t.py +53 -0
  206. uncountable/types/auth_retrieval.py +12 -0
  207. uncountable/types/auth_retrieval_t.py +75 -0
  208. uncountable/types/base.py +5 -78
  209. uncountable/types/base_t.py +85 -0
  210. uncountable/types/calculations.py +8 -0
  211. uncountable/types/calculations_t.py +27 -0
  212. uncountable/types/chemical_structure.py +8 -0
  213. uncountable/types/chemical_structure_t.py +28 -0
  214. uncountable/types/client_base.py +1115 -76
  215. uncountable/types/client_config.py +8 -0
  216. uncountable/types/client_config_t.py +26 -0
  217. uncountable/types/curves.py +10 -0
  218. uncountable/types/curves_t.py +51 -0
  219. uncountable/types/entity.py +8 -266
  220. uncountable/types/entity_t.py +393 -0
  221. uncountable/types/experiment_groups.py +8 -0
  222. uncountable/types/experiment_groups_t.py +27 -0
  223. uncountable/types/field_values.py +17 -23
  224. uncountable/types/field_values_t.py +204 -0
  225. uncountable/types/fields.py +8 -0
  226. uncountable/types/fields_t.py +28 -0
  227. uncountable/types/generic_upload.py +15 -0
  228. uncountable/types/generic_upload_t.py +119 -0
  229. uncountable/types/id_source.py +12 -0
  230. uncountable/types/id_source_t.py +68 -0
  231. uncountable/types/identifier.py +11 -0
  232. uncountable/types/identifier_t.py +63 -0
  233. uncountable/types/input_attributes.py +8 -0
  234. uncountable/types/input_attributes_t.py +30 -0
  235. uncountable/types/inputs.py +11 -0
  236. uncountable/types/inputs_t.py +83 -0
  237. uncountable/types/integration_server.py +9 -0
  238. uncountable/types/integration_server_t.py +42 -0
  239. uncountable/types/job_definition.py +27 -0
  240. uncountable/types/job_definition_t.py +260 -0
  241. uncountable/types/outputs.py +8 -0
  242. uncountable/types/outputs_t.py +30 -0
  243. uncountable/types/overrides.py +10 -0
  244. uncountable/types/overrides_t.py +49 -0
  245. uncountable/types/permissions.py +8 -0
  246. uncountable/types/permissions_t.py +46 -0
  247. uncountable/types/phases.py +8 -0
  248. uncountable/types/phases_t.py +27 -0
  249. uncountable/types/post_base.py +8 -0
  250. uncountable/types/post_base_t.py +30 -0
  251. uncountable/types/queued_job.py +16 -0
  252. uncountable/types/queued_job_t.py +123 -0
  253. uncountable/types/recipe_identifiers.py +12 -0
  254. uncountable/types/recipe_identifiers_t.py +76 -0
  255. uncountable/types/recipe_inputs.py +9 -0
  256. uncountable/types/recipe_inputs_t.py +30 -0
  257. uncountable/types/recipe_links.py +4 -44
  258. uncountable/types/recipe_links_t.py +54 -0
  259. uncountable/types/recipe_metadata.py +10 -0
  260. uncountable/types/recipe_metadata_t.py +58 -0
  261. uncountable/types/recipe_output_metadata.py +8 -0
  262. uncountable/types/recipe_output_metadata_t.py +28 -0
  263. uncountable/types/recipe_tags.py +8 -0
  264. uncountable/types/recipe_tags_t.py +27 -0
  265. uncountable/types/recipe_workflow_steps.py +14 -0
  266. uncountable/types/recipe_workflow_steps_t.py +95 -0
  267. uncountable/types/recipes.py +8 -0
  268. uncountable/types/recipes_t.py +25 -0
  269. uncountable/types/response.py +8 -0
  270. uncountable/types/response_t.py +26 -0
  271. uncountable/types/secret_retrieval.py +12 -0
  272. uncountable/types/secret_retrieval_t.py +75 -0
  273. uncountable/types/units.py +8 -0
  274. uncountable/types/units_t.py +27 -0
  275. uncountable/types/users.py +8 -0
  276. uncountable/types/users_t.py +28 -0
  277. uncountable/types/webhook_job.py +9 -0
  278. uncountable/types/webhook_job_t.py +37 -0
  279. uncountable/types/workflows.py +9 -0
  280. uncountable/types/workflows_t.py +39 -0
  281. UncountablePythonSDK-0.0.7.dist-info/METADATA +0 -27
  282. UncountablePythonSDK-0.0.7.dist-info/RECORD +0 -119
  283. examples/recipe-import/importer.py +0 -39
  284. type_spec/external/api/batch/execute_batch.yaml +0 -56
  285. type_spec/external/api/entity/create_entities.yaml +0 -33
  286. type_spec/external/api/entity/create_entity.yaml +0 -39
  287. type_spec/external/api/entity/get_entities_data.yaml +0 -55
  288. type_spec/external/api/entity/list_entities.yaml +0 -62
  289. type_spec/external/api/entity/resolve_entity_ids.yaml +0 -29
  290. type_spec/external/api/entity/set_values.yaml +0 -45
  291. type_spec/external/api/input_groups/get_input_group_names.yaml +0 -29
  292. type_spec/external/api/inputs/create_inputs.yaml +0 -61
  293. type_spec/external/api/inputs/get_input_data.yaml +0 -108
  294. type_spec/external/api/inputs/get_input_names.yaml +0 -38
  295. type_spec/external/api/inputs/get_inputs_data.yaml +0 -95
  296. type_spec/external/api/inputs/set_input_attribute_values.yaml +0 -37
  297. type_spec/external/api/outputs/get_output_data.yaml +0 -103
  298. type_spec/external/api/outputs/get_output_names.yaml +0 -35
  299. type_spec/external/api/outputs/resolve_output_conditions.yaml +0 -50
  300. type_spec/external/api/project/get_projects.yaml +0 -52
  301. type_spec/external/api/project/get_projects_data.yaml +0 -86
  302. type_spec/external/api/recipe_metadata/get_recipe_metadata_data.yaml +0 -41
  303. type_spec/external/api/recipes/create_recipes.yaml +0 -60
  304. type_spec/external/api/recipes/get_curve.yaml +0 -50
  305. type_spec/external/api/recipes/get_recipe_calculations.yaml +0 -49
  306. type_spec/external/api/recipes/get_recipe_links.yaml +0 -26
  307. type_spec/external/api/recipes/get_recipe_names.yaml +0 -29
  308. type_spec/external/api/recipes/get_recipe_output_metadata.yaml +0 -49
  309. type_spec/external/api/recipes/get_recipes_data.yaml +0 -372
  310. type_spec/external/api/recipes/set_recipe_inputs.yaml +0 -36
  311. type_spec/external/api/recipes/set_recipe_outputs.yaml +0 -56
@@ -1,86 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: get
4
- path: ${external}/project/external_get_projects_data
5
- function: main.site.app.external.project.get_projects_data.get_projects_data
6
- desc: "Gets either all data associated with a set of projects created in the platform. Because Uncountables recipe structure is complex, various data values are exploded out to increase efficiency in parsing, and this page is paginated to prevent too large of return values"
7
- Arguments:
8
- type: Object
9
- properties:
10
- project_ids:
11
- type: List<Integer>
12
- desc: "The projects to get the data from"
13
- offset:
14
- type: Optional<Integer>
15
- desc: "Used for pagination. All pagination is done in order of Project ID"
16
- limit:
17
- type: Optional<Integer>
18
- desc: "The number of data points to return. If not filled in, it will be set to 100, and cannot be set higher than 100"
19
-
20
- Field:
21
- type: Object
22
- properties:
23
- id:
24
- type: Integer
25
- desc: "A unique identifier for the field"
26
- name:
27
- type: String
28
- desc: "The name of the field"
29
- value_type:
30
- type: String
31
- desc: "The type of the field for instance whether it is numeric, text, categorical"
32
-
33
- FieldValue:
34
- type: Object
35
- properties:
36
- field_id:
37
- type: Integer
38
- desc: "The unique ID for the field"
39
- row_index:
40
- type: Optional<Integer>
41
- desc: "For table fields, which row of the table is the value on"
42
- value:
43
- type: JsonValue
44
- desc: "The value for the field"
45
-
46
- ProjectDetailed:
47
- type: Object
48
- properties:
49
- id:
50
- type: Integer
51
- desc: "A unique identifier for the project. Used as foreign key to reference elsewhere."
52
- name:
53
- type: String
54
- desc: "The name of the project"
55
- material_family_id:
56
- type: Integer
57
- desc: "A unique identifier for the material family. Used as foreign key to reference elsewhere."
58
- project_owner_id:
59
- type: Optional<Integer>
60
- desc: "The projects owner, as a user ID within the platform"
61
- phase_id:
62
- type: Optional<Integer>
63
- desc: "The phase id corresponding to a phase workflow"
64
- values:
65
- type: List<FieldValue>
66
- desc: "List of fields and values associated with the project"
67
-
68
- Phase:
69
- type: Object
70
- properties:
71
- id:
72
- type: Integer
73
- desc: "A unique identifier for the phase. Used as foreign key to reference elsewhere."
74
- name:
75
- type: String
76
- desc: "The name of the phase"
77
-
78
- Data:
79
- type: Object
80
- properties:
81
- projects:
82
- type: List<ProjectDetailed>
83
- phases:
84
- type: List<Phase>
85
- fields:
86
- type: List<Field>
@@ -1,41 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: get
4
- path: ${external}/recipe_metadata/external_get_recipe_metadata_data
5
- function: main.site.app.external.recipe_metadata.get_recipe_metadata_data.get_recipe_metadata_data
6
- desc: "Gets the recipe metadata. Recipe metadata is data associated with experiments that is not an input, output or calculation, such as a sample ID."
7
-
8
- Arguments:
9
- type: Object
10
- properties:
11
- material_family_id:
12
- type: Integer
13
- desc: "The material family ID to get the recipe metadata values from."
14
- recipe_metadata_ids:
15
- type: Optional<List<Integer>>
16
- desc: "The recipe metadata IDs to get the data from. If this is not filled in, all metadata from a material family will be returned (in paginated form)."
17
- offset:
18
- type: Optional<Integer>
19
- desc: "Used for pagination, where the number of results returned exceeds the limit. Results are always ordered by the metadata ID"
20
- limit:
21
- type: Optional<Integer>
22
- desc: "The maximum number of results to return. By default this is set to 1,000 and it cannot be set higher than 1,000"
23
-
24
- FullRecipeMetadataField:
25
- type: Object
26
- properties:
27
- recipe_metadata_id:
28
- type: Integer
29
- desc: "The unique integer ID of the recipe metadata value. Used for joining and identification elsewhere"
30
- name:
31
- type: String
32
- desc: "The name of the recipe metadata"
33
- quantity_type:
34
- type: String
35
- desc: "The quantity type of the recipe metadata, such as numeric, categorical or text"
36
-
37
- Data:
38
- type: Object
39
- properties:
40
- recipe_metadata:
41
- type: List<FullRecipeMetadataField>
@@ -1,60 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: post
4
- path: ${external}/recipes/external_create_recipes
5
- function: main.site.app.external.recipes.create_recipes.create_recipes
6
- desc: "Sets inputs values for an experiment. Values set can be numeric, text or categorical types in the Uncountable system"
7
-
8
- MetadataValue:
9
- type: Object
10
- properties:
11
- metadata_id:
12
- type: Integer
13
- desc: The id of the metadata field to populate
14
- value_numeric?:
15
- type: Decimal
16
- desc: "The numeric value for the metadata. Should be none if output is not of type numeric."
17
- value_str?:
18
- type: String
19
- desc: "The string value for the metadata if applicable for this metadata field"
20
-
21
- CreateRecipeDefinition:
22
- type: Object
23
- properties:
24
- name?:
25
- type: String
26
- desc: "The name for the recipe"
27
- workflow_id:
28
- type: Integer
29
- desc: "The identifier of the workflow to create the recipe with"
30
- workflow_variant_id?:
31
- type: Optional<ObjectId>
32
- desc: "The identifier of the workflow variant to create the recipe with"
33
- recipe_metadata?:
34
- type: List<MetadataValue>
35
- desc: "Metadata values to populate the recipe with"
36
-
37
- Arguments:
38
- type: Object
39
- properties:
40
- material_family_id:
41
- type: Integer
42
- desc: "The identifier of the material family to create the recipes in"
43
- project_id?:
44
- type: Integer
45
- desc: "The identifier of the project to create the recipes in"
46
- recipe_definitions:
47
- type: List<CreateRecipeDefinition>
48
-
49
- CreateRecipeResult:
50
- type: Object
51
- properties:
52
- recipe_id:
53
- type: Integer
54
- desc: The identifier for the created recipe
55
-
56
- Data:
57
- type: Object
58
- properties:
59
- recipes:
60
- type: List<CreateRecipeResult>
@@ -1,50 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: get
4
- path: ${external}/recipes/external_get_curve
5
- function: main.site.app.external.recipes.get_curve.get_curve
6
- desc: "Returns an array of values for the specified curve id."
7
- Arguments:
8
- type: Object
9
- properties:
10
- recipe_output_id:
11
- type: Integer
12
- desc: "The recipe output ID to fetch the curve for. This must be a curve recipe output. Recipe Outputs can be found from external_get_recipes_data"
13
-
14
- CurveValue:
15
- type: Object
16
- properties:
17
- index:
18
- type: Integer
19
- desc: "The index of the value in the curve"
20
- quantity?:
21
- type: Decimal
22
- desc: "The value for the curve if the curve is a numeric curve"
23
- quantity_timestamp?:
24
- type: DateTime
25
- desc: "The timestamp value if the curve is a timestamp curve in UTC"
26
-
27
- Curve:
28
- type: Object
29
- properties:
30
- id:
31
- type: Integer
32
- desc: "The unique integer ID of the curve. Used for joining and identification elsewhere"
33
- x_type:
34
- type: String
35
- desc: "The type of axis for the x-axis. Options include numeric and timestamp"
36
- x_values:
37
- type: List<CurveValue>
38
- desc: "The values for the x-axis"
39
- y_type:
40
- type: String
41
- desc: "The type of axis for the y-axis. Options include numeric"
42
- y_values:
43
- type: List<CurveValue>
44
- desc: "The values for the y-axis"
45
-
46
- Data:
47
- type: Object
48
- properties:
49
- curve:
50
- type: Curve
@@ -1,49 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: get
4
- path: ${external}/recipes/external_get_recipe_calculations
5
- function: main.site.app.external.recipes.get_recipe_calculations.get_recipe_calculations
6
- desc: "Gets the calculations for the passed recipes"
7
- Arguments:
8
- type: Object
9
- properties:
10
- recipe_ids:
11
- type: List<Integer>
12
- desc: "Ids of the Recipes to retrieve calculations for"
13
- calculation_ids?:
14
- type: List<Integer>
15
- desc: "Optionally a list of ids of calculations to retrieve"
16
-
17
- RecipeCalculation:
18
- type: Object
19
- properties:
20
- recipe_id:
21
- type: Integer
22
- desc: "Identifier for the recipe"
23
- calculation_id:
24
- type: Integer
25
- desc: "Identifier for the calculation"
26
- quantity_dec:
27
- type: Decimal
28
- desc: "The value for the calculation, if it is of numeric type"
29
- quantity_json:
30
- type: JsonValue
31
- desc: "The value for the calculation, if it is not of numeric type"
32
-
33
- Calculation:
34
- type: Object
35
- properties:
36
- id:
37
- type: Integer
38
- desc: "Identifier for the calculation"
39
- name:
40
- type: String
41
- desc: "Name of the calculation"
42
-
43
- Data:
44
- type: Object
45
- properties:
46
- recipe_calculations:
47
- type: List<RecipeCalculation>
48
- calculations:
49
- type: List<Calculation>
@@ -1,26 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: get
4
- path: ${external}/recipes/external_get_recipe_links
5
- function: main.site.app.external.recipes.get_recipe_links.get_recipe_links
6
- desc: "Gets the links for the passed recipes"
7
-
8
- Arguments:
9
- type: Object
10
- properties:
11
- recipe_ids:
12
- type: List<Integer>
13
- desc: "Ids of the Recipes to retrieve links for"
14
- depth:
15
- type: Integer
16
- desc: "How many layers deep to look for links"
17
- default: 1
18
- link_types:
19
- type: Optional<List<recipe_links.RecipeLinkType>>
20
- desc: "Optional filter to only desired link types"
21
-
22
- Data:
23
- type: Object
24
- properties:
25
- recipe_links:
26
- type: List<recipe_links.RecipeLink>
@@ -1,29 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: get
4
- path: ${external}/recipes/external_get_recipe_names
5
- function: main.site.app.external.recipes.get_recipe_names.get_recipe_names
6
- desc: "Gets the name of all recipes (or experiments, used as synonyms by Uncountable) for a project. The call external_get_projects can be used to find projects"
7
-
8
- Arguments:
9
- type: Object
10
- properties:
11
- project_id:
12
- type: Integer
13
- desc: "Required: The project ID to get the recipes/experiments from."
14
-
15
- SimpleRecipe:
16
- type: Object
17
- properties:
18
- id:
19
- type: Integer
20
- desc: "The unique integer ID of the recipe/experiment. Used for joining and identification elsewhere"
21
- name:
22
- type: String
23
- desc: "The name of the recipe"
24
-
25
- Data:
26
- type: Object
27
- properties:
28
- recipes:
29
- type: List<SimpleRecipe>
@@ -1,49 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: get
4
- path: ${external}/recipes/external_get_recipe_output_metadata
5
- function: main.site.app.external.recipes.get_recipe_output_metadata.get_recipe_output_metadata
6
- desc: "Gets the metadata values for the passed recipe outputs"
7
- Arguments:
8
- type: Object
9
- properties:
10
- recipe_output_ids:
11
- type: List<Integer>
12
- desc: "Ids of the Recipe Outputs to retrieve metadata for"
13
-
14
- RecipeOutputMetadata:
15
- type: Object
16
- properties:
17
- recipe_output_id:
18
- type: Integer
19
- desc: "Identifier for the recipe output"
20
- recipe_output_metadata_field_id:
21
- type: Integer
22
- desc: "Identifier for the metadata field id"
23
- quantity_dec:
24
- type: Decimal
25
- desc: "The value for the metadata, if it is of numeric type"
26
- quantity_json:
27
- type: JsonValue
28
- desc: "The value for the metadata, if it is not of numeric type"
29
-
30
- RecipeOutputMetadataField:
31
- type: Object
32
- properties:
33
- id:
34
- type: Integer
35
- desc: "Identifier for the recipe output metadata field"
36
- name:
37
- type: String
38
- desc: "Name of the recipe output metadata field"
39
- quantity_type:
40
- type: String
41
- desc: "The quantity type of the metadata, such as numeric or text"
42
-
43
- Data:
44
- type: Object
45
- properties:
46
- recipe_output_metadata:
47
- type: List<RecipeOutputMetadata>
48
- recipe_output_metadata_fields:
49
- type: List<RecipeOutputMetadataField>