UncountablePythonSDK 0.0.160__tar.gz → 0.0.162__tar.gz

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.
Files changed (405) hide show
  1. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/.github/workflows/publish.yml +1 -1
  2. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/PKG-INFO +2 -1
  3. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/UncountablePythonSDK.egg-info/PKG-INFO +2 -1
  4. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/UncountablePythonSDK.egg-info/SOURCES.txt +7 -1
  5. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/UncountablePythonSDK.egg-info/requires.txt +1 -0
  6. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/docs/requirements.txt +1 -1
  7. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pyproject.toml +1 -0
  8. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/__init__.py +10 -2
  9. uncountablepythonsdk-0.0.162/uncountable/types/api/file_folders/add_file_to_folder.py +43 -0
  10. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/outputs/update_output_condition_parameter.py +1 -0
  11. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/create_recipe.py +1 -0
  12. uncountablepythonsdk-0.0.162/uncountable/types/api/recipes/upsert_recipe_workflow_step.py +46 -0
  13. uncountablepythonsdk-0.0.162/uncountable/types/api/recipes/upsert_step_relationships.py +91 -0
  14. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/async_batch_processor.py +79 -1
  15. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/async_batch_t.py +2 -0
  16. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/client_base.py +83 -19
  17. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/entity_t.py +4 -0
  18. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/listing.py +1 -0
  19. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/listing_t.py +15 -1
  20. uncountablepythonsdk-0.0.162/uncountable/types/recipe_workflow_step_types.py +15 -0
  21. uncountablepythonsdk-0.0.162/uncountable/types/recipe_workflow_step_types_t.py +118 -0
  22. uncountablepythonsdk-0.0.162/uncountable/types/step_relationships.py +15 -0
  23. uncountablepythonsdk-0.0.162/uncountable/types/step_relationships_t.py +140 -0
  24. uncountablepythonsdk-0.0.160/uncountable/types/api/files/create_file_record.py +0 -41
  25. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/.github/workflows/documentation.yml +0 -0
  26. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/.gitignore +0 -0
  27. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/.python-version +0 -0
  28. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/README.md +0 -0
  29. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/UncountablePythonSDK.egg-info/dependency_links.txt +0 -0
  30. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/UncountablePythonSDK.egg-info/top_level.txt +0 -0
  31. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/docs/.gitignore +0 -0
  32. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/docs/conf.py +0 -0
  33. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/docs/index.md +0 -0
  34. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/docs/integration_examples/create_ingredient.md +0 -0
  35. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/docs/integration_examples/create_output.md +0 -0
  36. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/docs/integration_examples/index.md +0 -0
  37. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/docs/integration_examples/upload_file.md +0 -0
  38. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/docs/justfile +0 -0
  39. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/docs/static/favicons/android-chrome-192x192.png +0 -0
  40. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/docs/static/favicons/android-chrome-512x512.png +0 -0
  41. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/docs/static/favicons/apple-touch-icon.png +0 -0
  42. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/docs/static/favicons/browserconfig.xml +0 -0
  43. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/docs/static/favicons/favicon-16x16.png +0 -0
  44. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/docs/static/favicons/favicon-32x32.png +0 -0
  45. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/docs/static/favicons/manifest.json +0 -0
  46. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/docs/static/favicons/mstile-150x150.png +0 -0
  47. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/docs/static/favicons/safari-pinned-tab.svg +0 -0
  48. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/docs/static/logo_blue.png +0 -0
  49. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/examples/async_batch.py +0 -0
  50. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/examples/async_batch_large_parse.py +0 -0
  51. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/examples/basic_auth.py +0 -0
  52. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/examples/create_entity.py +0 -0
  53. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/examples/create_ingredient_sdk.py +0 -0
  54. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/examples/download_files.py +0 -0
  55. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/examples/edit_recipe_inputs.py +0 -0
  56. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/examples/integration-server/jobs/materials_auto/concurrent_cron.py +0 -0
  57. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/examples/integration-server/jobs/materials_auto/example_cron.py +0 -0
  58. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/examples/integration-server/jobs/materials_auto/example_http.py +0 -0
  59. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/examples/integration-server/jobs/materials_auto/example_instrument.py +0 -0
  60. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/examples/integration-server/jobs/materials_auto/example_parse.py +0 -0
  61. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/examples/integration-server/jobs/materials_auto/example_predictions.py +0 -0
  62. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/examples/integration-server/jobs/materials_auto/example_runsheet_wh.py +0 -0
  63. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/examples/integration-server/jobs/materials_auto/example_wh.py +0 -0
  64. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/examples/integration-server/jobs/materials_auto/profile.yaml +0 -0
  65. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/examples/integration-server/pyproject.toml +0 -0
  66. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/examples/invoke_uploader.py +0 -0
  67. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/examples/oauth.py +0 -0
  68. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/examples/set_input_pdf_attribute.py +0 -0
  69. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/examples/set_recipe_metadata_file.py +0 -0
  70. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/examples/set_recipe_output_file_sdk.py +0 -0
  71. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/examples/upload_files.py +0 -0
  72. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/__init__.py +0 -0
  73. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/argument_parser/__init__.py +0 -0
  74. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/argument_parser/_is_enum.py +0 -0
  75. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/argument_parser/_is_namedtuple.py +0 -0
  76. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/argument_parser/argument_parser.py +0 -0
  77. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/argument_parser/case_convert.py +0 -0
  78. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/filesystem_utils/__init__.py +0 -0
  79. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/filesystem_utils/_blob_session.py +0 -0
  80. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/filesystem_utils/_file_share_session.py +0 -0
  81. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/filesystem_utils/_gdrive_session.py +0 -0
  82. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/filesystem_utils/_local_session.py +0 -0
  83. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/filesystem_utils/_s3_session.py +0 -0
  84. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/filesystem_utils/_sftp_session.py +0 -0
  85. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/filesystem_utils/file_type_utils.py +0 -0
  86. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/filesystem_utils/filesystem_session.py +0 -0
  87. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/py.typed +0 -0
  88. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/serialization/__init__.py +0 -0
  89. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/serialization/annotation.py +0 -0
  90. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/serialization/missing_sentry.py +0 -0
  91. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/serialization/opaque_key.py +0 -0
  92. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/serialization/serial_alias.py +0 -0
  93. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/serialization/serial_class.py +0 -0
  94. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/serialization/serial_generic.py +0 -0
  95. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/serialization/serial_union.py +0 -0
  96. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/serialization/unknown.py +0 -0
  97. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/serialization/yaml.py +0 -0
  98. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/serialization_util/__init__.py +0 -0
  99. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/serialization_util/_get_type_for_serialization.py +0 -0
  100. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/serialization_util/convert_to_snakecase.py +0 -0
  101. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/serialization_util/dataclasses.py +0 -0
  102. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/serialization_util/serialization_helpers.py +0 -0
  103. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/strenum_compat/__init__.py +0 -0
  104. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/strenum_compat/strenum_compat.py +0 -0
  105. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/__init__.py +0 -0
  106. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/__main__.py +0 -0
  107. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/actions_registry/__init__.py +0 -0
  108. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/actions_registry/__main__.py +0 -0
  109. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/actions_registry/emit_typescript.py +0 -0
  110. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/builder.py +0 -0
  111. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/builder_types.py +0 -0
  112. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/config.py +0 -0
  113. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/cross_output_links.py +0 -0
  114. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/emit_io_ts.py +0 -0
  115. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/emit_open_api.py +0 -0
  116. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/emit_open_api_util.py +0 -0
  117. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/emit_python.py +0 -0
  118. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/emit_typescript.py +0 -0
  119. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/emit_typescript_util.py +0 -0
  120. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/load_types.py +0 -0
  121. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/non_discriminated_union_exceptions.py +0 -0
  122. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/open_api_util.py +0 -0
  123. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/parts/base.py.prepart +0 -0
  124. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/parts/base.ts.prepart +0 -0
  125. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/test.py +0 -0
  126. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/type_info/__main__.py +0 -0
  127. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/type_info/emit_type_info.py +0 -0
  128. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/ui_entry_actions/__init__.py +0 -0
  129. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/ui_entry_actions/generate_ui_entry_actions.py +0 -0
  130. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/util.py +0 -0
  131. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/value_spec/__init__.py +0 -0
  132. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/value_spec/__main__.py +0 -0
  133. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/value_spec/convert_type.py +0 -0
  134. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/value_spec/emit_python.py +0 -0
  135. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/pkgs/type_spec/value_spec/types.py +0 -0
  136. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/setup.cfg +0 -0
  137. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/__init__.py +0 -0
  138. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/core/__init__.py +0 -0
  139. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/core/async_batch.py +0 -0
  140. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/core/client.py +0 -0
  141. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/core/environment.py +0 -0
  142. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/core/file_upload.py +0 -0
  143. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/core/query/__init__.py +0 -0
  144. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/core/query/builder.py +0 -0
  145. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/core/query/column.py +0 -0
  146. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/core/query/row.py +0 -0
  147. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/core/query/types.py +0 -0
  148. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/core/types.py +0 -0
  149. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/__init__.py +0 -0
  150. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/cli.py +0 -0
  151. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/construct_client.py +0 -0
  152. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/cron.py +0 -0
  153. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/db/__init__.py +0 -0
  154. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/db/connect.py +0 -0
  155. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/db/session.py +0 -0
  156. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/entrypoint.py +0 -0
  157. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/executors/__init__.py +0 -0
  158. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/executors/executors.py +0 -0
  159. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/executors/generic_upload_executor.py +0 -0
  160. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/executors/script_executor.py +0 -0
  161. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/http_server/__init__.py +0 -0
  162. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/http_server/types.py +0 -0
  163. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/job.py +0 -0
  164. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/queue_runner/__init__.py +0 -0
  165. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/queue_runner/command_server/__init__.py +0 -0
  166. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/queue_runner/command_server/command_client.py +0 -0
  167. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/queue_runner/command_server/command_server.py +0 -0
  168. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/queue_runner/command_server/constants.py +0 -0
  169. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/queue_runner/command_server/protocol/__init__.py +0 -0
  170. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/queue_runner/command_server/protocol/command_server.proto +0 -0
  171. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.py +0 -0
  172. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.pyi +0 -0
  173. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/queue_runner/command_server/protocol/command_server_pb2_grpc.py +0 -0
  174. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/queue_runner/command_server/types.py +0 -0
  175. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/queue_runner/datastore/__init__.py +0 -0
  176. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/queue_runner/datastore/datastore_sqlite.py +0 -0
  177. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/queue_runner/datastore/interface.py +0 -0
  178. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/queue_runner/datastore/model.py +0 -0
  179. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/queue_runner/job_scheduler.py +0 -0
  180. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/queue_runner/queue_runner.py +0 -0
  181. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/queue_runner/types.py +0 -0
  182. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/queue_runner/worker.py +0 -0
  183. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/request_context.py +0 -0
  184. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/scan_profiles.py +0 -0
  185. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/scheduler.py +0 -0
  186. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/secret_retrieval/__init__.py +0 -0
  187. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/secret_retrieval/retrieve_secret.py +0 -0
  188. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/server.py +0 -0
  189. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/telemetry.py +0 -0
  190. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/integration/webhook_server/entrypoint.py +0 -0
  191. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/py.typed +0 -0
  192. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/__init__.py +0 -0
  193. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/batch/__init__.py +0 -0
  194. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/batch/execute_batch.py +0 -0
  195. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/batch/execute_batch_load_async.py +0 -0
  196. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/chemical/__init__.py +0 -0
  197. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/chemical/convert_chemical_formats.py +0 -0
  198. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/condition_parameters/__init__.py +0 -0
  199. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/condition_parameters/upsert_condition_match.py +0 -0
  200. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/entity/__init__.py +0 -0
  201. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/entity/create_entities.py +0 -0
  202. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/entity/create_entity.py +0 -0
  203. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/entity/create_or_update_entity.py +0 -0
  204. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/entity/export_entities.py +0 -0
  205. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/entity/get_entities_data.py +0 -0
  206. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/entity/grant_entity_permissions.py +0 -0
  207. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/entity/list_aggregate.py +0 -0
  208. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/entity/list_entities.py +0 -0
  209. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/entity/lock_entity.py +0 -0
  210. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/entity/lookup_entity.py +0 -0
  211. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/entity/resolve_entity_ids.py +0 -0
  212. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/entity/set_barcode.py +0 -0
  213. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/entity/set_entity_field_values.py +0 -0
  214. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/entity/set_values.py +0 -0
  215. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/entity/transition_entity_phase.py +0 -0
  216. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/entity/unlock_entity.py +0 -0
  217. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/equipment/__init__.py +0 -0
  218. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/equipment/associate_equipment_input.py +0 -0
  219. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/field_options/__init__.py +0 -0
  220. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/field_options/upsert_field_options.py +0 -0
  221. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/file_folders/__init__.py +0 -0
  222. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/file_folders/modify_file_system.py +0 -0
  223. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/files/__init__.py +0 -0
  224. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/files/download_file.py +0 -0
  225. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/id_source/__init__.py +0 -0
  226. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/id_source/list_id_source.py +0 -0
  227. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/id_source/match_id_source.py +0 -0
  228. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/input_groups/__init__.py +0 -0
  229. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/input_groups/get_input_group_names.py +0 -0
  230. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/inputs/__init__.py +0 -0
  231. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/inputs/create_inputs.py +0 -0
  232. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/inputs/get_input_data.py +0 -0
  233. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/inputs/get_input_names.py +0 -0
  234. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/inputs/get_inputs_data.py +0 -0
  235. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/inputs/set_input_attribute_values.py +0 -0
  236. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/inputs/set_input_category.py +0 -0
  237. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/inputs/set_input_subcategories.py +0 -0
  238. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/inputs/set_intermediate_type.py +0 -0
  239. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/integrations/__init__.py +0 -0
  240. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/integrations/publish_realtime_data.py +0 -0
  241. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/integrations/push_notification.py +0 -0
  242. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/integrations/register_sockets_token.py +0 -0
  243. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/listing/__init__.py +0 -0
  244. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/listing/export_listing.py +0 -0
  245. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/listing/fetch_listing.py +0 -0
  246. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/material_families/__init__.py +0 -0
  247. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/material_families/update_entity_material_families.py +0 -0
  248. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/notebooks/__init__.py +0 -0
  249. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/notebooks/add_notebook_content.py +0 -0
  250. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/notebooks/get_notebook_content.py +0 -0
  251. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/outputs/__init__.py +0 -0
  252. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/outputs/get_output_data.py +0 -0
  253. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/outputs/get_output_names.py +0 -0
  254. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/outputs/get_output_organization.py +0 -0
  255. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/outputs/resolve_output_conditions.py +0 -0
  256. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/permissions/__init__.py +0 -0
  257. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/permissions/set_core_permissions.py +0 -0
  258. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/permissions/set_entity_permission.py +0 -0
  259. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/project/__init__.py +0 -0
  260. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/project/get_projects.py +0 -0
  261. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/project/get_projects_data.py +0 -0
  262. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipe_links/__init__.py +0 -0
  263. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipe_links/create_recipe_link.py +0 -0
  264. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipe_links/remove_recipe_link.py +0 -0
  265. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipe_metadata/__init__.py +0 -0
  266. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +0 -0
  267. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/__init__.py +0 -0
  268. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/add_recipe_to_project.py +0 -0
  269. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/add_time_series_data.py +0 -0
  270. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/archive_recipes.py +0 -0
  271. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/associate_recipe_as_input.py +0 -0
  272. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/associate_recipe_as_lot.py +0 -0
  273. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/clear_recipe_outputs.py +0 -0
  274. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/create_mix_order.py +0 -0
  275. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/create_recipes.py +0 -0
  276. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/disassociate_recipe_as_input.py +0 -0
  277. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/edit_recipe_inputs.py +0 -0
  278. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/get_column_calculation_values.py +0 -0
  279. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/get_curve.py +0 -0
  280. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/get_recipe_calculations.py +0 -0
  281. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/get_recipe_links.py +0 -0
  282. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/get_recipe_names.py +0 -0
  283. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/get_recipe_output_metadata.py +0 -0
  284. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/get_recipes_data.py +0 -0
  285. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/lock_recipes.py +0 -0
  286. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/remove_recipe_from_project.py +0 -0
  287. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/set_recipe_inputs.py +0 -0
  288. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/set_recipe_metadata.py +0 -0
  289. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/set_recipe_output_annotations.py +0 -0
  290. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/set_recipe_output_file.py +0 -0
  291. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/set_recipe_outputs.py +0 -0
  292. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/set_recipe_tags.py +0 -0
  293. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/set_recipe_total.py +0 -0
  294. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/unarchive_recipes.py +0 -0
  295. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/recipes/unlock_recipes.py +0 -0
  296. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/runsheet/__init__.py +0 -0
  297. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/runsheet/complete_async_upload.py +0 -0
  298. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/runsheet/export_default_runsheet.py +0 -0
  299. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/triggers/__init__.py +0 -0
  300. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/triggers/run_trigger.py +0 -0
  301. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/uploader/__init__.py +0 -0
  302. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/uploader/complete_async_parse.py +0 -0
  303. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/uploader/invoke_uploader.py +0 -0
  304. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/user/__init__.py +0 -0
  305. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/api/user/get_current_user_info.py +0 -0
  306. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/async_batch.py +0 -0
  307. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/async_jobs.py +0 -0
  308. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/async_jobs_t.py +0 -0
  309. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/auth_retrieval.py +0 -0
  310. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/auth_retrieval_t.py +0 -0
  311. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/base.py +0 -0
  312. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/base_t.py +0 -0
  313. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/calculations.py +0 -0
  314. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/calculations_t.py +0 -0
  315. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/chemical_structure.py +0 -0
  316. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/chemical_structure_t.py +0 -0
  317. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/client_config.py +0 -0
  318. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/client_config_t.py +0 -0
  319. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/curves.py +0 -0
  320. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/curves_t.py +0 -0
  321. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/data.py +0 -0
  322. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/data_t.py +0 -0
  323. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/entity.py +0 -0
  324. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/experiment_groups.py +0 -0
  325. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/experiment_groups_t.py +0 -0
  326. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/exports.py +0 -0
  327. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/exports_t.py +0 -0
  328. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/field_values.py +0 -0
  329. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/field_values_t.py +0 -0
  330. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/fields.py +0 -0
  331. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/fields_t.py +0 -0
  332. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/generic_upload.py +0 -0
  333. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/generic_upload_t.py +0 -0
  334. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/id_source.py +0 -0
  335. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/id_source_t.py +0 -0
  336. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/identifier.py +0 -0
  337. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/identifier_t.py +0 -0
  338. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/input_attributes.py +0 -0
  339. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/input_attributes_t.py +0 -0
  340. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/inputs.py +0 -0
  341. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/inputs_t.py +0 -0
  342. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/integration_server.py +0 -0
  343. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/integration_server_t.py +0 -0
  344. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/integration_session.py +0 -0
  345. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/integration_session_t.py +0 -0
  346. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/integrations.py +0 -0
  347. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/integrations_t.py +0 -0
  348. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/job_definition.py +0 -0
  349. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/job_definition_t.py +0 -0
  350. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/notices.py +0 -0
  351. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/notices_t.py +0 -0
  352. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/notifications.py +0 -0
  353. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/notifications_t.py +0 -0
  354. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/outputs.py +0 -0
  355. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/outputs_t.py +0 -0
  356. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/overrides.py +0 -0
  357. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/overrides_t.py +0 -0
  358. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/permissions.py +0 -0
  359. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/permissions_t.py +0 -0
  360. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/phases.py +0 -0
  361. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/phases_t.py +0 -0
  362. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/post_base.py +0 -0
  363. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/post_base_t.py +0 -0
  364. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/queued_job.py +0 -0
  365. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/queued_job_t.py +0 -0
  366. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/recipe_identifiers.py +0 -0
  367. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/recipe_identifiers_t.py +0 -0
  368. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/recipe_inputs.py +0 -0
  369. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/recipe_inputs_t.py +0 -0
  370. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/recipe_links.py +0 -0
  371. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/recipe_links_t.py +0 -0
  372. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/recipe_metadata.py +0 -0
  373. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/recipe_metadata_t.py +0 -0
  374. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/recipe_output_metadata.py +0 -0
  375. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/recipe_output_metadata_t.py +0 -0
  376. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/recipe_step_relationships.py +0 -0
  377. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/recipe_step_relationships_t.py +0 -0
  378. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/recipe_tags.py +0 -0
  379. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/recipe_tags_t.py +0 -0
  380. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/recipe_workflow_steps.py +0 -0
  381. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/recipe_workflow_steps_t.py +0 -0
  382. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/recipes.py +0 -0
  383. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/recipes_t.py +0 -0
  384. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/response.py +0 -0
  385. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/response_t.py +0 -0
  386. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/runsheet.py +0 -0
  387. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/runsheet_format.py +0 -0
  388. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/runsheet_format_t.py +0 -0
  389. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/runsheet_t.py +0 -0
  390. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/secret_retrieval.py +0 -0
  391. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/secret_retrieval_t.py +0 -0
  392. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/sockets.py +0 -0
  393. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/sockets_t.py +0 -0
  394. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/specs.py +0 -0
  395. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/specs_t.py +0 -0
  396. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/units.py +0 -0
  397. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/units_t.py +0 -0
  398. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/uploader.py +0 -0
  399. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/uploader_t.py +0 -0
  400. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/users.py +0 -0
  401. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/users_t.py +0 -0
  402. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/webhook_job.py +0 -0
  403. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/webhook_job_t.py +0 -0
  404. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/workflows.py +0 -0
  405. {uncountablepythonsdk-0.0.160 → uncountablepythonsdk-0.0.162}/uncountable/types/workflows_t.py +0 -0
