UncountablePythonSDK 0.0.24__py3-none-any.whl → 0.0.131__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 (373) hide show
  1. docs/conf.py +60 -8
  2. docs/index.md +107 -4
  3. docs/integration_examples/create_ingredient.md +43 -0
  4. docs/integration_examples/create_output.md +56 -0
  5. docs/integration_examples/index.md +6 -0
  6. docs/justfile +2 -2
  7. docs/requirements.txt +7 -5
  8. examples/async_batch.py +5 -6
  9. examples/basic_auth.py +7 -0
  10. examples/create_entity.py +4 -6
  11. examples/create_ingredient_sdk.py +34 -0
  12. examples/download_files.py +26 -0
  13. examples/edit_recipe_inputs.py +50 -0
  14. examples/integration-server/jobs/materials_auto/concurrent_cron.py +11 -0
  15. examples/integration-server/jobs/materials_auto/example_cron.py +21 -0
  16. examples/integration-server/jobs/materials_auto/example_http.py +47 -0
  17. examples/integration-server/jobs/materials_auto/example_instrument.py +100 -0
  18. examples/integration-server/jobs/materials_auto/example_parse.py +140 -0
  19. examples/integration-server/jobs/materials_auto/example_predictions.py +61 -0
  20. examples/integration-server/jobs/materials_auto/example_runsheet_wh.py +39 -0
  21. examples/integration-server/jobs/materials_auto/example_wh.py +23 -0
  22. examples/integration-server/jobs/materials_auto/profile.yaml +104 -0
  23. examples/integration-server/pyproject.toml +224 -0
  24. examples/invoke_uploader.py +26 -0
  25. examples/oauth.py +7 -0
  26. examples/set_recipe_metadata_file.py +40 -0
  27. examples/set_recipe_output_file_sdk.py +26 -0
  28. examples/upload_files.py +2 -3
  29. pkgs/argument_parser/__init__.py +9 -0
  30. pkgs/argument_parser/_is_namedtuple.py +3 -0
  31. pkgs/argument_parser/argument_parser.py +295 -74
  32. pkgs/argument_parser/case_convert.py +4 -3
  33. pkgs/filesystem_utils/__init__.py +20 -0
  34. pkgs/filesystem_utils/_blob_session.py +144 -0
  35. pkgs/filesystem_utils/_gdrive_session.py +309 -0
  36. pkgs/filesystem_utils/_local_session.py +69 -0
  37. pkgs/filesystem_utils/_s3_session.py +118 -0
  38. pkgs/filesystem_utils/_sftp_session.py +151 -0
  39. pkgs/filesystem_utils/file_type_utils.py +91 -0
  40. pkgs/filesystem_utils/filesystem_session.py +39 -0
  41. pkgs/py.typed +0 -0
  42. pkgs/serialization/__init__.py +8 -1
  43. pkgs/serialization/annotation.py +64 -0
  44. pkgs/serialization/missing_sentry.py +1 -1
  45. pkgs/serialization/opaque_key.py +1 -1
  46. pkgs/serialization/serial_alias.py +47 -0
  47. pkgs/serialization/serial_class.py +69 -54
  48. pkgs/serialization/serial_generic.py +16 -0
  49. pkgs/serialization/serial_union.py +84 -0
  50. pkgs/serialization/yaml.py +57 -0
  51. pkgs/serialization_util/__init__.py +7 -7
  52. pkgs/serialization_util/convert_to_snakecase.py +27 -0
  53. pkgs/serialization_util/dataclasses.py +14 -0
  54. pkgs/serialization_util/serialization_helpers.py +117 -71
  55. pkgs/type_spec/actions_registry/__main__.py +0 -4
  56. pkgs/type_spec/actions_registry/emit_typescript.py +5 -5
  57. pkgs/type_spec/builder.py +438 -109
  58. pkgs/type_spec/builder_types.py +9 -0
  59. pkgs/type_spec/config.py +52 -24
  60. pkgs/type_spec/cross_output_links.py +99 -0
  61. pkgs/type_spec/emit_io_ts.py +1 -1
  62. pkgs/type_spec/emit_open_api.py +160 -41
  63. pkgs/type_spec/emit_open_api_util.py +13 -7
  64. pkgs/type_spec/emit_python.py +450 -136
  65. pkgs/type_spec/emit_typescript.py +117 -250
  66. pkgs/type_spec/emit_typescript_util.py +293 -4
  67. pkgs/type_spec/load_types.py +20 -5
  68. pkgs/type_spec/non_discriminated_union_exceptions.py +14 -0
  69. pkgs/type_spec/open_api_util.py +29 -4
  70. pkgs/type_spec/parts/base.py.prepart +13 -10
  71. pkgs/type_spec/parts/base.ts.prepart +4 -0
  72. pkgs/type_spec/type_info/__main__.py +3 -1
  73. pkgs/type_spec/type_info/emit_type_info.py +161 -32
  74. pkgs/type_spec/ui_entry_actions/__init__.py +4 -0
  75. pkgs/type_spec/ui_entry_actions/generate_ui_entry_actions.py +308 -0
  76. pkgs/type_spec/util.py +4 -4
  77. pkgs/type_spec/value_spec/__main__.py +27 -10
  78. pkgs/type_spec/value_spec/convert_type.py +21 -1
  79. pkgs/type_spec/value_spec/emit_python.py +25 -7
  80. pkgs/type_spec/value_spec/types.py +1 -1
  81. uncountable/__init__.py +1 -2
  82. uncountable/core/__init__.py +11 -3
  83. uncountable/core/async_batch.py +16 -1
  84. uncountable/core/client.py +247 -52
  85. uncountable/core/environment.py +41 -0
  86. uncountable/core/file_upload.py +67 -22
  87. uncountable/core/types.py +8 -13
  88. uncountable/integration/cli.py +142 -0
  89. uncountable/integration/construct_client.py +43 -27
  90. uncountable/integration/cron.py +12 -11
  91. uncountable/integration/db/connect.py +12 -2
  92. uncountable/integration/db/session.py +25 -0
  93. uncountable/integration/entrypoint.py +4 -34
  94. uncountable/integration/executors/executors.py +147 -0
  95. uncountable/integration/executors/generic_upload_executor.py +336 -0
  96. uncountable/integration/executors/script_executor.py +15 -9
  97. uncountable/integration/http_server/__init__.py +5 -0
  98. uncountable/integration/http_server/types.py +69 -0
  99. uncountable/integration/job.py +246 -19
  100. uncountable/integration/queue_runner/__init__.py +0 -0
  101. uncountable/integration/queue_runner/command_server/__init__.py +28 -0
  102. uncountable/integration/queue_runner/command_server/command_client.py +133 -0
  103. uncountable/integration/queue_runner/command_server/command_server.py +142 -0
  104. uncountable/integration/queue_runner/command_server/constants.py +4 -0
  105. uncountable/integration/queue_runner/command_server/protocol/__init__.py +0 -0
  106. uncountable/integration/queue_runner/command_server/protocol/command_server.proto +58 -0
  107. uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.py +57 -0
  108. uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.pyi +114 -0
  109. uncountable/integration/queue_runner/command_server/protocol/command_server_pb2_grpc.py +264 -0
  110. uncountable/integration/queue_runner/command_server/types.py +75 -0
  111. uncountable/integration/queue_runner/datastore/__init__.py +3 -0
  112. uncountable/integration/queue_runner/datastore/datastore_sqlite.py +250 -0
  113. uncountable/integration/queue_runner/datastore/interface.py +29 -0
  114. uncountable/integration/queue_runner/datastore/model.py +24 -0
  115. uncountable/integration/queue_runner/job_scheduler.py +200 -0
  116. uncountable/integration/queue_runner/queue_runner.py +34 -0
  117. uncountable/integration/queue_runner/types.py +7 -0
  118. uncountable/integration/queue_runner/worker.py +116 -0
  119. uncountable/integration/scan_profiles.py +67 -0
  120. uncountable/integration/scheduler.py +199 -0
  121. uncountable/integration/secret_retrieval/__init__.py +3 -0
  122. uncountable/integration/secret_retrieval/retrieve_secret.py +93 -0
  123. uncountable/integration/server.py +103 -54
  124. uncountable/integration/telemetry.py +251 -0
  125. uncountable/integration/webhook_server/entrypoint.py +97 -0
  126. uncountable/types/__init__.py +149 -30
  127. uncountable/types/api/batch/execute_batch.py +16 -9
  128. uncountable/types/api/batch/execute_batch_load_async.py +13 -7
  129. uncountable/types/api/chemical/convert_chemical_formats.py +20 -8
  130. uncountable/types/api/condition_parameters/__init__.py +1 -0
  131. uncountable/types/api/condition_parameters/upsert_condition_match.py +72 -0
  132. uncountable/types/api/entity/create_entities.py +24 -12
  133. uncountable/types/api/entity/create_entity.py +22 -13
  134. uncountable/types/api/entity/create_or_update_entity.py +48 -0
  135. uncountable/types/api/entity/export_entities.py +59 -0
  136. uncountable/types/api/entity/get_entities_data.py +18 -9
  137. uncountable/types/api/entity/grant_entity_permissions.py +48 -0
  138. uncountable/types/api/entity/list_aggregate.py +79 -0
  139. uncountable/types/api/entity/list_entities.py +53 -14
  140. uncountable/types/api/entity/lock_entity.py +45 -0
  141. uncountable/types/api/entity/lookup_entity.py +116 -0
  142. uncountable/types/api/entity/resolve_entity_ids.py +19 -10
  143. uncountable/types/api/entity/set_entity_field_values.py +44 -0
  144. uncountable/types/api/entity/set_values.py +15 -8
  145. uncountable/types/api/entity/transition_entity_phase.py +27 -12
  146. uncountable/types/api/entity/unlock_entity.py +44 -0
  147. uncountable/types/api/equipment/__init__.py +1 -0
  148. uncountable/types/api/equipment/associate_equipment_input.py +43 -0
  149. uncountable/types/api/field_options/__init__.py +1 -0
  150. uncountable/types/api/field_options/upsert_field_options.py +55 -0
  151. uncountable/types/api/files/__init__.py +1 -0
  152. uncountable/types/api/files/download_file.py +77 -0
  153. uncountable/types/api/id_source/list_id_source.py +20 -11
  154. uncountable/types/api/id_source/match_id_source.py +15 -10
  155. uncountable/types/api/input_groups/get_input_group_names.py +16 -7
  156. uncountable/types/api/inputs/create_inputs.py +28 -14
  157. uncountable/types/api/inputs/get_input_data.py +34 -16
  158. uncountable/types/api/inputs/get_input_names.py +19 -10
  159. uncountable/types/api/inputs/get_inputs_data.py +29 -11
  160. uncountable/types/api/inputs/set_input_attribute_values.py +16 -10
  161. uncountable/types/api/inputs/set_input_category.py +44 -0
  162. uncountable/types/api/inputs/set_input_subcategories.py +45 -0
  163. uncountable/types/api/inputs/set_intermediate_type.py +50 -0
  164. uncountable/types/api/integrations/__init__.py +1 -0
  165. uncountable/types/api/integrations/publish_realtime_data.py +41 -0
  166. uncountable/types/api/integrations/push_notification.py +49 -0
  167. uncountable/types/api/integrations/register_sockets_token.py +41 -0
  168. uncountable/types/api/listing/__init__.py +1 -0
  169. uncountable/types/api/listing/fetch_listing.py +58 -0
  170. uncountable/types/api/material_families/__init__.py +1 -0
  171. uncountable/types/api/material_families/update_entity_material_families.py +47 -0
  172. uncountable/types/api/notebooks/__init__.py +1 -0
  173. uncountable/types/api/notebooks/add_notebook_content.py +119 -0
  174. uncountable/types/api/outputs/get_output_data.py +32 -17
  175. uncountable/types/api/outputs/get_output_names.py +18 -9
  176. uncountable/types/api/outputs/get_output_organization.py +173 -0
  177. uncountable/types/api/outputs/resolve_output_conditions.py +23 -11
  178. uncountable/types/api/permissions/set_core_permissions.py +31 -15
  179. uncountable/types/api/project/get_projects.py +20 -11
  180. uncountable/types/api/project/get_projects_data.py +23 -14
  181. uncountable/types/api/recipe_links/create_recipe_link.py +17 -10
  182. uncountable/types/api/recipe_links/remove_recipe_link.py +45 -0
  183. uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +19 -10
  184. uncountable/types/api/recipes/add_recipe_to_project.py +42 -0
  185. uncountable/types/api/recipes/add_time_series_data.py +64 -0
  186. uncountable/types/api/recipes/archive_recipes.py +14 -7
  187. uncountable/types/api/recipes/associate_recipe_as_input.py +16 -8
  188. uncountable/types/api/recipes/associate_recipe_as_lot.py +14 -7
  189. uncountable/types/api/recipes/clear_recipe_outputs.py +42 -0
  190. uncountable/types/api/recipes/create_mix_order.py +44 -0
  191. uncountable/types/api/recipes/create_recipe.py +21 -14
  192. uncountable/types/api/recipes/create_recipes.py +25 -13
  193. uncountable/types/api/recipes/disassociate_recipe_as_input.py +14 -7
  194. uncountable/types/api/recipes/edit_recipe_inputs.py +208 -19
  195. uncountable/types/api/recipes/get_column_calculation_values.py +57 -0
  196. uncountable/types/api/recipes/get_curve.py +15 -9
  197. uncountable/types/api/recipes/get_recipe_calculations.py +17 -11
  198. uncountable/types/api/recipes/get_recipe_links.py +14 -8
  199. uncountable/types/api/recipes/get_recipe_names.py +16 -7
  200. uncountable/types/api/recipes/get_recipe_output_metadata.py +16 -10
  201. uncountable/types/api/recipes/get_recipes_data.py +96 -45
  202. uncountable/types/api/recipes/lock_recipes.py +64 -0
  203. uncountable/types/api/recipes/remove_recipe_from_project.py +42 -0
  204. uncountable/types/api/recipes/set_recipe_inputs.py +19 -13
  205. uncountable/types/api/recipes/set_recipe_metadata.py +14 -7
  206. uncountable/types/api/recipes/set_recipe_output_annotations.py +114 -0
  207. uncountable/types/api/recipes/set_recipe_output_file.py +55 -0
  208. uncountable/types/api/recipes/set_recipe_outputs.py +40 -15
  209. uncountable/types/api/recipes/set_recipe_tags.py +30 -13
  210. uncountable/types/api/recipes/set_recipe_total.py +59 -0
  211. uncountable/types/api/recipes/unarchive_recipes.py +41 -0
  212. uncountable/types/api/recipes/unlock_recipes.py +51 -0
  213. uncountable/types/api/runsheet/__init__.py +1 -0
  214. uncountable/types/api/runsheet/complete_async_upload.py +41 -0
  215. uncountable/types/api/triggers/run_trigger.py +15 -8
  216. uncountable/types/api/uploader/__init__.py +1 -0
  217. uncountable/types/api/uploader/complete_async_parse.py +46 -0
  218. uncountable/types/api/uploader/invoke_uploader.py +46 -0
  219. uncountable/types/api/user/__init__.py +1 -0
  220. uncountable/types/api/user/get_current_user_info.py +40 -0
  221. uncountable/types/async_batch.py +8 -52
  222. uncountable/types/async_batch_processor.py +694 -18
  223. uncountable/types/async_batch_t.py +108 -0
  224. uncountable/types/async_jobs.py +8 -0
  225. uncountable/types/async_jobs_t.py +52 -0
  226. uncountable/types/auth_retrieval.py +11 -0
  227. uncountable/types/auth_retrieval_t.py +75 -0
  228. uncountable/types/base.py +5 -80
  229. uncountable/types/base_t.py +87 -0
  230. uncountable/types/calculations.py +3 -19
  231. uncountable/types/calculations_t.py +26 -0
  232. uncountable/types/chemical_structure.py +3 -23
  233. uncountable/types/chemical_structure_t.py +28 -0
  234. uncountable/types/client_base.py +1170 -88
  235. uncountable/types/client_config.py +8 -0
  236. uncountable/types/client_config_t.py +36 -0
  237. uncountable/types/curves.py +5 -43
  238. uncountable/types/curves_t.py +50 -0
  239. uncountable/types/data.py +12 -0
  240. uncountable/types/data_t.py +103 -0
  241. uncountable/types/entity.py +8 -270
  242. uncountable/types/entity_t.py +446 -0
  243. uncountable/types/experiment_groups.py +3 -19
  244. uncountable/types/experiment_groups_t.py +26 -0
  245. uncountable/types/exports.py +8 -0
  246. uncountable/types/exports_t.py +34 -0
  247. uncountable/types/field_values.py +25 -61
  248. uncountable/types/field_values_t.py +302 -0
  249. uncountable/types/fields.py +3 -20
  250. uncountable/types/fields_t.py +27 -0
  251. uncountable/types/generic_upload.py +14 -0
  252. uncountable/types/generic_upload_t.py +119 -0
  253. uncountable/types/id_source.py +7 -45
  254. uncountable/types/id_source_t.py +68 -0
  255. uncountable/types/identifier.py +6 -50
  256. uncountable/types/identifier_t.py +62 -0
  257. uncountable/types/input_attributes.py +3 -25
  258. uncountable/types/input_attributes_t.py +29 -0
  259. uncountable/types/inputs.py +6 -57
  260. uncountable/types/inputs_t.py +82 -0
  261. uncountable/types/integration_server.py +8 -0
  262. uncountable/types/integration_server_t.py +46 -0
  263. uncountable/types/integration_session.py +10 -0
  264. uncountable/types/integration_session_t.py +60 -0
  265. uncountable/types/integrations.py +10 -0
  266. uncountable/types/integrations_t.py +62 -0
  267. uncountable/types/job_definition.py +28 -0
  268. uncountable/types/job_definition_t.py +285 -0
  269. uncountable/types/listing.py +9 -0
  270. uncountable/types/listing_t.py +51 -0
  271. uncountable/types/notices.py +8 -0
  272. uncountable/types/notices_t.py +37 -0
  273. uncountable/types/notifications.py +11 -0
  274. uncountable/types/notifications_t.py +74 -0
  275. uncountable/types/outputs.py +3 -22
  276. uncountable/types/outputs_t.py +29 -0
  277. uncountable/types/overrides.py +9 -0
  278. uncountable/types/overrides_t.py +49 -0
  279. uncountable/types/permissions.py +3 -42
  280. uncountable/types/permissions_t.py +45 -0
  281. uncountable/types/phases.py +3 -19
  282. uncountable/types/phases_t.py +26 -0
  283. uncountable/types/post_base.py +3 -26
  284. uncountable/types/post_base_t.py +29 -0
  285. uncountable/types/queued_job.py +17 -0
  286. uncountable/types/queued_job_t.py +140 -0
  287. uncountable/types/recipe_identifiers.py +7 -58
  288. uncountable/types/recipe_identifiers_t.py +75 -0
  289. uncountable/types/recipe_inputs.py +4 -26
  290. uncountable/types/recipe_inputs_t.py +29 -0
  291. uncountable/types/recipe_links.py +4 -46
  292. uncountable/types/recipe_links_t.py +53 -0
  293. uncountable/types/recipe_metadata.py +5 -48
  294. uncountable/types/recipe_metadata_t.py +57 -0
  295. uncountable/types/recipe_output_metadata.py +3 -20
  296. uncountable/types/recipe_output_metadata_t.py +27 -0
  297. uncountable/types/recipe_tags.py +3 -19
  298. uncountable/types/recipe_tags_t.py +26 -0
  299. uncountable/types/recipe_workflow_steps.py +9 -73
  300. uncountable/types/recipe_workflow_steps_t.py +95 -0
  301. uncountable/types/recipes.py +7 -0
  302. uncountable/types/recipes_t.py +25 -0
  303. uncountable/types/response.py +3 -21
  304. uncountable/types/response_t.py +26 -0
  305. uncountable/types/secret_retrieval.py +11 -0
  306. uncountable/types/secret_retrieval_t.py +75 -0
  307. uncountable/types/sockets.py +20 -0
  308. uncountable/types/sockets_t.py +169 -0
  309. uncountable/types/structured_filters.py +25 -0
  310. uncountable/types/structured_filters_t.py +248 -0
  311. uncountable/types/units.py +3 -19
  312. uncountable/types/units_t.py +26 -0
  313. uncountable/types/uploader.py +24 -0
  314. uncountable/types/uploader_t.py +222 -0
  315. uncountable/types/users.py +3 -20
  316. uncountable/types/users_t.py +27 -0
  317. uncountable/types/webhook_job.py +9 -0
  318. uncountable/types/webhook_job_t.py +48 -0
  319. uncountable/types/workflows.py +4 -28
  320. uncountable/types/workflows_t.py +38 -0
  321. uncountablepythonsdk-0.0.131.dist-info/METADATA +64 -0
  322. uncountablepythonsdk-0.0.131.dist-info/RECORD +363 -0
  323. {UncountablePythonSDK-0.0.24.dist-info → uncountablepythonsdk-0.0.131.dist-info}/WHEEL +1 -1
  324. {UncountablePythonSDK-0.0.24.dist-info → uncountablepythonsdk-0.0.131.dist-info}/top_level.txt +0 -1
  325. UncountablePythonSDK-0.0.24.dist-info/METADATA +0 -47
  326. UncountablePythonSDK-0.0.24.dist-info/RECORD +0 -216
  327. docs/quickstart.md +0 -19
  328. examples/recipe-import/importer.py +0 -39
  329. type_spec/external/api/batch/execute_batch.yaml +0 -56
  330. type_spec/external/api/batch/execute_batch_load_async.yaml +0 -18
  331. type_spec/external/api/chemical/convert_chemical_formats.yaml +0 -33
  332. type_spec/external/api/entity/create_entities.yaml +0 -45
  333. type_spec/external/api/entity/create_entity.yaml +0 -51
  334. type_spec/external/api/entity/get_entities_data.yaml +0 -29
  335. type_spec/external/api/entity/list_entities.yaml +0 -52
  336. type_spec/external/api/entity/resolve_entity_ids.yaml +0 -29
  337. type_spec/external/api/entity/set_values.yaml +0 -18
  338. type_spec/external/api/entity/transition_entity_phase.yaml +0 -44
  339. type_spec/external/api/id_source/list_id_source.yaml +0 -35
  340. type_spec/external/api/id_source/match_id_source.yaml +0 -32
  341. type_spec/external/api/input_groups/get_input_group_names.yaml +0 -29
  342. type_spec/external/api/inputs/create_inputs.yaml +0 -48
  343. type_spec/external/api/inputs/get_input_data.yaml +0 -95
  344. type_spec/external/api/inputs/get_input_names.yaml +0 -38
  345. type_spec/external/api/inputs/get_inputs_data.yaml +0 -82
  346. type_spec/external/api/inputs/set_input_attribute_values.yaml +0 -33
  347. type_spec/external/api/outputs/get_output_data.yaml +0 -92
  348. type_spec/external/api/outputs/get_output_names.yaml +0 -35
  349. type_spec/external/api/outputs/resolve_output_conditions.yaml +0 -50
  350. type_spec/external/api/permissions/set_core_permissions.yaml +0 -69
  351. type_spec/external/api/project/get_projects.yaml +0 -42
  352. type_spec/external/api/project/get_projects_data.yaml +0 -50
  353. type_spec/external/api/recipe_links/create_recipe_link.yaml +0 -25
  354. type_spec/external/api/recipe_metadata/get_recipe_metadata_data.yaml +0 -41
  355. type_spec/external/api/recipes/archive_recipes.yaml +0 -20
  356. type_spec/external/api/recipes/associate_recipe_as_input.yaml +0 -19
  357. type_spec/external/api/recipes/associate_recipe_as_lot.yaml +0 -19
  358. type_spec/external/api/recipes/create_recipe.yaml +0 -39
  359. type_spec/external/api/recipes/create_recipes.yaml +0 -47
  360. type_spec/external/api/recipes/disassociate_recipe_as_input.yaml +0 -16
  361. type_spec/external/api/recipes/edit_recipe_inputs.yaml +0 -85
  362. type_spec/external/api/recipes/get_curve.yaml +0 -21
  363. type_spec/external/api/recipes/get_recipe_calculations.yaml +0 -39
  364. type_spec/external/api/recipes/get_recipe_links.yaml +0 -26
  365. type_spec/external/api/recipes/get_recipe_names.yaml +0 -29
  366. type_spec/external/api/recipes/get_recipe_output_metadata.yaml +0 -36
  367. type_spec/external/api/recipes/get_recipes_data.yaml +0 -244
  368. type_spec/external/api/recipes/set_recipe_inputs.yaml +0 -42
  369. type_spec/external/api/recipes/set_recipe_metadata.yaml +0 -20
  370. type_spec/external/api/recipes/set_recipe_outputs.yaml +0 -52
  371. type_spec/external/api/recipes/set_recipe_tags.yaml +0 -62
  372. type_spec/external/api/triggers/run_trigger.yaml +0 -18
  373. uncountable/integration/types.py +0 -89
