UncountablePythonSDK 0.0.8__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 (312) 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.8.dist-info → UncountablePythonSDK-0.0.92.dist-info}/WHEEL +1 -1
  4. {UncountablePythonSDK-0.0.8.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/missing_sentry.py +1 -1
  49. pkgs/serialization/opaque_key.py +1 -1
  50. pkgs/serialization/serial_alias.py +47 -0
  51. pkgs/serialization/serial_class.py +65 -50
  52. pkgs/serialization/serial_generic.py +16 -0
  53. pkgs/serialization/serial_union.py +84 -0
  54. pkgs/serialization/yaml.py +57 -0
  55. pkgs/serialization_util/__init__.py +7 -7
  56. pkgs/serialization_util/_get_type_for_serialization.py +1 -3
  57. pkgs/serialization_util/convert_to_snakecase.py +27 -0
  58. pkgs/serialization_util/dataclasses.py +14 -0
  59. pkgs/serialization_util/serialization_helpers.py +116 -74
  60. pkgs/strenum_compat/strenum_compat.py +1 -9
  61. pkgs/type_spec/actions_registry/__init__.py +0 -0
  62. pkgs/type_spec/actions_registry/__main__.py +126 -0
  63. pkgs/type_spec/actions_registry/emit_typescript.py +182 -0
  64. pkgs/type_spec/builder.py +475 -89
  65. pkgs/type_spec/config.py +24 -19
  66. pkgs/type_spec/emit_io_ts.py +5 -2
  67. pkgs/type_spec/emit_open_api.py +266 -32
  68. pkgs/type_spec/emit_open_api_util.py +32 -13
  69. pkgs/type_spec/emit_python.py +599 -151
  70. pkgs/type_spec/emit_typescript.py +74 -273
  71. pkgs/type_spec/emit_typescript_util.py +239 -5
  72. pkgs/type_spec/load_types.py +55 -10
  73. pkgs/type_spec/open_api_util.py +30 -41
  74. pkgs/type_spec/parts/base.py.prepart +4 -3
  75. pkgs/type_spec/type_info/emit_type_info.py +178 -16
  76. pkgs/type_spec/util.py +11 -11
  77. pkgs/type_spec/value_spec/__main__.py +3 -3
  78. pkgs/type_spec/value_spec/convert_type.py +8 -1
  79. pkgs/type_spec/value_spec/emit_python.py +13 -4
  80. uncountable/__init__.py +1 -2
  81. uncountable/core/__init__.py +12 -2
  82. uncountable/core/async_batch.py +37 -0
  83. uncountable/core/client.py +293 -43
  84. uncountable/core/environment.py +41 -0
  85. uncountable/core/file_upload.py +135 -0
  86. uncountable/core/types.py +17 -0
  87. uncountable/integration/__init__.py +0 -0
  88. uncountable/integration/cli.py +49 -0
  89. uncountable/integration/construct_client.py +51 -0
  90. uncountable/integration/cron.py +29 -0
  91. uncountable/integration/db/__init__.py +0 -0
  92. uncountable/integration/db/connect.py +18 -0
  93. uncountable/integration/db/session.py +25 -0
  94. uncountable/integration/entrypoint.py +13 -0
  95. uncountable/integration/executors/__init__.py +0 -0
  96. uncountable/integration/executors/executors.py +148 -0
  97. uncountable/integration/executors/generic_upload_executor.py +284 -0
  98. uncountable/integration/executors/script_executor.py +25 -0
  99. uncountable/integration/job.py +87 -0
  100. uncountable/integration/queue_runner/__init__.py +0 -0
  101. uncountable/integration/queue_runner/command_server/__init__.py +24 -0
  102. uncountable/integration/queue_runner/command_server/command_client.py +68 -0
  103. uncountable/integration/queue_runner/command_server/command_server.py +64 -0
  104. uncountable/integration/queue_runner/command_server/protocol/__init__.py +0 -0
  105. uncountable/integration/queue_runner/command_server/protocol/command_server.proto +22 -0
  106. uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.py +40 -0
  107. uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.pyi +38 -0
  108. uncountable/integration/queue_runner/command_server/protocol/command_server_pb2_grpc.py +129 -0
  109. uncountable/integration/queue_runner/command_server/types.py +52 -0
  110. uncountable/integration/queue_runner/datastore/__init__.py +3 -0
  111. uncountable/integration/queue_runner/datastore/datastore_sqlite.py +93 -0
  112. uncountable/integration/queue_runner/datastore/interface.py +19 -0
  113. uncountable/integration/queue_runner/datastore/model.py +17 -0
  114. uncountable/integration/queue_runner/job_scheduler.py +163 -0
  115. uncountable/integration/queue_runner/queue_runner.py +26 -0
  116. uncountable/integration/queue_runner/types.py +7 -0
  117. uncountable/integration/queue_runner/worker.py +119 -0
  118. uncountable/integration/scan_profiles.py +67 -0
  119. uncountable/integration/scheduler.py +150 -0
  120. uncountable/integration/secret_retrieval/__init__.py +3 -0
  121. uncountable/integration/secret_retrieval/retrieve_secret.py +93 -0
  122. uncountable/integration/server.py +117 -0
  123. uncountable/integration/telemetry.py +209 -0
  124. uncountable/integration/webhook_server/entrypoint.py +170 -0
  125. uncountable/types/__init__.py +136 -20
  126. uncountable/types/api/batch/execute_batch.py +15 -7
  127. uncountable/types/api/batch/execute_batch_load_async.py +42 -0
  128. uncountable/types/api/chemical/__init__.py +1 -0
  129. uncountable/types/api/chemical/convert_chemical_formats.py +63 -0
  130. uncountable/types/api/entity/create_entities.py +23 -11
  131. uncountable/types/api/entity/create_entity.py +21 -12
  132. uncountable/types/api/entity/get_entities_data.py +18 -8
  133. uncountable/types/api/entity/grant_entity_permissions.py +48 -0
  134. uncountable/types/api/entity/list_entities.py +27 -12
  135. uncountable/types/api/entity/lock_entity.py +45 -0
  136. uncountable/types/api/entity/resolve_entity_ids.py +17 -7
  137. uncountable/types/api/entity/set_entity_field_values.py +44 -0
  138. uncountable/types/api/entity/set_values.py +14 -7
  139. uncountable/types/api/entity/transition_entity_phase.py +80 -0
  140. uncountable/types/api/entity/unlock_entity.py +44 -0
  141. uncountable/types/api/equipment/__init__.py +1 -0
  142. uncountable/types/api/equipment/associate_equipment_input.py +44 -0
  143. uncountable/types/api/field_options/__init__.py +1 -0
  144. uncountable/types/api/field_options/upsert_field_options.py +55 -0
  145. uncountable/types/api/files/__init__.py +1 -0
  146. uncountable/types/api/files/download_file.py +77 -0
  147. uncountable/types/api/id_source/__init__.py +1 -0
  148. uncountable/types/api/id_source/list_id_source.py +56 -0
  149. uncountable/types/api/id_source/match_id_source.py +54 -0
  150. uncountable/types/api/input_groups/get_input_group_names.py +16 -6
  151. uncountable/types/api/inputs/create_inputs.py +24 -11
  152. uncountable/types/api/inputs/get_input_data.py +32 -13
  153. uncountable/types/api/inputs/get_input_names.py +18 -8
  154. uncountable/types/api/inputs/get_inputs_data.py +29 -10
  155. uncountable/types/api/inputs/set_input_attribute_values.py +16 -9
  156. uncountable/types/api/inputs/set_input_category.py +44 -0
  157. uncountable/types/api/inputs/set_input_subcategories.py +45 -0
  158. uncountable/types/api/inputs/set_intermediate_type.py +50 -0
  159. uncountable/types/api/material_families/__init__.py +1 -0
  160. uncountable/types/api/material_families/update_entity_material_families.py +48 -0
  161. uncountable/types/api/outputs/get_output_data.py +32 -16
  162. uncountable/types/api/outputs/get_output_names.py +18 -8
  163. uncountable/types/api/outputs/resolve_output_conditions.py +23 -10
  164. uncountable/types/api/permissions/__init__.py +1 -0
  165. uncountable/types/api/permissions/set_core_permissions.py +105 -0
  166. uncountable/types/api/project/get_projects.py +17 -7
  167. uncountable/types/api/project/get_projects_data.py +21 -11
  168. uncountable/types/api/recipe_links/__init__.py +1 -0
  169. uncountable/types/api/recipe_links/create_recipe_link.py +46 -0
  170. uncountable/types/api/recipe_links/remove_recipe_link.py +45 -0
  171. uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +18 -8
  172. uncountable/types/api/recipes/add_recipe_to_project.py +42 -0
  173. uncountable/types/api/recipes/archive_recipes.py +42 -0
  174. uncountable/types/api/recipes/associate_recipe_as_input.py +44 -0
  175. uncountable/types/api/recipes/associate_recipe_as_lot.py +43 -0
  176. uncountable/types/api/recipes/clear_recipe_outputs.py +42 -0
  177. uncountable/types/api/recipes/create_recipe.py +51 -0
  178. uncountable/types/api/recipes/create_recipes.py +25 -12
  179. uncountable/types/api/recipes/disassociate_recipe_as_input.py +42 -0
  180. uncountable/types/api/recipes/edit_recipe_inputs.py +283 -0
  181. uncountable/types/api/recipes/get_column_calculation_values.py +58 -0
  182. uncountable/types/api/recipes/get_curve.py +15 -7
  183. uncountable/types/api/recipes/get_recipe_calculations.py +17 -10
  184. uncountable/types/api/recipes/get_recipe_links.py +13 -6
  185. uncountable/types/api/recipes/get_recipe_names.py +16 -6
  186. uncountable/types/api/recipes/get_recipe_output_metadata.py +14 -7
  187. uncountable/types/api/recipes/get_recipes_data.py +63 -38
  188. uncountable/types/api/recipes/lock_recipes.py +63 -0
  189. uncountable/types/api/recipes/remove_recipe_from_project.py +42 -0
  190. uncountable/types/api/recipes/set_recipe_inputs.py +19 -10
  191. uncountable/types/api/recipes/set_recipe_metadata.py +43 -0
  192. uncountable/types/api/recipes/set_recipe_output_annotations.py +115 -0
  193. uncountable/types/api/recipes/set_recipe_output_file.py +56 -0
  194. uncountable/types/api/recipes/set_recipe_outputs.py +26 -12
  195. uncountable/types/api/recipes/set_recipe_tags.py +109 -0
  196. uncountable/types/api/recipes/unarchive_recipes.py +41 -0
  197. uncountable/types/api/recipes/unlock_recipes.py +50 -0
  198. uncountable/types/api/triggers/__init__.py +1 -0
  199. uncountable/types/api/triggers/run_trigger.py +43 -0
  200. uncountable/types/api/uploader/__init__.py +1 -0
  201. uncountable/types/api/uploader/invoke_uploader.py +47 -0
  202. uncountable/types/async_batch.py +13 -0
  203. uncountable/types/async_batch_processor.py +384 -0
  204. uncountable/types/async_batch_t.py +97 -0
  205. uncountable/types/async_jobs.py +9 -0
  206. uncountable/types/async_jobs_t.py +53 -0
  207. uncountable/types/auth_retrieval.py +12 -0
  208. uncountable/types/auth_retrieval_t.py +75 -0
  209. uncountable/types/base.py +5 -78
  210. uncountable/types/base_t.py +85 -0
  211. uncountable/types/calculations.py +3 -18
  212. uncountable/types/calculations_t.py +27 -0
  213. uncountable/types/chemical_structure.py +8 -0
  214. uncountable/types/chemical_structure_t.py +28 -0
  215. uncountable/types/client_base.py +1093 -54
  216. uncountable/types/client_config.py +8 -0
  217. uncountable/types/client_config_t.py +26 -0
  218. uncountable/types/curves.py +5 -42
  219. uncountable/types/curves_t.py +51 -0
  220. uncountable/types/entity.py +8 -269
  221. uncountable/types/entity_t.py +393 -0
  222. uncountable/types/experiment_groups.py +3 -18
  223. uncountable/types/experiment_groups_t.py +27 -0
  224. uncountable/types/field_values.py +17 -60
  225. uncountable/types/field_values_t.py +204 -0
  226. uncountable/types/fields.py +3 -19
  227. uncountable/types/fields_t.py +28 -0
  228. uncountable/types/generic_upload.py +15 -0
  229. uncountable/types/generic_upload_t.py +119 -0
  230. uncountable/types/id_source.py +12 -0
  231. uncountable/types/id_source_t.py +68 -0
  232. uncountable/types/identifier.py +11 -0
  233. uncountable/types/identifier_t.py +63 -0
  234. uncountable/types/input_attributes.py +3 -24
  235. uncountable/types/input_attributes_t.py +30 -0
  236. uncountable/types/inputs.py +6 -56
  237. uncountable/types/inputs_t.py +83 -0
  238. uncountable/types/integration_server.py +9 -0
  239. uncountable/types/integration_server_t.py +42 -0
  240. uncountable/types/job_definition.py +27 -0
  241. uncountable/types/job_definition_t.py +260 -0
  242. uncountable/types/outputs.py +3 -21
  243. uncountable/types/outputs_t.py +30 -0
  244. uncountable/types/overrides.py +10 -0
  245. uncountable/types/overrides_t.py +49 -0
  246. uncountable/types/permissions.py +8 -0
  247. uncountable/types/permissions_t.py +46 -0
  248. uncountable/types/phases.py +3 -18
  249. uncountable/types/phases_t.py +27 -0
  250. uncountable/types/post_base.py +8 -0
  251. uncountable/types/post_base_t.py +30 -0
  252. uncountable/types/queued_job.py +16 -0
  253. uncountable/types/queued_job_t.py +123 -0
  254. uncountable/types/recipe_identifiers.py +12 -0
  255. uncountable/types/recipe_identifiers_t.py +76 -0
  256. uncountable/types/recipe_inputs.py +9 -0
  257. uncountable/types/recipe_inputs_t.py +30 -0
  258. uncountable/types/recipe_links.py +4 -45
  259. uncountable/types/recipe_links_t.py +54 -0
  260. uncountable/types/recipe_metadata.py +5 -45
  261. uncountable/types/recipe_metadata_t.py +58 -0
  262. uncountable/types/recipe_output_metadata.py +3 -19
  263. uncountable/types/recipe_output_metadata_t.py +28 -0
  264. uncountable/types/recipe_tags.py +3 -18
  265. uncountable/types/recipe_tags_t.py +27 -0
  266. uncountable/types/recipe_workflow_steps.py +14 -0
  267. uncountable/types/recipe_workflow_steps_t.py +95 -0
  268. uncountable/types/recipes.py +8 -0
  269. uncountable/types/recipes_t.py +25 -0
  270. uncountable/types/response.py +3 -20
  271. uncountable/types/response_t.py +26 -0
  272. uncountable/types/secret_retrieval.py +12 -0
  273. uncountable/types/secret_retrieval_t.py +75 -0
  274. uncountable/types/units.py +3 -18
  275. uncountable/types/units_t.py +27 -0
  276. uncountable/types/users.py +3 -19
  277. uncountable/types/users_t.py +28 -0
  278. uncountable/types/webhook_job.py +9 -0
  279. uncountable/types/webhook_job_t.py +37 -0
  280. uncountable/types/workflows.py +4 -27
  281. uncountable/types/workflows_t.py +39 -0
  282. UncountablePythonSDK-0.0.8.dist-info/METADATA +0 -27
  283. UncountablePythonSDK-0.0.8.dist-info/RECORD +0 -134
  284. examples/recipe-import/importer.py +0 -39
  285. type_spec/external/api/batch/execute_batch.yaml +0 -56
  286. type_spec/external/api/entity/create_entities.yaml +0 -33
  287. type_spec/external/api/entity/create_entity.yaml +0 -39
  288. type_spec/external/api/entity/get_entities_data.yaml +0 -29
  289. type_spec/external/api/entity/list_entities.yaml +0 -52
  290. type_spec/external/api/entity/resolve_entity_ids.yaml +0 -29
  291. type_spec/external/api/entity/set_values.yaml +0 -18
  292. type_spec/external/api/input_groups/get_input_group_names.yaml +0 -29
  293. type_spec/external/api/inputs/create_inputs.yaml +0 -48
  294. type_spec/external/api/inputs/get_input_data.yaml +0 -95
  295. type_spec/external/api/inputs/get_input_names.yaml +0 -38
  296. type_spec/external/api/inputs/get_inputs_data.yaml +0 -82
  297. type_spec/external/api/inputs/set_input_attribute_values.yaml +0 -33
  298. type_spec/external/api/outputs/get_output_data.yaml +0 -92
  299. type_spec/external/api/outputs/get_output_names.yaml +0 -35
  300. type_spec/external/api/outputs/resolve_output_conditions.yaml +0 -50
  301. type_spec/external/api/project/get_projects.yaml +0 -42
  302. type_spec/external/api/project/get_projects_data.yaml +0 -50
  303. type_spec/external/api/recipe_metadata/get_recipe_metadata_data.yaml +0 -41
  304. type_spec/external/api/recipes/create_recipes.yaml +0 -47
  305. type_spec/external/api/recipes/get_curve.yaml +0 -18
  306. type_spec/external/api/recipes/get_recipe_calculations.yaml +0 -39
  307. type_spec/external/api/recipes/get_recipe_links.yaml +0 -26
  308. type_spec/external/api/recipes/get_recipe_names.yaml +0 -29
  309. type_spec/external/api/recipes/get_recipe_output_metadata.yaml +0 -36
  310. type_spec/external/api/recipes/get_recipes_data.yaml +0 -238
  311. type_spec/external/api/recipes/set_recipe_inputs.yaml +0 -36
  312. type_spec/external/api/recipes/set_recipe_outputs.yaml +0 -52
@@ -1,134 +0,0 @@
1
- examples/create_entity.py,sha256=0wpH-FvEgZmmlgkqL7tY7wAX6wvHdPQbMMJJvhagBok,622
2
- examples/recipe-import/importer.py,sha256=baD71xuNibxDTe3bGHsMEIZEf9Xtb-IumBNpCEV0RZU,1134
3
- pkgs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- pkgs/argument_parser/__init__.py,sha256=CsQ6QoPKSLLRVl-z6URAmPkiUL9ZPZoV4rJHgy_-RjA,385
5
- pkgs/argument_parser/_is_enum.py,sha256=JQPlVIW0z-N9Qux61TQXaqP3lIHEhOOGwe9--JcM4Ro,393
6
- pkgs/argument_parser/_is_namedtuple.py,sha256=Rjc1bKanIPPogl3qG5JPBxglG1TqWYOo1nxxhBASQWY,265
7
- pkgs/argument_parser/argument_parser.py,sha256=0jXJ_gUNYj9dxpuyFl64o-zRVDwWBiSC9mXKdP53i6I,14446
8
- pkgs/argument_parser/case_convert.py,sha256=J9wahIE-P95LvTqn4M4gDUx_RXeiW2SRo9i_1bz1E6A,558
9
- pkgs/serialization/__init__.py,sha256=quvXMSl1szddLTr4Yxo9KA9oBMoeX7qGpFkkAplFBbY,603
10
- pkgs/serialization/missing_sentry.py,sha256=aM_9KxbCk9dVvXvcOKgkIQBqFWvLhv8QlIUCiuFEXMo,806
11
- pkgs/serialization/opaque_key.py,sha256=FIfXEE0DA1U8R_taFbQ1RCoTSgehrPjP06-qvo-GeNQ,177
12
- pkgs/serialization/serial_class.py,sha256=xTFf5E94bLTcDEQxS0xvc1QZUS6ntQeRqbiuSw12aRI,5182
13
- pkgs/serialization_util/__init__.py,sha256=4vX5j1pvd1NkznSVqwWqunVyOvQtLCgVuwRjVwDk7qg,447
14
- pkgs/serialization_util/_get_type_for_serialization.py,sha256=DSqvDAcf9pHCnDiTF9m4xkvQ38Bsq1i4mSoiJlQWaQc,1209
15
- pkgs/serialization_util/serialization_helpers.py,sha256=hVujmwH1nrvZlyaCPvrP2zhEqKfEfNnDV7yeF8vUW5Q,5109
16
- pkgs/strenum_compat/__init__.py,sha256=wXRFeNvBm8RU6dy1PFJ5sRLgUIEeH_DVR95Sv5qpGbk,59
17
- pkgs/strenum_compat/strenum_compat.py,sha256=vGJlrMZpOqiGXvv21IbS0amdB2xQ2CdYKvnfEfHLr8E,156
18
- pkgs/type_spec/__init__.py,sha256=h5DmJTca4QVV10sZR1x0-MlkZfuGYDfapR3zHvXfzto,19
19
- pkgs/type_spec/__main__.py,sha256=5bJaX9Y_-FavP0qwzhk-z-V97UY7uaezJTa1zhO_HHQ,1048
20
- pkgs/type_spec/builder.py,sha256=Pl3UzHYgci3XRYsJ-pEsrdKu26mrJeLQv66OS2KePGc,38993
21
- pkgs/type_spec/config.py,sha256=wXALehQr_CcteOY_KbeI3rtmGgqVzHcveAhgKCDfQoQ,4934
22
- pkgs/type_spec/emit_io_ts.py,sha256=gCEfS81w_ifqjLVJ3_cpy9Gq03o6H5nEsh35WAkqGGE,5606
23
- pkgs/type_spec/emit_open_api.py,sha256=8tidMRWubBmiiq-XCu_2732IvwTc6R3miurdlBCv3-w,16939
24
- pkgs/type_spec/emit_open_api_util.py,sha256=S4eHeryxiGUNujypmwn8UZQSlaCCWn7uMpiZzNJJqCg,2054
25
- pkgs/type_spec/emit_python.py,sha256=ixJ5aXzrpeGuNyuX3pfGRSWgUWgRNegX3ltgwqrmQJA,35580
26
- pkgs/type_spec/emit_typescript.py,sha256=6tlzvyHc7iIEic01AtjYWuzy7Ac3KijtXRQ3IQSN7JE,18670
27
- pkgs/type_spec/emit_typescript_util.py,sha256=MZMigIsYIYOXLjJqp-DSRYsztWbIKd9QQEmYRRqnGQ4,894
28
- pkgs/type_spec/load_types.py,sha256=LMIkrk0n-Kh4I4CUOBzuboYtsAHBYuMrL9d2hkU83f4,2184
29
- pkgs/type_spec/open_api_util.py,sha256=eJBYgKmu6twqParqWUIIywzx8RM-2dOIyoBLRMHMmqo,7414
30
- pkgs/type_spec/test.py,sha256=4ueujBq-pEgnX3Z69HyPmD-bullFXmpixcpVzfOkhP4,489
31
- pkgs/type_spec/util.py,sha256=pTV9EB4_M0tucWwape9_1m5maIi3UKPw44SA_Mc8KNA,4856
32
- pkgs/type_spec/parts/base.py.prepart,sha256=2RsjF9nTwERb7M0LKsPjGbN5cL2QMwMVt4QHpUPPM70,2147
33
- pkgs/type_spec/parts/base.ts.prepart,sha256=2FJJvpg2olCcavxj0nbYWdwKl6KeScour2JjSvN42l8,1001
34
- pkgs/type_spec/type_info/__main__.py,sha256=pmVjVqXyVh8vKTNCTFgz80Sg74C5BKToP3E6GS-X_So,857
35
- pkgs/type_spec/type_info/emit_type_info.py,sha256=xWcZsgdEwApqqvtinZXyyBM61FZ9rmP9oybKapz8xN4,7692
36
- pkgs/type_spec/value_spec/__init__.py,sha256=Z-grlcZtxAfEXhPHsK0nD7PFLGsv4eqvunaPN7_TA84,83
37
- pkgs/type_spec/value_spec/__main__.py,sha256=syggR7J5MjFiULgPKcwb1T9u6eEyJUm9UlkIwP8V5IU,8300
38
- pkgs/type_spec/value_spec/convert_type.py,sha256=SAYyEV6orQJJbkXSE4hhtOQJ2vKUXJCKPeYPrB8G9oA,2272
39
- pkgs/type_spec/value_spec/emit_python.py,sha256=M9NyHi-akTw4cUsHCEK7rsFirb8ngYThiIW7xh2xSko,6943
40
- pkgs/type_spec/value_spec/types.py,sha256=a2zxbbCRWepY1l8OtjeCDKgBKFPFHVgV99oP6pTtaro,441
41
- type_spec/external/api/batch/execute_batch.yaml,sha256=gpdSev3sLEC_cMVSZdj-9bc_XDFDqdPdOII9Ojme2N8,1170
42
- type_spec/external/api/entity/create_entities.yaml,sha256=9IsqkW6W2JhoraIkeNTV1JqZ5uF98u0gtFX9imHy038,1058
43
- type_spec/external/api/entity/create_entity.yaml,sha256=EFMeXrDskAizL4-6DKnC1boBCYvyHyt75ZMyoQmAhzE,1253
44
- type_spec/external/api/entity/get_entities_data.yaml,sha256=3XujG7bOpuBQlfFrYtG3L4fBk7LsmdSekmP9iU0zjF0,796
45
- type_spec/external/api/entity/list_entities.yaml,sha256=H2YVv6il-XVKd_7IipZqauTDvWCrvHok7z47bDH2sI4,1798
46
- type_spec/external/api/entity/resolve_entity_ids.yaml,sha256=Zf3OhAohwLJO7wWj0e-sK5lhIsXlD8A5Bu3OGjY4-tA,732
47
- type_spec/external/api/entity/set_values.yaml,sha256=_UDxSk09Ke0KDABt8ldOScC2CLrbAhBPArZvno5iD4I,422
48
- type_spec/external/api/input_groups/get_input_group_names.yaml,sha256=LYgnm2Or7ZWCzDGjl53Y1PcHvej8G7Mpp5H96Z4UZCg,913
49
- type_spec/external/api/inputs/create_inputs.yaml,sha256=pX8jatpve4iJxK7kYw7SBlQXlVHJVfLDCOrDdpn8Gsw,1561
50
- type_spec/external/api/inputs/get_input_data.yaml,sha256=-C4-9MbQjwKlWnst2RCA8yXAOVzHssXKfGDx-219pMA,3815
51
- type_spec/external/api/inputs/get_input_names.yaml,sha256=AgGcenh6wEbmhmx8i5CY-0hY0q5geZ04ECayE9Hr0Xw,1522
52
- type_spec/external/api/inputs/get_inputs_data.yaml,sha256=9wKwnOXC_KokThWnz5Me5RzIcGlxffwcKJtgFow-kvU,2368
53
- type_spec/external/api/inputs/set_input_attribute_values.yaml,sha256=RpOtVIWBlOp_Nd5Xp67IaQmCzGnLkNwFKQDi4WD8oX4,1021
54
- type_spec/external/api/outputs/get_output_data.yaml,sha256=78ywbknD-j8TNUabSCGv4JNE1FIehhvRQtrB0wQ7krY,3465
55
- type_spec/external/api/outputs/get_output_names.yaml,sha256=IqEYCOHeyHIu45Lf37sfzn-o_0VFk0u_Bqsb0NKHPzw,1334
56
- type_spec/external/api/outputs/resolve_output_conditions.yaml,sha256=lGrG6XPGiQtHx24GccPcO18xxAoMynTSC_2WwxCjFrc,1640
57
- type_spec/external/api/project/get_projects.yaml,sha256=pQXGGPHenmFWYUuzEmZ-ORf0_d6lpQkTrXXMRrEqvDI,1676
58
- type_spec/external/api/project/get_projects_data.yaml,sha256=8xQoyL8HlAropfZPYYcQ-W4fO4yuqueAWTKxRzTXAa0,1981
59
- type_spec/external/api/recipe_metadata/get_recipe_metadata_data.yaml,sha256=mJs82Ci8XSp2ng0W9MKqoeYwIjjgaVYmC5MWFmWFkR8,1759
60
- type_spec/external/api/recipes/create_recipes.yaml,sha256=eXMlXRpB5TFt1mUTECBa4aAIG3KrxYT2mJ5vxmZ9Q3A,1503
61
- type_spec/external/api/recipes/get_curve.yaml,sha256=QFRFst1EJ6T13G9R07kTiz-wvfxgDKbwHbmjgcvEaNc,568
62
- type_spec/external/api/recipes/get_recipe_calculations.yaml,sha256=ZE7PzfWrjS7TiO4q7iyCwEj5In8GwO6fFIYGqUlTEXo,1240
63
- type_spec/external/api/recipes/get_recipe_links.yaml,sha256=Vwm0OVWl3VvDaI7chY_oZQqD8xZ1u09iFWKkZKn1ITo,766
64
- type_spec/external/api/recipes/get_recipe_names.yaml,sha256=4tqcVj-xLeEu0lhdm8NpLYmAvfkmq08GZ0Mr59I5nLI,896
65
- type_spec/external/api/recipes/get_recipe_output_metadata.yaml,sha256=YImW94JXVKR6Wz_7R7sRbhD9Ul51Ba-j-x9vJB__AAU,1216
66
- type_spec/external/api/recipes/get_recipes_data.yaml,sha256=motc7yhI104V1TsMD9W_WdeTKNWLQwcuOeftAWAxnpE,11541
67
- type_spec/external/api/recipes/set_recipe_inputs.yaml,sha256=LH5qcKZfwO3Sk6YARENa08DP1h1wwPirA8cvXPqAhvo,1449
68
- type_spec/external/api/recipes/set_recipe_outputs.yaml,sha256=Oe8XGYXbPNmrbEDXk3qucfS1L3P9TnXI5cxaNAl6x5A,1875
69
- uncountable/__init__.py,sha256=281cC2hs8pbrD0jVKMol-tbWSh7Zcsc8oRT42dKteyE,102
70
- uncountable/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
- uncountable/core/__init__.py,sha256=GCXRRhhYv-yKzqKjAij7GcNiOr90BBbgdhhpusWtmUc,100
72
- uncountable/core/client.py,sha256=jcJBGwe31fOqfGiUJzW_KMcfE0hax55jgVVliALBNLQ,4160
73
- uncountable/types/__init__.py,sha256=SbBDFhHu5iqnvnYjWCBOkjg3_mXuaBHEGfnq021wfHw,3873
74
- uncountable/types/base.py,sha256=7yMC3sCQ13wd92896Ga2XbZffCqq98SKv09rFGb1ulg,2682
75
- uncountable/types/calculations.py,sha256=16J-KKMp-I8ZQUkYNmKCHfAn6DGb99cFinALcDIdGHY,562
76
- uncountable/types/client_base.py,sha256=fEpoCxiBEmfdLUYEV1z2IVpm1K65LtHUdZoC10AMsAQ,21085
77
- uncountable/types/curves.py,sha256=qYyRntMmFNonEwTrGhquMLbgMqjyP1moQflNTP0FMec,1308
78
- uncountable/types/entity.py,sha256=NjMZrqBwQ7sZe_oUuJqy9IEG7dWZmFMkQQXJ0_odcnA,11637
79
- uncountable/types/experiment_groups.py,sha256=ZBEk06F4n98Jz3oEA09WaDmw5rqPs7iVAm_Ysr4gc_o,599
80
- uncountable/types/field_values.py,sha256=2unBAeBqQPqLQKaL6nGpnDDksZ-5MZepgEF3sgy6oOk,1670
81
- uncountable/types/fields.py,sha256=eGtZ6axTYGFxLmPAyri2LwlcR4SZ2sX2c6QDX0ybKz0,570
82
- uncountable/types/input_attributes.py,sha256=u-JABoZ-Ij1Ynq5g6MxOgRdQeYbM7OnGP2q_N7KuVdw,826
83
- uncountable/types/inputs.py,sha256=q7fNGaSKIk3R6uXCEhSQpiHvXu82YcK3oZHDI7bxE88,1597
84
- uncountable/types/outputs.py,sha256=hSUlu41sisYKIZpPrj1G1DRfKm6hsKNcd1eNKFYb-4w,671
85
- uncountable/types/phases.py,sha256=eaqwQlSRC2Ug7YFL0gqLbg3wDDHeRvBOhcABG7khW8c,550
86
- uncountable/types/recipe_links.py,sha256=RldSV7SdeBYa0bx02DzMg4jfPdgrlMRE40T16Fdy8u4,1406
87
- uncountable/types/recipe_metadata.py,sha256=NpRnz9QO2t21eTyf-M9_HBdQzcd55OgFM1dx6ZEg22w,1341
88
- uncountable/types/recipe_output_metadata.py,sha256=XJA8R1r4NTzyR_DhMkmH4ZtYD-vqpvBMji9Be8OcFmo,613
89
- uncountable/types/recipe_tags.py,sha256=lYpksHAxXCcIjZKR7JoZOTH2cBSovwxZaHwjZy_yqiQ,581
90
- uncountable/types/response.py,sha256=ZI0CG7ZxBM2k5_W-6mNMU3UlB0p1i-0nrwOvsMaS-vU,620
91
- uncountable/types/units.py,sha256=_kZ7KkXIbRiY2fOdkTsbJBpWRah5TCC2WWiG05e-1DA,565
92
- uncountable/types/users.py,sha256=SUjNHBDcImKnnE7IN096Wfr1fmjNjCkQ7yQgKUPffz8,588
93
- uncountable/types/workflows.py,sha256=bj2xaH6mFAPLNeFDepGw1TvuBbsyP43wTx8_LY0nwcM,808
94
- uncountable/types/api/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8APdZYUniAor8,55
95
- uncountable/types/api/batch/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8APdZYUniAor8,55
96
- uncountable/types/api/batch/execute_batch.py,sha256=cCZo_akwJR4_ET6oOBChdlrCQlxUw8V9i8tDpv7JTIc,1696
97
- uncountable/types/api/entity/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8APdZYUniAor8,55
98
- uncountable/types/api/entity/create_entities.py,sha256=jjVeLmX6bKzIpnSZ0WtdVxcmA4K3ytodOgtjN_QewEU,1446
99
- uncountable/types/api/entity/create_entity.py,sha256=tZEldeG0l7-nTcrzTw3RcAXwKh0_I4MuB-7EalUg8mE,1616
100
- uncountable/types/api/entity/get_entities_data.py,sha256=XjrJGZucIn1TYUlDLRnRA0JTQw-vXHIAT-m0H9hk37A,1170
101
- uncountable/types/api/entity/list_entities.py,sha256=_bIIZJj3N0E6YiHgqzfCOKxD1fQW6biWJQMp5wIVbBw,1514
102
- uncountable/types/api/entity/resolve_entity_ids.py,sha256=AidGpPmI9ATDv0E7vd9LDOl3n3beGxUlRojh5uZrkl4,1086
103
- uncountable/types/api/entity/set_values.py,sha256=LcYrKQm5ItYLK1Vx7rRq5i6jkMLDhfEBhF0FD1GowQs,958
104
- uncountable/types/api/input_groups/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8APdZYUniAor8,55
105
- uncountable/types/api/input_groups/get_input_group_names.py,sha256=LdHWWEfVNGys6Tudienjich56Zz4bj7uXznpyYitCYA,1033
106
- uncountable/types/api/inputs/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8APdZYUniAor8,55
107
- uncountable/types/api/inputs/create_inputs.py,sha256=ykXjqKoE8WOy5N47jcjDVzSdiZx9GlB0FcTyuJdn8FU,1675
108
- uncountable/types/api/inputs/get_input_data.py,sha256=X30bb3eJEl7RweXMsSGlEpAZbF4rZvr8Mse5IMNAao4,2161
109
- uncountable/types/api/inputs/get_input_names.py,sha256=8vUA9maZdogngeYbr-DpifNrokJ16BgDN5LQvTrEvSc,1153
110
- uncountable/types/api/inputs/get_inputs_data.py,sha256=sqZ6xEjzQqRQYMaKXLGWR8WPhWbO6J6zZT8zSTEer84,1841
111
- uncountable/types/api/inputs/set_input_attribute_values.py,sha256=yvWgIVzl818ewhUA4v3ldSBfmZKngdWTtFn7fqk-dOE,1341
112
- uncountable/types/api/outputs/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8APdZYUniAor8,55
113
- uncountable/types/api/outputs/get_output_data.py,sha256=Zs1-8jJEPNltMq6DQisSGSItqgTpRD9WFi0wMfDscf8,2182
114
- uncountable/types/api/outputs/get_output_names.py,sha256=Id_ApombSzzFdq5rD4uOfWIKzthic6KBAeyqcrhsx18,1086
115
- uncountable/types/api/outputs/resolve_output_conditions.py,sha256=XZqUseXcGhApHmPm-2u7a37Y4blLRxoPoLhvYlBfCpI,1799
116
- uncountable/types/api/project/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8APdZYUniAor8,55
117
- uncountable/types/api/project/get_projects.py,sha256=dMPq8CHxE4k1Vs42TmC4dp9b1jYp0TPlkICacAqrwXQ,1235
118
- uncountable/types/api/project/get_projects_data.py,sha256=HtUI5YN7S24v7o2VvNBWZkYFnGjFqJzBNoV0ojRx39E,1491
119
- uncountable/types/api/recipe_metadata/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8APdZYUniAor8,55
120
- uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py,sha256=el6Pn5XqExX66ZEEHM8CHPxnyXSMZPdfdvLBz86sAVY,1267
121
- uncountable/types/api/recipes/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8APdZYUniAor8,55
122
- uncountable/types/api/recipes/create_recipes.py,sha256=qwIYa8hfcjY7_VOFt9lxmVtJ-HOJqQN3GDNSbZsRCZU,1544
123
- uncountable/types/api/recipes/get_curve.py,sha256=lF8MDmBfxm_cIuDxhE80viSFNbcPEkgYkadNFeuI5e4,854
124
- uncountable/types/api/recipes/get_recipe_calculations.py,sha256=eQmkdZzCEuq8S2f_kf_7GPvDLX1pTnY1CRmkK0SkMCI,1472
125
- uncountable/types/api/recipes/get_recipe_links.py,sha256=hk5dfQjv7yU2r-S9b8vwWEJLPHqU0-M6SFiTLMR3fVk,985
126
- uncountable/types/api/recipes/get_recipe_names.py,sha256=uCpXZq5oWjr9a_Vf-yYPaVS72XOlLHgAlju6KHeQ3UA,986
127
- uncountable/types/api/recipes/get_recipe_output_metadata.py,sha256=L9s2ykPP4pd02Pc98LDisY8bgV8CToS6t6fXKTWqGRw,1464
128
- uncountable/types/api/recipes/get_recipes_data.py,sha256=dOKokz6rJp3AiqNrF8rAZFlmJSs3ejdNIJhwKw0Utr0,5317
129
- uncountable/types/api/recipes/set_recipe_inputs.py,sha256=sHEwPocBucWRnnoX7nbNaFqdflxFkqdjuVydNezqluY,1326
130
- uncountable/types/api/recipes/set_recipe_outputs.py,sha256=QYq39TNchQ80ET1C77OE9fwhbu_HmIoEDmrQJHkkCu0,1609
131
- UncountablePythonSDK-0.0.8.dist-info/METADATA,sha256=Tbt6PxvCFuyUjcs2twY0ze73oOxiNWsPV8DgdLu6EmI,1125
132
- UncountablePythonSDK-0.0.8.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
133
- UncountablePythonSDK-0.0.8.dist-info/top_level.txt,sha256=8ga1DCSWt4Uc_XJ5cR0QrDQuyoeo2uoSzaAJdQT2KBo,36
134
- UncountablePythonSDK-0.0.8.dist-info/RECORD,,
@@ -1,39 +0,0 @@
1
- from typing import Iterable, Optional
2
- import itertools
3
- from dataclasses import dataclass
4
- from src.client.requests_client import Client
5
- from src.types.api.recipes.external_create_recipes import (
6
- Arguments,
7
- ExternalCreateRecipeDefinition,
8
- )
9
- from src.types.api.entity.external_resolve_entity_identifiers import (
10
- EntityIdentifier
11
- )
12
- from src.types.base import ObjectId
13
-
14
-
15
-
16
- @dataclass(kw_only=True)
17
- class RecipeIngredientData:
18
- ingredient_identifier: EntityIdentifier
19
- recipe_step_id: Optional[ObjectId] = None
20
- value_numeric: Optional[str] = None
21
- value_str: Optional[str] = None
22
- set_actual_value: bool = False
23
-
24
-
25
- def import_recipes(
26
- client: Client,
27
- material_family_id: ObjectId,
28
- project_id: Optional[ObjectId],
29
- recipe_data: Iterable[ExternalCreateRecipeDefinition],
30
- batch_size: int = 100,
31
- ) -> None:
32
- for batch in itertools.batched(recipe_data, batch_size):
33
- client.external_create_recipes(
34
- Arguments(
35
- material_family_id=material_family_id,
36
- project_id=project_id,
37
- recipe_definitions=list(batch),
38
- )
39
- )
@@ -1,56 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: post
4
- path: ${external}/batch/execute_batch
5
- function: main.site.app.external.batch.execute_batch.execute_batch
6
- desc: Run multiple API calls via one request
7
-
8
- RequestMethod:
9
- type: StringEnum
10
- values:
11
- get: GET
12
- head: HEAD
13
- post: POST
14
- put: PUT
15
- delete: DELETE
16
- connect: CONNECT
17
- options: OPTIONS
18
- trace: TRACE
19
- patch: PATCH
20
-
21
- BatchRequest:
22
- type: Object
23
- properties:
24
- path:
25
- type: String
26
- method:
27
- type: RequestMethod
28
- data:
29
- convert_value: no_convert
30
- type: JsonValue
31
- desc: JSON payload for the api call
32
-
33
- Arguments:
34
- type: Object
35
- properties:
36
- requests:
37
- type: List<BatchRequest>
38
-
39
- BatchResponse:
40
- type: Object
41
- properties:
42
- path:
43
- type: String
44
- method:
45
- type: RequestMethod
46
- status_code:
47
- type: Integer
48
- response:
49
- convert_value: no_convert
50
- type: JsonValue
51
-
52
- Data:
53
- type: Object
54
- properties:
55
- responses:
56
- type: List<BatchResponse>
@@ -1,33 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: post
4
- path: ${external}/entity/external_create_entities
5
- function: main.site.app.external.entity.create_entities.create_entities
6
- desc: "Creates new Uncountable entities"
7
-
8
-
9
- EntityToCreate:
10
- type: Object
11
- properties:
12
- field_values?:
13
- type: Optional<List<field_values.FieldRefNameValue>>
14
-
15
- Arguments:
16
- type: Object
17
- properties:
18
- definition_id:
19
- type: ObjectId
20
- desc: "Definition id for the entities to create"
21
- entity_type:
22
- type: Union<Literal<entity.EntityType.lab_request>, Literal<entity.EntityType.approval>, Literal<entity.EntityType.custom_entity>, Literal<entity.EntityType.task>, Literal<entity.EntityType.project>>
23
- desc: "The type of the entities to create"
24
- entities_to_create:
25
- type: List<EntityToCreate>
26
- desc: "A list of the entities to create"
27
-
28
- Data:
29
- type: Object
30
- properties:
31
- entities:
32
- type: List<entity.Entity>
33
- desc: The entities created
@@ -1,39 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: post
4
- path: ${external}/entity/external_create_entity
5
- function: main.site.app.external.entity.create_entity.create_entity
6
- desc: "Creates a new Uncountable entity"
7
- is_sdk: true
8
-
9
- EntityFieldInitialValue:
10
- type: Object
11
- properties:
12
- field_ref_name:
13
- type: String
14
- desc: "A unique identifer string for the field"
15
- row_index?:
16
- type: Optional<Integer>
17
- desc: "The index in the table for the field"
18
- value:
19
- type: JsonValue
20
- desc: "The value for the field"
21
-
22
- Arguments:
23
- type: Object
24
- properties:
25
- definition_id:
26
- type: ObjectId
27
- desc: "Definition id of the entity to create"
28
- entity_type:
29
- type: Union<Literal<entity.EntityType.lab_request>, Literal<entity.EntityType.approval>, Literal<entity.EntityType.custom_entity>, Literal<entity.EntityType.task>, Literal<entity.EntityType.project>>
30
- desc: "The type of the entities requested"
31
- field_values?:
32
- type: Optional<List<field_values.FieldRefNameValue>>
33
-
34
- Data:
35
- type: Object
36
- properties:
37
- entity:
38
- type: entity.Entity
39
- desc: The entity created
@@ -1,29 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: get
4
- path: ${external}/entity/external_get_entities_data
5
- function: main.site.app.external.entity.get_entities_data.get_entities_data
6
- desc: "Gets the details for a passed entity"
7
- Arguments:
8
- type: Object
9
- properties:
10
- entity_ids:
11
- type: List<ObjectId>
12
- desc: "Ids of the entity to retrieve"
13
- entity_type:
14
- type: entity.EntityType
15
- desc: "The type of the entities requested, e.g. lab_request or approval"
16
-
17
- EntityDetails:
18
- type: Object
19
- properties:
20
- entity:
21
- type: entity.Entity
22
- field_values:
23
- type: List<field_values.FieldRefIdNameValue>
24
-
25
- Data:
26
- type: Object
27
- properties:
28
- entity_details:
29
- type: List<EntityDetails>
@@ -1,52 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: get
4
- path: ${external}/entity/external_list_entities
5
- function: main.site.app.external.entity.list_entities.list_entities
6
- desc: "Uses a structured loading configuration to list entities in the system"
7
- Arguments:
8
- type: Object
9
- properties:
10
- entity_type:
11
- type: entity.EntityType
12
- desc: "The type of the entities requested, e.g. lab_request, recipe"
13
- config_reference:
14
- type: String
15
- desc: "The configuration reference name for the listing config"
16
- attributes?:
17
- type: Dict<OpaqueKey, JsonValue>
18
- desc: "Attributes to pass to the configuration for parameterizing filters"
19
- offset?:
20
- type: Optional<Integer>
21
- desc: "Used for pagination. Pagination is done based on the sorting of the config"
22
- limit?:
23
- type: Optional<Integer>
24
- 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"
25
-
26
- EntityResult:
27
- type: Object
28
- properties:
29
- entity:
30
- type: entity.Entity
31
- desc: "The entity represented by the record"
32
- column_values:
33
- type: List<JsonValue>
34
- desc: "The column values loaded from the configuration"
35
-
36
- ColumnAccess:
37
- type: Object
38
- properties:
39
- name:
40
- type: String
41
- desc: "The name for the identifier for this column. Note that this will be replaced with the label in the future"
42
- table_label:
43
- type: Optional<String>
44
- desc: "The name manually set for the column"
45
-
46
- Data:
47
- type: Object
48
- properties:
49
- columns:
50
- type: List<ColumnAccess>
51
- results:
52
- type: List<EntityResult>
@@ -1,29 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: get
4
- path: ${external}/entity/external_resolve_entity_ids
5
- function: main.site.app.external.entity.resolve_entity_ids.resolve_entity_ids
6
- desc: "Gets the names for passed in ids"
7
- Arguments:
8
- type: Object
9
- properties:
10
- entity_ids:
11
- type: List<Union<String, ObjectId>>
12
- desc: "Ids of the entity to retrieve"
13
- entity_type:
14
- type: entity.EntityType
15
- desc: "The type of the entities requested"
16
-
17
- EntityNames:
18
- type: Object
19
- properties:
20
- id:
21
- type: Union<String, Integer>
22
- name:
23
- type: String
24
-
25
- Data:
26
- type: Object
27
- properties:
28
- items:
29
- type: List<EntityNames>
@@ -1,18 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: post
4
- path: ${external}/entity/external_set_values
5
- function: main.site.app.external.entity.set_values.set_values
6
- desc: "Sets field values for an entity"
7
-
8
- Arguments:
9
- type: Object
10
- properties:
11
- entity:
12
- type: entity.Entity
13
- values:
14
- type: List<field_values.ArgumentValueRefName>
15
-
16
- Data:
17
- type: response.Response
18
- properties:
@@ -1,29 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: get
4
- path: ${external}/input_groups/external_get_input_group_names
5
- function: main.site.app.external.input_groups.get_input_group_names.get_input_group_names
6
- desc: "Gets the name of all input groups in a material family that either the user created, or are shared to all users."
7
-
8
- Arguments:
9
- type: Object
10
- properties:
11
- material_family_id:
12
- type: ObjectId
13
- desc: "Required: The Material Family ID to get the input groups from."
14
-
15
- SimpleInputGroup:
16
- type: Object
17
- properties:
18
- input_group_id:
19
- type: ObjectId
20
- desc: "The unique integer ID of the input group. Used for joining and identification elsewhere"
21
- name:
22
- type: String
23
- desc: "The name of the input group"
24
-
25
- Data:
26
- type: Object
27
- properties:
28
- input_groups:
29
- type: List<SimpleInputGroup>
@@ -1,48 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: post
4
- path: ${external}/inputs/external_create_inputs
5
- function: main.site.app.external.inputs.create_inputs.external_create_inputs
6
- desc: "Creates new inputs"
7
- is_sdk: true
8
-
9
- Arguments:
10
- type: Object
11
- properties:
12
- inputs_to_create:
13
- type: List<InputToCreate>
14
- desc: "A list of inputs to create"
15
-
16
- InputToCreate:
17
- type: Object
18
- properties:
19
- name:
20
- type: String
21
- material_family_ids:
22
- type: List<ObjectId>
23
- desc: "The list of material families to add the ingredient to. This must be non-empty"
24
- quantity_type:
25
- type: Union<Literal<inputs.IngredientQuantityType.numeric>, Literal<inputs.IngredientQuantityType.text>>
26
- desc: "The quantity type of the input. Always numeric for standard inputs"
27
- type:
28
- type: Union<Literal<inputs.IngredientType.ingredient>, Literal<inputs.IngredientType.process_parameter>>
29
- desc: "The type of the input, E.g. ingredient, process parameter"
30
- attributes?:
31
- type: List<input_attributes.InputAttributeValue>
32
- desc: "The attributes of the input"
33
- category_id?:
34
- type: ObjectId
35
- desc: The unique identifier for the category to set for the input
36
-
37
- InputSimple:
38
- type: Object
39
- properties:
40
- input_id:
41
- type: ObjectId
42
- desc: "A unique identifier for the id"
43
-
44
- Data:
45
- type: Object
46
- properties:
47
- inputs:
48
- type: List<InputSimple>
@@ -1,95 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: get
4
- path: ${external}/inputs/external_get_input_data
5
- function: main.site.app.external.inputs.get_input_data.get_input_data
6
- desc: "Gets the attribute, categorization and other metadata associated with a set of inputs. An input is either an ingredient or process parameter, with metadata and calculations assigned separately"
7
-
8
- Arguments:
9
- type: Object
10
- properties:
11
- material_family_id:
12
- type: ObjectId
13
- desc: "The material family ID to get the input values from."
14
- input_ids:
15
- type: Optional<List<ObjectId>>
16
- desc: "The input IDs to get the data from. If this is not filled in, all inputs 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 input ID"
20
- is_parameter:
21
- type: Optional<Boolean>
22
- desc: "Whether to get parameters or ingredients. By default both are returned. When set to true, only parameters are returned, and when set to false, only ingredients are returned"
23
- limit?:
24
- type: Optional<Integer>
25
- 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"
26
-
27
- SimpleInputAttr:
28
- type: Object
29
- properties:
30
- attribute_id:
31
- type: ObjectId
32
- desc: "The unique integer ID for the input attribute value. Used for joining and identification elsewhere."
33
- name:
34
- type: String
35
- desc: "The name of the input attribute"
36
- quantity_type:
37
- type: String
38
- desc: "The quantity type of the input attribute, such as numeric, categorical or text"
39
-
40
- SimpleInputGlobalCategory:
41
- type: Object
42
- properties:
43
- category_id:
44
- type: ObjectId
45
- desc: "The unique integer ID for the global category. Used for joining and identification elsewhere."
46
- name:
47
- type: String
48
- desc: "The name of the input global category"
49
-
50
- SimpleInputSubcategory:
51
- type: Object
52
- properties:
53
- subcategory_id:
54
- type: ObjectId
55
- desc: "The unique integer ID for the subcategory. Used for joining and identification elsewhere."
56
- name:
57
- type: String
58
- desc: "The name of the input subcategory"
59
-
60
- FullInput:
61
- type: Object
62
- properties:
63
- input_id:
64
- type: ObjectId
65
- desc: "The unique integer ID of the input value. Used for joining and identification elsewhere"
66
- name:
67
- type: String
68
- desc: "The name of the input"
69
- quantity_type:
70
- type: String
71
- desc: "The quantity type of the input, such as numeric, categorical or text"
72
- is_parameter:
73
- type: Boolean
74
- desc: "Whether the input is a process parameter (true) or an ingredient (false)"
75
- attributes:
76
- type: List<input_attributes.InputAttributeValue>
77
- desc: "Attributes associated with an input, such as CAS number, density, etc."
78
- global_category_id:
79
- type: ObjectId
80
- desc: "The global category ID associated with the input"
81
- subcategory_ids:
82
- type: List<ObjectId>
83
- desc: "The subcategory IDs associated with an input. Inputs can be placed into an unlimited number of subcategories"
84
-
85
- Data:
86
- type: Object
87
- properties:
88
- inputs:
89
- type: List<FullInput>
90
- attrs:
91
- type: List<SimpleInputAttr>
92
- global_categories:
93
- type: List<SimpleInputGlobalCategory>
94
- subcategories:
95
- type: List<SimpleInputSubcategory>
@@ -1,38 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: get
4
- path: ${external}/inputs/external_get_input_names
5
- function: main.site.app.external.inputs.get_input_names.get_input_names
6
- desc: "Gets the name of all inputs for a material family. An input is either an ingredient or process parameter, with metadata and calculations assigned separately"
7
-
8
- Arguments:
9
- type: Object
10
- properties:
11
- material_family_id:
12
- type: ObjectId
13
- desc: "The material family ID to get the input values from"
14
- offset?:
15
- type: Optional<Integer>
16
- desc: "Used for pagination, where the number of results returned exceeds the limit. Results are always ordered by the input ID"
17
- is_parameter:
18
- type: Optional<Boolean>
19
- desc: "Whether to get parameters or ingredients. By default both are returned. When set to true, only parameters are returned, and when set to false, only ingredients are returned"
20
- limit?:
21
- type: Optional<Integer>
22
- desc: "The maximum number of results to return. By default this is set to 20,000 and it cannot be set higher than 20,000"
23
-
24
- InputWithName:
25
- type: Object
26
- properties:
27
- input_id:
28
- type: ObjectId
29
- desc: "The unique integer ID of the input value. Used for joining and identification elsewhere"
30
- name:
31
- type: String
32
- desc: "The name of the input"
33
-
34
- Data:
35
- type: Object
36
- properties:
37
- inputs:
38
- type: List<InputWithName>