@@ -50,7 +50,7 @@ jobs:
50
50
  permissions:
51
51
  id-token: write
52
52
  steps:
53
- - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
53
+ - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
54
54
  with:
55
55
  name: package-distributions
56
56
  path: dist/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: UncountablePythonSDK
3
- Version: 0.0.160
3
+ Version: 0.0.162
4
4
  Summary: Uncountable SDK
5
5
  Project-URL: Homepage, https://github.com/uncountableinc/uncountable-python-sdk
6
6
  Project-URL: Repository, https://github.com/uncountableinc/uncountable-python-sdk.git
@@ -38,6 +38,7 @@ Requires-Dist: simplejson==3.*
38
38
  Requires-Dist: grpcio==1.78.0
39
39
  Requires-Dist: protobuf>=4.21.1
40
40
  Requires-Dist: azure-storage-blob==12.*
41
+ Requires-Dist: azure-storage-file-share==12.*
41
42
  Requires-Dist: boto3-stubs[essential,ses]==1.*
42
43
  Requires-Dist: msgspec<0.21,>=0.19
43
44
  Requires-Dist: tabulate==0.9.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: UncountablePythonSDK
3
- Version: 0.0.160
3
+ Version: 0.0.162
4
4
  Summary: Uncountable SDK
5
5
  Project-URL: Homepage, https://github.com/uncountableinc/uncountable-python-sdk