@@ -1,44 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: post
4
- path: ${external}/entity/transition_entity_phase
5
- function: main.site.app.external.entity.transition_entity_phase.transition_entity_phase
6
- desc: "Transitions an entity from one phase to another"
7
-
8
-
9
- TransitionIdentifierPhases:
10
- type: Object
11
- properties:
12
- type:
13
- type: Literal<'phases'>
14
- phase_from_key:
15
- type: identifier.IdentifierKey
16
- phase_to_key:
17
- type: identifier.IdentifierKey
18
-
19
- TransitionIdentifierTransition:
20
- type: Object
21
- properties:
22
- type:
23
- type: Literal<'transition'>
24
- transition_key:
25
- type: identifier.IdentifierKey
26
-
27
-
28
- TransitionIdentifier:
29
- type: Alias
30
- alias: |
31
- Union<TransitionIdentifierPhases, TransitionIdentifierTransition>
32
-
33
-
34
- Arguments:
35
- type: Object
36
- properties:
37
- entity:
38
- type: entity.Entity
39
- transition:
40
- type: TransitionIdentifier
41
-
42
- Data:
43
- type: response.Response
44
- properties:
@@ -1,35 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: get
4
- path: ${external}/id_source/list_id_source
5
- function: main.site.app.external.id_source.list_id_source.list_id_source
6
- desc: "Lists id and label pairs"
7
- Arguments:
8
- type: Object
9
- properties:
10
- spec:
11
- type: id_source.IdSourceSpec
12
- desc: "The id source spec to use"
13
- search_label:
14
- type: String
15
- desc: Text to search within the labels to search matches
16
- offset?:
17
- type: Optional<Integer>
18
- desc: "Used for pagination. Pagination is done based on the sorting of the config"
19
- limit?:
20
- type: Optional<Integer>
21
- 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"
22
-
23
- IdName:
24
- type: Object
25
- properties:
26
- id:
27
- type: Union<ObjectId,String>
28
- name:
29
- type: String
30
-
31
- Data:
32
- type: Object
33
- properties:
34
- results:
35
- type: List<IdName>
@@ -1,32 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: get
4
- path: ${external}/id_source/match_id_source
5
- function: main.site.app.external.id_source.match_id_source.match_id_source
6
- desc: "Lists id and label pairs"
7
- Arguments:
8
- type: Object
9
- properties:
10
- spec:
11
- type: id_source.IdSourceSpec
12
- desc: "The id source spec to use"
13
- names:
14
- type: List<String>
15
- desc: "The names to match with the id source. At most 10 are allowed at a time"
16
-
17
- Match:
18
- type: Object
19
- properties:
20
- name:
21
- type: String
22
- desc: The name used to match
23
- ids:
24
- type: List<Union<ObjectId, String>>
25
- desc: The list of matches
26
-
27
- Data:
28
- type: Object
29
- properties:
30
- results:
31
- type: List<Match>
32
- convert_value: no_convert
@@ -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: Optional<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>
@@ -1,82 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: get
4
- path: ${external}/inputs/external_get_inputs_data
5
- function: main.site.app.external.inputs.get_inputs_data.get_inputs_data
6
- desc: "Gets the details for passed input ids"
7
-
8
- Arguments:
9
- type: Object
10
- properties:
11
- input_ids:
12
- type: List<ObjectId>
13
- desc: "Ids of the inputs to retrieve"
14
-
15
- AttributeDetails:
16
- type: Object
17
- properties:
18
- attribute_id:
19
- type: ObjectId
20
- desc: "A unique identifier for the attribute."
21
- name:
22
- type: String
23
- desc: "The name of the attribute"
24
- quantity_type:
25
- type: String
26
- desc: "The value type of the attribute"
27
-
28
- InputTag:
29
- type: Object
30
- properties:
31
- tag_id:
32
- type: ObjectId
33
- desc: "A unique identifier for the tag."
34
- tag_name:
35
- type: String
36
- desc: "A name for the tag"
37
-
38
- InputCategory:
39
- type: Object
40
- properties:
41
- material_family_id:
42
- type: ObjectId
43
- desc: "A unique identifier for the material family id where the category assignment is made."
44
- category_id:
45
- type: ObjectId
46
- desc: "A unique identifer for the category"
47
- category_name:
48
- type: String
49
- desc: "A name for the category"
50
-
51
- InputDetails:
52
- type: Object
53
- properties:
54
- input_id:
55
- type: ObjectId
56
- desc: "A unique identifier for the input."
57
- name:
58
- type: String
59
- desc: "The name of the input."
60
- quantity_type:
61
- type: String
62
- desc: "The quantity type of the input. Always numeric for standard inputs"
63
- type:
64
- type: String
65
- desc: "The type of the input. E.g. input, process parameter, equipment"
66
- attributes:
67
- type: List<input_attributes.InputAttributeValue>
68
- desc: "The attributes of the input"
69
- categories:
70
- type: List<InputCategory>
71
- desc: "The categories for the input for each material family"
72
- tags:
73
- type: List<InputTag>
74
- desc: "The tags (subcategories) for the input"
75
-
76
- Data:
77
- type: Object
78
- properties:
79
- input_details:
80
- type: List<InputDetails>
81
- input_attributes:
82
- type: List<AttributeDetails>
@@ -1,33 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: post
4
- path: ${external}/inputs/external_set_input_attribute_values
5
- function: main.site.app.external.inputs.set_input_attribute_values.set_input_attribute_values
6
- desc: "Sets attribute values for an input"
7
-
8
- Arguments:
9
- type: Object
10
- properties:
11
- attribute_values:
12
- type: List<InputAttributeValue>
13
- desc: "The attributes of the input to set"
14
-
15
- InputAttributeValue:
16
- type: Object
17
- properties:
18
- input_id:
19
- type: ObjectId
20
- desc: "A unique identifier for the input to set the attribute value on"
21
- attribute_id:
22
- type: ObjectId
23
- desc: "A unique identifier for the attribute."
24
- quantity_dec?:
25
- type: Decimal
26
- desc: "The value for the attribute, if it is of numeric type"
27
- quantity_json?:
28
- type: JsonValue
29
- desc: "The value for the attribute, if it is not of numeric type"
30
-
31
- Data:
32
- type: response.Response
33
- properties:
@@ -1,92 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: get
4
- path: ${external}/outputs/external_get_output_data
5
- function: main.site.app.external.outputs.get_output_data.get_output_data
6
- desc: "Gets the attribute, categorization and other metadata associated with a set of outputs"
7
-
8
- Arguments:
9
- type: Object
10
- properties:
11
- material_family_id:
12
- type: ObjectId
13
- desc: "The material family ID to get the output values from."
14
- output_ids?:
15
- type: List<ObjectId>
16
- desc: "The output IDs to get the data from. If this is not filled in, all outputs from a material family will be returned (in paginated form)."
17
- offset?:
18
- type: Integer
19
- desc: "Used for pagination, where the number of results returned exceeds the limit. Results are always ordered by the output ID"
20
- limit?:
21
- type: 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
- OutputAttrVal:
25
- type: Object
26
- properties:
27
- attribute_id:
28
- type: ObjectId
29
- desc: "The unique integer ID for the output attribute value. Used for joining and identification elsewhere."
30
- quantity_dec:
31
- type: Decimal
32
- desc: "The value for the attribute, if it is of numeric type"
33
- quantity_json:
34
- type: JsonValue
35
- desc: "The value for the attribute, if it is not of numeric type"
36
-
37
- SimpleOutputAttr:
38
- type: Object
39
- properties:
40
- attribute_id:
41
- type: ObjectId
42
- desc: "The unique integer ID for the output attribute value. Used for joining and identification elsewhere."
43
- name:
44
- type: String
45
- desc: "The name of the output attribute"
46
- quantity_type:
47
- type: String
48
- desc: "The quantity type of the output attribute, such as numeric, categorical or text"
49
-
50
- SimpleOutputGlobalCategory:
51
- type: Object
52
- properties:
53
- category_id:
54
- type: ObjectId
55
- desc: "The unique integer ID for the global category. Used for joining and identification elsewhere."
56
- name:
57
- type: String
58
- desc: "The name of the output global category"
59
-
60
- FullOutput:
61
- type: Object
62
- properties:
63
- output_id:
64
- type: ObjectId
65
- desc: "The unique integer ID of the output value. Used for joining and identification elsewhere"
66
- name:
67
- type: String
68
- desc: "The name of the output"
69
- quantity_type:
70
- type: String
71
- desc: "The quantity type of the output, such as numeric, categorical, text, curve, or calculation"
72
- attributes:
73
- type: List<OutputAttrVal>
74
- desc: "Attributes associated with an output, such as a test documentation"
75
- global_category_id:
76
- type: Optional<ObjectId>
77
- desc: "The global category ID associated with the output"
78
- unit_id:
79
- type: Optional<ObjectId>
80
- desc: "The unit for the output, which all data is stored in. This may be different than the users default displayed information for the output"
81
-
82
- Data:
83
- type: Object
84
- properties:
85
- outputs:
86
- type: List<FullOutput>
87
- attrs:
88
- type: List<SimpleOutputAttr>
89
- global_categories:
90
- type: List<SimpleOutputGlobalCategory>
91
- units:
92
- type: List<units.SimpleUnit>
@@ -1,35 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: get
4
- path: ${external}/outputs/external_get_output_names
5
- function: main.site.app.external.outputs.get_output_names.get_output_names
6
- desc: "Gets the name of all outputs for a material family. An output represents a measurement value of any time (numeric, text, curve, etc). This includes calculations based off of other outputs, such as a calculated change over time"
7
-
8
- Arguments:
9
- type: Object
10
- properties:
11
- material_family_id:
12
- type: ObjectId
13
- desc: "The material family ID to get the output values from"
14
- offset?:
15
- type: Integer
16
- desc: "Used for pagination, where the number of results returned exceeds the limit. Results are always ordered by the output ID"
17
- limit?:
18
- type: Integer
19
- 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"
20
-
21
- OutputWithName:
22
- type: Object
23
- properties:
24
- output_id:
25
- type: ObjectId
26
- desc: "The unique integer ID of the output value. Used for joining and identification elsewhere"
27
- name:
28
- type: String
29
- desc: "The name of the output"
30
-
31
- Data:
32
- type: Object
33
- properties:
34
- outputs:
35
- type: List<OutputWithName>
@@ -1,50 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: post
4
- path: ${external}/outputs/external_resolve_output_conditions
5
- function: main.site.app.external.outputs.resolve_output_conditions.resolve_output_conditions
6
- desc: For the provided set of condition parameter id and values, returns the existing or newly created output condition id for that value and id pair.
7
-
8
- ConditionParameterValueRecord:
9
- type: Object
10
- properties:
11
- condition_parameter_id:
12
- type: ObjectId
13
- value_numeric?:
14
- type: Decimal
15
- desc: The numeric value for the condition parameter. Should be none if condition parameter is not of type numeric
16
- value_string?:
17
- type: String
18
- desc: The string value for the condition parameter if applicable for this condition parameter
19
-
20
- ConditionRequest:
21
- type: Object
22
- properties:
23
- conditions:
24
- type: List<ConditionParameterValueRecord>
25
-
26
- Arguments:
27
- type: Object
28
- properties:
29
- requested_conditions:
30
- type: List<ConditionRequest>
31
-
32
- ConditionResponse:
33
- type: Object
34
- properties:
35
- conditions:
36
- type: List<ConditionParameterValueRecord>
37
- output_condition_id:
38
- type: ObjectId
39
- desc: The resolved output condition id for this condition parameter id and value pair
40
-
41
- Data:
42
- type: Object
43
- properties:
44
- resolved_conditions:
45
- type: List<ConditionResponse>
46
- desc: Retains the same order as the request and includes the resolve output condition id for each condition request
47
-
48
- max_num_condition_requests:
49
- type: Integer
50
- value: 100
@@ -1,69 +0,0 @@
1
- $endpoint:
2
- is_sdk: true
3
- method: post
4
- path: ${external}/permissions/external_set_core_permissions
5
- function: main.site.app.external.permissions.set_core_permissions.set_core_permissions
6
- desc: "Sets recipe related permissions"
7
-
8
-
9
- PermissionsScopeProject:
10
- type: Object
11
- properties:
12
- type:
13
- type: Literal<'project'>
14
- project_key:
15
- type: identifier.IdentifierKey
16
-
17
- PermissionsScopeRecipe:
18
- type: Object
19
- properties:
20
- type:
21
- type: Literal<'recipe'>
22
- recipe_key:
23
- type: identifier.IdentifierKey
24
-
25
- PermissionsScopeMaterialFamily:
26
- type: Object
27
- properties:
28
- type:
29
- type: Literal<'material_family'>
30
- material_family_key:
31
- type: identifier.IdentifierKey
32
-
33
- PermissionsScopeAllMaterialFamilies:
34
- type: Object
35
- properties:
36
- type:
37
- type: Literal<'all_material_families'>
38
-
39
-
40
- PermissionsScope:
41
- type: Alias
42
- alias: |
43
- Union<
44
- PermissionsScopeProject,
45
- PermissionsScopeRecipe,
46
- PermissionsScopeMaterialFamily,
47
- PermissionsScopeAllMaterialFamilies
48
- >
49
-
50
- Arguments:
51
- type: Object
52
- properties:
53
- scope:
54
- type: PermissionsScope
55
- desc: Scope of permissions to change
56
- user_group_ids?:
57
- type: List<Integer>
58
- desc: User group ids to grant permission to
59
- user_ids?:
60
- type: List<Integer>
61
- desc: User ids to grant permission to
62
- permissions_types:
63
- type: List<permissions.CorePermissionType>
64
- update_type:
65
- type: post_base.UpdateType
66
- desc: The type of update to perform
67
-
68
- Data:
69
- type: Object