6
6
  Project-URL: Repository, https://github.com/uncountableinc/uncountable-python-sdk.git
@@ -38,6 +38,7 @@ Requires-Dist: simplejson==3.*
38
38
  Requires-Dist: grpcio==1.78.0
39
39
  Requires-Dist: protobuf>=4.21.1
40
40
  Requires-Dist: azure-storage-blob==12.*
41
+ Requires-Dist: azure-storage-file-share==12.*
41
42
  Requires-Dist: boto3-stubs[essential,ses]==1.*
42
43
  Requires-Dist: msgspec<0.21,>=0.19
43
44
  Requires-Dist: tabulate==0.9.0
@@ -251,6 +251,8 @@ uncountable/types/recipe_step_relationships.py
251
251
  uncountable/types/recipe_step_relationships_t.py
252
252
  uncountable/types/recipe_tags.py
253
253
  uncountable/types/recipe_tags_t.py
254
+ uncountable/types/recipe_workflow_step_types.py
255
+ uncountable/types/recipe_workflow_step_types_t.py
254
256
  uncountable/types/recipe_workflow_steps.py
255
257
  uncountable/types/recipe_workflow_steps_t.py
256
258
  uncountable/types/recipes.py
@@ -267,6 +269,8 @@ uncountable/types/sockets.py
267
269
  uncountable/types/sockets_t.py
268
270
  uncountable/types/specs.py
269
271
  uncountable/types/specs_t.py
272
+ uncountable/types/step_relationships.py
273
+ uncountable/types/step_relationships_t.py
270
274
  uncountable/types/units.py
271
275
  uncountable/types/units_t.py
272
276
  uncountable/types/uploader.py
@@ -307,9 +311,9 @@ uncountable/types/api/equipment/associate_equipment_input.py
307
311
  uncountable/types/api/field_options/__init__.py
308
312
  uncountable/types/api/field_options/upsert_field_options.py
309
313
  uncountable/types/api/file_folders/__init__.py
314
+ uncountable/types/api/file_folders/add_file_to_folder.py
310
315
  uncountable/types/api/file_folders/modify_file_system.py
311
316
  uncountable/types/api/files/__init__.py
312
- uncountable/types/api/files/create_file_record.py
313
317
  uncountable/types/api/files/download_file.py
314
318
  uncountable/types/api/id_source/__init__.py
315
319
  uncountable/types/api/id_source/list_id_source.py
@@ -384,6 +388,8 @@ uncountable/types/api/recipes/set_recipe_tags.py
384
388
  uncountable/types/api/recipes/set_recipe_total.py
385
389
  uncountable/types/api/recipes/unarchive_recipes.py
386
390
  uncountable/types/api/recipes/unlock_recipes.py
391
+ uncountable/types/api/recipes/upsert_recipe_workflow_step.py
392
+ uncountable/types/api/recipes/upsert_step_relationships.py
387
393
  uncountable/types/api/runsheet/__init__.py
388
394
  uncountable/types/api/runsheet/complete_async_upload.py
389
395
  uncountable/types/api/runsheet/export_default_runsheet.py
@@ -20,6 +20,7 @@ simplejson==3.*
20
20
  grpcio==1.78.0
21
21
  protobuf>=4.21.1
22
22
  azure-storage-blob==12.*
23
+ azure-storage-file-share==12.*
23
24
  boto3-stubs[essential,ses]==1.*
24
25
  msgspec<0.21,>=0.19
25
26
  tabulate==0.9.0
@@ -1,6 +1,6 @@
1
1
  furo==2025.12.19
2
2
  myst-parser==5.0.0
3
- sphinx-autoapi==3.7.0
3
+ sphinx-autoapi==3.8.0
4
4
  sphinx-copybutton==0.5.2
5
5
  Sphinx==9.1.0
6
6
  sphinx_design==0.7.0
@@ -73,6 +73,7 @@ dependencies = [
73
73
  "grpcio == 1.78.0",
74
74
  "protobuf >= 4.21.1",
75
75
  "azure-storage-blob == 12.*",
76
+ "azure-storage-file-share == 12.*",
76
77
  "boto3-stubs[essential,ses]==1.*",
77
78
  "msgspec>=0.19,<0.21",
78
79
  "tabulate == 0.9.0",
@@ -2,6 +2,7 @@
2
2
  # ruff: noqa: E402 Q003
3
3
  # fmt: off
4
4
  # isort: skip_file
5
+ from .api.file_folders import add_file_to_folder as add_file_to_folder_t
5
6
  from .api.notebooks import add_notebook_content as add_notebook_content_t
6
7
  from .api.recipes import add_recipe_to_project as add_recipe_to_project_t
7
8
  from .api.recipes import add_time_series_data as add_time_series_data_t
@@ -22,7 +23,6 @@ from .api.runsheet import complete_async_upload as complete_async_upload_t
22
23
  from .api.chemical import convert_chemical_formats as convert_chemical_formats_t
23
24
  from .api.entity import create_entities as create_entities_t
24
25
  from .api.entity import create_entity as create_entity_t
25
- from .api.files import create_file_record as create_file_record_t
26
26
  from .api.inputs import create_inputs as create_inputs_t
27
27
  from .api.recipes import create_mix_order as create_mix_order_t
28
28
  from .api.entity import create_or_update_entity as create_or_update_entity_t
@@ -102,6 +102,7 @@ from . import recipe_metadata_t as recipe_metadata_t
102
102
  from . import recipe_output_metadata_t as recipe_output_metadata_t
103
103
  from . import recipe_step_relationships_t as recipe_step_relationships_t
104
104
  from . import recipe_tags_t as recipe_tags_t
105
+ from . import recipe_workflow_step_types_t as recipe_workflow_step_types_t
105
106
  from . import recipe_workflow_steps_t as recipe_workflow_steps_t
106
107
  from . import recipes_t as recipes_t
107
108
  from .api.integrations import register_sockets_token as register_sockets_token_t
@@ -132,6 +133,7 @@ from .api.recipes import set_recipe_total as set_recipe_total_t
132
133
  from .api.entity import set_values as set_values_t
133
134
  from . import sockets_t as sockets_t
134
135
  from . import specs_t as specs_t
136
+ from . import step_relationships_t as step_relationships_t
135
137
  from .api.entity import transition_entity_phase as transition_entity_phase_t
136
138
  from .api.recipes import unarchive_recipes as unarchive_recipes_t
137
139
  from . import units_t as units_t
@@ -142,12 +144,15 @@ from .api.outputs import update_output_condition_parameter as update_output_cond
142
144
  from . import uploader_t as uploader_t
143
145
  from .api.condition_parameters import upsert_condition_match as upsert_condition_match_t
144
146
  from .api.field_options import upsert_field_options as upsert_field_options_t
147
+ from .api.recipes import upsert_recipe_workflow_step as upsert_recipe_workflow_step_t
148
+ from .api.recipes import upsert_step_relationships as upsert_step_relationships_t
145
149
  from . import users_t as users_t
146
150
  from . import webhook_job_t as webhook_job_t
147
151
  from . import workflows_t as workflows_t
148
152
 
149
153
 
150
154
  __all__: list[str] = [
155
+ "add_file_to_folder_t",
151
156
  "add_notebook_content_t",
152
157
  "add_recipe_to_project_t",
153
158
  "add_time_series_data_t",
@@ -168,7 +173,6 @@ __all__: list[str] = [
168
173
  "convert_chemical_formats_t",
169
174
  "create_entities_t",
170
175
  "create_entity_t",
171
- "create_file_record_t",
172
176
  "create_inputs_t",
173
177
  "create_mix_order_t",
174
178
  "create_or_update_entity_t",
@@ -248,6 +252,7 @@ __all__: list[str] = [
248
252
  "recipe_output_metadata_t",
249
253
  "recipe_step_relationships_t",
250
254
  "recipe_tags_t",
255
+ "recipe_workflow_step_types_t",
251
256
  "recipe_workflow_steps_t",
252
257
  "recipes_t",
253
258
  "register_sockets_token_t",
@@ -278,6 +283,7 @@ __all__: list[str] = [
278
283
  "set_values_t",
279
284
  "sockets_t",
280
285
  "specs_t",
286
+ "step_relationships_t",
281
287
  "transition_entity_phase_t",
282
288
  "unarchive_recipes_t",
283
289
  "units_t",
@@ -288,6 +294,8 @@ __all__: list[str] = [
288
294
  "uploader_t",
289
295
  "upsert_condition_match_t",
290
296
  "upsert_field_options_t",
297
+ "upsert_recipe_workflow_step_t",
298
+ "upsert_step_relationships_t",
291
299
  "users_t",
292
300
  "webhook_job_t",
293
301
  "workflows_t",
@@ -0,0 +1,43 @@
1
+ # DO NOT MODIFY -- This file is generated by type_spec
2
+ # ruff: noqa: E402 Q003
3
+ # fmt: off
4
+ # isort: skip_file
5
+ from __future__ import annotations
6
+ import typing # noqa: F401
7
+ import datetime # noqa: F401
8
+ from decimal import Decimal # noqa: F401
9
+ import dataclasses
10
+ from pkgs.serialization import serial_class
11
+ from ... import async_batch_t
12
+ from ... import base_t
13
+ from ... import identifier_t
14
+
15
+ __all__: list[str] = [
16
+ "Arguments",
17
+ "Data",
18
+ "ENDPOINT_METHOD",
19
+ "ENDPOINT_PATH",
20
+ ]
21
+
22
+ ENDPOINT_METHOD = "POST"
23
+ ENDPOINT_PATH = "api/external/file_folders/add_file_to_folder"
24
+
25
+
26
+ # DO NOT MODIFY -- This file is generated by type_spec
27
+ @serial_class(
28
+ named_type_path="sdk.api.file_folders.add_file_to_folder.Arguments",
29
+ )
30
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
31
+ class Arguments:
32
+ file_id: base_t.ObjectId
33
+ folder_key: identifier_t.IdentifierKey
34
+
35
+
36
+ # DO NOT MODIFY -- This file is generated by type_spec
37
+ @serial_class(
38
+ named_type_path="sdk.api.file_folders.add_file_to_folder.Data",
39
+ )
40
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
41
+ class Data(async_batch_t.AsyncBatchActionReturn):
42
+ pass
43
+ # DO NOT MODIFY -- This file is generated by type_spec
@@ -36,6 +36,7 @@ class Arguments:
36
36
  update_type: post_base_t.UpdateType
37
37
  requirement_type: ConditionParameterRequirementType | None = None
38
38
  material_family_key: identifier_t.IdentifierKey | None = None
39
+ analytical_method_keys: list[identifier_t.IdentifierKey] | None = None
39
40
 
40
41
 
41
42
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -38,6 +38,7 @@ class Arguments:
38
38
  recipe_metadata: list[recipe_metadata_t.MetadataValue] | None = None
39
39
  identifiers: recipe_identifiers_t.RecipeIdentifiers | None = None
40
40
  definition_key: identifier_t.IdentifierKey | None = None
41
+ recipe_key: identifier_t.IdentifierKey | None = None
41
42
 
42
43
 
43
44
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -0,0 +1,46 @@
1
+ # DO NOT MODIFY -- This file is generated by type_spec
2
+ # ruff: noqa: E402 Q003
3
+ # fmt: off
4
+ # isort: skip_file
5
+ from __future__ import annotations
6
+ import typing # noqa: F401
7
+ import datetime # noqa: F401
8
+ from decimal import Decimal # noqa: F401
9
+ import dataclasses
10
+ from pkgs.serialization import serial_class
11
+ from ... import async_batch_t
12
+ from ... import base_t
13
+ from ... import identifier_t
14
+ from ... import recipe_workflow_step_types_t
15
+
16
+ __all__: list[str] = [
17
+ "Arguments",
18
+ "Data",
19
+ "ENDPOINT_METHOD",
20
+ "ENDPOINT_PATH",
21
+ ]
22
+
23
+ ENDPOINT_METHOD = "POST"
24
+ ENDPOINT_PATH = "api/external/recipes/upsert_recipe_workflow_step"
25
+
26
+
27
+ # DO NOT MODIFY -- This file is generated by type_spec
28
+ @serial_class(
29
+ named_type_path="sdk.api.recipes.upsert_recipe_workflow_step.Arguments",
30
+ )
31
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
32
+ class Arguments:
33
+ recipe_key: identifier_t.IdentifierKey
34
+ data_source: recipe_workflow_step_types_t.RecipeWorkflowStepDataSource
35
+ location: recipe_workflow_step_types_t.RecipeWorkflowStepLocation
36
+ recipe_workflow_step_key: identifier_t.IdentifierKey | None = None
37
+
38
+
39
+ # DO NOT MODIFY -- This file is generated by type_spec
40
+ @serial_class(
41
+ named_type_path="sdk.api.recipes.upsert_recipe_workflow_step.Data",
42
+ )
43
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
44
+ class Data(async_batch_t.AsyncBatchActionReturn):
45
+ pass
46
+ # DO NOT MODIFY -- This file is generated by type_spec
@@ -0,0 +1,91 @@
1
+ # DO NOT MODIFY -- This file is generated by type_spec
2
+ # ruff: noqa: E402 Q003
3
+ # fmt: off
4
+ # isort: skip_file
5
+ from __future__ import annotations
6
+ import typing # noqa: F401
7
+ import datetime # noqa: F401
8
+ from decimal import Decimal # noqa: F401
9
+ from enum import StrEnum
10
+ import dataclasses
11
+ from pkgs.serialization import serial_class
12
+ from pkgs.serialization import serial_union_annotation
13
+ from ... import async_batch_t
14
+ from ... import base_t
15
+ from ... import identifier_t
16
+ from ... import recipe_workflow_steps_t
17
+ from ... import step_relationships_t
18
+
19
+ __all__: list[str] = [
20
+ "Arguments",
21
+ "Data",
22
+ "ENDPOINT_METHOD",
23
+ "ENDPOINT_PATH",
24
+ "StepRelationshipEdit",
25
+ "StepRelationshipEditBase",
26
+ "StepRelationshipEditType",
27
+ "StepRelationshipEditUpsert",
28
+ ]
29
+
30
+ ENDPOINT_METHOD = "POST"
31
+ ENDPOINT_PATH = "api/external/recipes/upsert_step_relationships"
32
+
33
+
34
+ # DO NOT MODIFY -- This file is generated by type_spec
35
+ class StepRelationshipEditType(StrEnum):
36
+ UPSERT = "upsert"
37
+
38
+
39
+ # DO NOT MODIFY -- This file is generated by type_spec
40
+ @serial_class(
41
+ named_type_path="sdk.api.recipes.upsert_step_relationships.StepRelationshipEditBase",
42
+ )
43
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
44
+ class StepRelationshipEditBase:
45
+ type: StepRelationshipEditType
46
+
47
+
48
+ # DO NOT MODIFY -- This file is generated by type_spec
49
+ @serial_class(
50
+ named_type_path="sdk.api.recipes.upsert_step_relationships.StepRelationshipEditUpsert",
51
+ parse_require={"type"},
52
+ )
53
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
54
+ class StepRelationshipEditUpsert(StepRelationshipEditBase):
55
+ type: typing.Literal[StepRelationshipEditType.UPSERT] = StepRelationshipEditType.UPSERT
56
+ source_recipe_workflow_step_identifier: recipe_workflow_steps_t.RecipeWorkflowStepIdentifier
57
+ target_recipe_workflow_step_identifier: recipe_workflow_steps_t.RecipeWorkflowStepIdentifier
58
+ relationship: step_relationships_t.StepRelationshipType
59
+
60
+
61
+ # DO NOT MODIFY -- This file is generated by type_spec
62
+ StepRelationshipEdit = typing.Annotated[
63
+ typing.Union[StepRelationshipEditUpsert],
64
+ serial_union_annotation(
65
+ named_type_path="sdk.api.recipes.upsert_step_relationships.StepRelationshipEdit",
66
+ discriminator="type",
67
+ discriminator_map={
68
+ "upsert": StepRelationshipEditUpsert,
69
+ },
70
+ ),
71
+ ]
72
+
73
+
74
+ # DO NOT MODIFY -- This file is generated by type_spec
75
+ @serial_class(
76
+ named_type_path="sdk.api.recipes.upsert_step_relationships.Arguments",
77
+ )
78
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
79
+ class Arguments:
80
+ recipe_key: identifier_t.IdentifierKey
81
+ edits: list[StepRelationshipEdit]
82
+
83
+
84
+ # DO NOT MODIFY -- This file is generated by type_spec
85
+ @serial_class(
86
+ named_type_path="sdk.api.recipes.upsert_step_relationships.Data",
87
+ )
88
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
89
+ class Data(async_batch_t.AsyncBatchActionReturn):
90
+ pass
91
+ # DO NOT MODIFY -- This file is generated by type_spec
@@ -34,6 +34,7 @@ from uncountable.types import notifications_t
34
34
  import uncountable.types.api.integrations.push_notification as push_notification_t
35
35
  from uncountable.types import recipe_identifiers_t
36
36
  from uncountable.types import recipe_metadata_t
37
+ from uncountable.types import recipe_workflow_step_types_t
37
38
  from uncountable.types import recipe_workflow_steps_t
38
39
  import uncountable.types.api.triggers.run_trigger as run_trigger_t
39
40
  import uncountable.types.api.entity.set_barcode as set_barcode_t
@@ -44,6 +45,8 @@ import uncountable.types.api.entity.unlock_entity as unlock_entity_t
44
45
  import uncountable.types.api.recipes.unlock_recipes as unlock_recipes_t
45
46
  from uncountable.types import uploader_t
46
47
  import uncountable.types.api.condition_parameters.upsert_condition_match as upsert_condition_match_t
48
+ import uncountable.types.api.recipes.upsert_recipe_workflow_step as upsert_recipe_workflow_step_t
49
+ import uncountable.types.api.recipes.upsert_step_relationships as upsert_step_relationships_t
47
50
  import uuid
48
51
  from abc import ABC, abstractmethod
49
52
  from pkgs.serialization_util import serialize_for_api
@@ -362,6 +365,7 @@ class AsyncBatchProcessorBase(ABC):
362
365
  recipe_metadata: list[recipe_metadata_t.MetadataValue] | None = None,
363
366
  identifiers: recipe_identifiers_t.RecipeIdentifiers | None = None,
364
367
  definition_key: identifier_t.IdentifierKey | None = None,
368
+ recipe_key: identifier_t.IdentifierKey | None = None,
365
369
  depends_on: list[str] | None = None,
366
370
  _request_options: client_config_t.RequestOptions | None = None,
367
371
  ) -> async_batch_t.QueuedAsyncBatchRequest:
@@ -373,8 +377,9 @@ class AsyncBatchProcessorBase(ABC):
373
377
  :param workflow_id: The identifier of the workflow to create the recipe with
374
378
  :param workflow_variant_id: The identifier of the workflow variant to create the recipe with
375
379
  :param recipe_metadata: Metadata values to populate the recipe with
376
- :param identifiers: A recipe won't be created if it matches the identifier. An identifier must be unique in the schema
380
+ :param identifiers: [DEPRECATED] - use `recipeKey`. A recipe won't be created if it matches the identifier. An identifier must be unique in the schema. An error will be raised if an argument is provided to both `recipeKey` and `identifiers` properties.
377
381
  :param definition_key: The entity definition identifier, default is used if not supplied
382
+ :param recipe_key: If this identifier matches an existing recipe, the id of the existing recipe will be returned and no update will occur. Use the `lookup_entity` endpoint to match an existing recipe based on a set of field values.
378
383
  :param depends_on: A list of batch reference keys to process before processing this request
379
384
  """
380
385
  args = create_recipe_t.Arguments(
@@ -386,6 +391,7 @@ class AsyncBatchProcessorBase(ABC):
386
391
  recipe_metadata=recipe_metadata,
387
392
  identifiers=identifiers,
388
393
  definition_key=definition_key,
394
+ recipe_key=recipe_key,
389
395
  )
390
396
  json_data = serialize_for_api(args)
391
397
 
@@ -981,3 +987,75 @@ class AsyncBatchProcessorBase(ABC):
981
987
  path=req.path,
982
988
  batch_reference=req.batch_reference,
983
989
  )
990
+
991
+ def upsert_recipe_workflow_step(
992
+ self,
993
+ *,
994
+ recipe_key: identifier_t.IdentifierKey,
995
+ data_source: recipe_workflow_step_types_t.RecipeWorkflowStepDataSource,
996
+ location: recipe_workflow_step_types_t.RecipeWorkflowStepLocation,
997
+ recipe_workflow_step_key: identifier_t.IdentifierKey | None = None,
998
+ depends_on: list[str] | None = None,
999
+ _request_options: client_config_t.RequestOptions | None = None,
1000
+ ) -> async_batch_t.QueuedAsyncBatchRequest:
1001
+ """Create or update a recipe workflow step on a recipe
1002
+
1003
+ :param depends_on: A list of batch reference keys to process before processing this request
1004
+ """
1005
+ args = upsert_recipe_workflow_step_t.Arguments(
1006
+ recipe_key=recipe_key,
1007
+ data_source=data_source,
1008
+ location=location,
1009
+ recipe_workflow_step_key=recipe_workflow_step_key,
1010
+ )
1011
+ json_data = serialize_for_api(args)
1012
+
1013
+ batch_reference = str(uuid.uuid4())
1014
+
1015
+ req = async_batch_t.AsyncBatchRequest(
1016
+ path=async_batch_t.AsyncBatchRequestPath.UPSERT_RECIPE_WORKFLOW_STEP,
1017
+ data=json_data,
1018
+ depends_on=depends_on,
1019
+ batch_reference=batch_reference,
1020
+ )
1021
+
1022
+ self._enqueue(req)
1023
+
1024
+ return async_batch_t.QueuedAsyncBatchRequest(
1025
+ path=req.path,
1026
+ batch_reference=req.batch_reference,
1027
+ )
1028
+
1029
+ def upsert_step_relationships(
1030
+ self,
1031
+ *,
1032
+ recipe_key: identifier_t.IdentifierKey,
1033
+ edits: list[upsert_step_relationships_t.StepRelationshipEdit],
1034
+ depends_on: list[str] | None = None,
1035
+ _request_options: client_config_t.RequestOptions | None = None,
1036
+ ) -> async_batch_t.QueuedAsyncBatchRequest:
1037
+ """Upsert step relationships on a recipe
1038
+
1039
+ :param depends_on: A list of batch reference keys to process before processing this request
1040
+ """
1041
+ args = upsert_step_relationships_t.Arguments(
1042
+ recipe_key=recipe_key,
1043
+ edits=edits,
1044
+ )
1045
+ json_data = serialize_for_api(args)
1046
+
1047
+ batch_reference = str(uuid.uuid4())
1048
+
1049
+ req = async_batch_t.AsyncBatchRequest(
1050
+ path=async_batch_t.AsyncBatchRequestPath.UPSERT_STEP_RELATIONSHIPS,
1051
+ data=json_data,
1052
+ depends_on=depends_on,
1053
+ batch_reference=batch_reference,
1054
+ )
1055
+
1056
+ self._enqueue(req)
1057
+
1058
+ return async_batch_t.QueuedAsyncBatchRequest(
1059
+ path=req.path,
1060
+ batch_reference=req.batch_reference,
1061
+ )
@@ -53,6 +53,8 @@ class AsyncBatchRequestPath(StrEnum):
53
53
  LOCK_ENTITY = "entity/lock_entity"
54
54
  UNLOCK_ENTITY = "entity/unlock_entity"
55
55
  RUN_TRIGGER = "triggers/run_trigger"
56
+ UPSERT_STEP_RELATIONSHIPS = "recipes/upsert_step_relationships"
57
+ UPSERT_RECIPE_WORKFLOW_STEP = "recipes/upsert_recipe_workflow_step"
56
58
 
57
59
 
58
60
  # DO NOT MODIFY -- This file is generated by type_spec