UncountablePythonSDK 0.0.154__tar.gz → 0.0.155__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 (391) hide show
  1. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/PKG-INFO +2 -2
  2. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/UncountablePythonSDK.egg-info/PKG-INFO +2 -2
  3. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/UncountablePythonSDK.egg-info/SOURCES.txt +2 -0
  4. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/UncountablePythonSDK.egg-info/requires.txt +1 -1
  5. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/docs/requirements.txt +4 -4
  6. uncountablepythonsdk-0.0.155/examples/async_batch_large_parse.py +47 -0
  7. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pyproject.toml +1 -1
  8. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/core/client.py +5 -0
  9. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/queue_runner/worker.py +14 -4
  10. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/__init__.py +2 -0
  11. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/notebooks/add_notebook_content.py +5 -0
  12. uncountablepythonsdk-0.0.155/uncountable/types/api/notebooks/get_notebook_content.py +276 -0
  13. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/triggers/run_trigger.py +1 -0
  14. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/async_batch_processor.py +39 -0
  15. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/async_batch_t.py +1 -0
  16. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/client_base.py +53 -0
  17. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/entity_t.py +6 -0
  18. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/.github/workflows/documentation.yml +0 -0
  19. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/.github/workflows/publish.yml +0 -0
  20. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/.gitignore +0 -0
  21. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/.python-version +0 -0
  22. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/README.md +0 -0
  23. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/UncountablePythonSDK.egg-info/dependency_links.txt +0 -0
  24. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/UncountablePythonSDK.egg-info/top_level.txt +0 -0
  25. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/docs/.gitignore +0 -0
  26. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/docs/conf.py +0 -0
  27. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/docs/index.md +0 -0
  28. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/docs/integration_examples/create_ingredient.md +0 -0
  29. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/docs/integration_examples/create_output.md +0 -0
  30. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/docs/integration_examples/index.md +0 -0
  31. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/docs/integration_examples/upload_file.md +0 -0
  32. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/docs/justfile +0 -0
  33. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/docs/static/favicons/android-chrome-192x192.png +0 -0
  34. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/docs/static/favicons/android-chrome-512x512.png +0 -0
  35. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/docs/static/favicons/apple-touch-icon.png +0 -0
  36. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/docs/static/favicons/browserconfig.xml +0 -0
  37. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/docs/static/favicons/favicon-16x16.png +0 -0
  38. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/docs/static/favicons/favicon-32x32.png +0 -0
  39. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/docs/static/favicons/manifest.json +0 -0
  40. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/docs/static/favicons/mstile-150x150.png +0 -0
  41. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/docs/static/favicons/safari-pinned-tab.svg +0 -0
  42. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/docs/static/logo_blue.png +0 -0
  43. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/examples/async_batch.py +0 -0
  44. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/examples/basic_auth.py +0 -0
  45. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/examples/create_entity.py +0 -0
  46. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/examples/create_ingredient_sdk.py +0 -0
  47. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/examples/download_files.py +0 -0
  48. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/examples/edit_recipe_inputs.py +0 -0
  49. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/examples/integration-server/jobs/materials_auto/concurrent_cron.py +0 -0
  50. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/examples/integration-server/jobs/materials_auto/example_cron.py +0 -0
  51. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/examples/integration-server/jobs/materials_auto/example_http.py +0 -0
  52. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/examples/integration-server/jobs/materials_auto/example_instrument.py +0 -0
  53. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/examples/integration-server/jobs/materials_auto/example_parse.py +0 -0
  54. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/examples/integration-server/jobs/materials_auto/example_predictions.py +0 -0
  55. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/examples/integration-server/jobs/materials_auto/example_runsheet_wh.py +0 -0
  56. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/examples/integration-server/jobs/materials_auto/example_wh.py +0 -0
  57. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/examples/integration-server/jobs/materials_auto/profile.yaml +0 -0
  58. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/examples/integration-server/pyproject.toml +0 -0
  59. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/examples/invoke_uploader.py +0 -0
  60. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/examples/oauth.py +0 -0
  61. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/examples/set_input_pdf_attribute.py +0 -0
  62. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/examples/set_recipe_metadata_file.py +0 -0
  63. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/examples/set_recipe_output_file_sdk.py +0 -0
  64. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/examples/upload_files.py +0 -0
  65. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/__init__.py +0 -0
  66. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/argument_parser/__init__.py +0 -0
  67. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/argument_parser/_is_enum.py +0 -0
  68. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/argument_parser/_is_namedtuple.py +0 -0
  69. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/argument_parser/argument_parser.py +0 -0
  70. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/argument_parser/case_convert.py +0 -0
  71. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/filesystem_utils/__init__.py +0 -0
  72. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/filesystem_utils/_blob_session.py +0 -0
  73. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/filesystem_utils/_gdrive_session.py +0 -0
  74. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/filesystem_utils/_local_session.py +0 -0
  75. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/filesystem_utils/_s3_session.py +0 -0
  76. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/filesystem_utils/_sftp_session.py +0 -0
  77. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/filesystem_utils/file_type_utils.py +0 -0
  78. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/filesystem_utils/filesystem_session.py +0 -0
  79. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/py.typed +0 -0
  80. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/serialization/__init__.py +0 -0
  81. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/serialization/annotation.py +0 -0
  82. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/serialization/missing_sentry.py +0 -0
  83. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/serialization/opaque_key.py +0 -0
  84. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/serialization/serial_alias.py +0 -0
  85. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/serialization/serial_class.py +0 -0
  86. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/serialization/serial_generic.py +0 -0
  87. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/serialization/serial_union.py +0 -0
  88. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/serialization/unknown.py +0 -0
  89. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/serialization/yaml.py +0 -0
  90. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/serialization_util/__init__.py +0 -0
  91. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/serialization_util/_get_type_for_serialization.py +0 -0
  92. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/serialization_util/convert_to_snakecase.py +0 -0
  93. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/serialization_util/dataclasses.py +0 -0
  94. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/serialization_util/serialization_helpers.py +0 -0
  95. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/strenum_compat/__init__.py +0 -0
  96. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/strenum_compat/strenum_compat.py +0 -0
  97. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/__init__.py +0 -0
  98. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/__main__.py +0 -0
  99. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/actions_registry/__init__.py +0 -0
  100. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/actions_registry/__main__.py +0 -0
  101. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/actions_registry/emit_typescript.py +0 -0
  102. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/builder.py +0 -0
  103. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/builder_types.py +0 -0
  104. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/config.py +0 -0
  105. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/cross_output_links.py +0 -0
  106. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/emit_io_ts.py +0 -0
  107. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/emit_open_api.py +0 -0
  108. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/emit_open_api_util.py +0 -0
  109. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/emit_python.py +0 -0
  110. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/emit_typescript.py +0 -0
  111. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/emit_typescript_util.py +0 -0
  112. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/load_types.py +0 -0
  113. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/non_discriminated_union_exceptions.py +0 -0
  114. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/open_api_util.py +0 -0
  115. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/parts/base.py.prepart +0 -0
  116. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/parts/base.ts.prepart +0 -0
  117. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/test.py +0 -0
  118. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/type_info/__main__.py +0 -0
  119. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/type_info/emit_type_info.py +0 -0
  120. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/ui_entry_actions/__init__.py +0 -0
  121. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/ui_entry_actions/generate_ui_entry_actions.py +0 -0
  122. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/util.py +0 -0
  123. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/value_spec/__init__.py +0 -0
  124. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/value_spec/__main__.py +0 -0
  125. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/value_spec/convert_type.py +0 -0
  126. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/value_spec/emit_python.py +0 -0
  127. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/pkgs/type_spec/value_spec/types.py +0 -0
  128. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/setup.cfg +0 -0
  129. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/__init__.py +0 -0
  130. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/core/__init__.py +0 -0
  131. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/core/async_batch.py +0 -0
  132. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/core/environment.py +0 -0
  133. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/core/file_upload.py +0 -0
  134. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/core/types.py +0 -0
  135. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/__init__.py +0 -0
  136. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/cli.py +0 -0
  137. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/construct_client.py +0 -0
  138. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/cron.py +0 -0
  139. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/db/__init__.py +0 -0
  140. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/db/connect.py +0 -0
  141. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/db/session.py +0 -0
  142. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/entrypoint.py +0 -0
  143. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/executors/__init__.py +0 -0
  144. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/executors/executors.py +0 -0
  145. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/executors/generic_upload_executor.py +0 -0
  146. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/executors/script_executor.py +0 -0
  147. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/http_server/__init__.py +0 -0
  148. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/http_server/types.py +0 -0
  149. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/job.py +0 -0
  150. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/queue_runner/__init__.py +0 -0
  151. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/queue_runner/command_server/__init__.py +0 -0
  152. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/queue_runner/command_server/command_client.py +0 -0
  153. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/queue_runner/command_server/command_server.py +0 -0
  154. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/queue_runner/command_server/constants.py +0 -0
  155. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/queue_runner/command_server/protocol/__init__.py +0 -0
  156. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/queue_runner/command_server/protocol/command_server.proto +0 -0
  157. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.py +0 -0
  158. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.pyi +0 -0
  159. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/queue_runner/command_server/protocol/command_server_pb2_grpc.py +0 -0
  160. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/queue_runner/command_server/types.py +0 -0
  161. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/queue_runner/datastore/__init__.py +0 -0
  162. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/queue_runner/datastore/datastore_sqlite.py +0 -0
  163. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/queue_runner/datastore/interface.py +0 -0
  164. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/queue_runner/datastore/model.py +0 -0
  165. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/queue_runner/job_scheduler.py +0 -0
  166. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/queue_runner/queue_runner.py +0 -0
  167. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/queue_runner/types.py +0 -0
  168. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/scan_profiles.py +0 -0
  169. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/scheduler.py +0 -0
  170. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/secret_retrieval/__init__.py +0 -0
  171. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/secret_retrieval/retrieve_secret.py +0 -0
  172. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/server.py +0 -0
  173. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/telemetry.py +0 -0
  174. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/integration/webhook_server/entrypoint.py +0 -0
  175. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/py.typed +0 -0
  176. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/__init__.py +0 -0
  177. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/batch/__init__.py +0 -0
  178. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/batch/execute_batch.py +0 -0
  179. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/batch/execute_batch_load_async.py +0 -0
  180. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/chemical/__init__.py +0 -0
  181. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/chemical/convert_chemical_formats.py +0 -0
  182. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/condition_parameters/__init__.py +0 -0
  183. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/condition_parameters/upsert_condition_match.py +0 -0
  184. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/entity/__init__.py +0 -0
  185. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/entity/create_entities.py +0 -0
  186. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/entity/create_entity.py +0 -0
  187. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/entity/create_or_update_entity.py +0 -0
  188. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/entity/export_entities.py +0 -0
  189. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/entity/get_entities_data.py +0 -0
  190. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/entity/grant_entity_permissions.py +0 -0
  191. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/entity/list_aggregate.py +0 -0
  192. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/entity/list_entities.py +0 -0
  193. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/entity/lock_entity.py +0 -0
  194. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/entity/lookup_entity.py +0 -0
  195. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/entity/resolve_entity_ids.py +0 -0
  196. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/entity/set_barcode.py +0 -0
  197. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/entity/set_entity_field_values.py +0 -0
  198. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/entity/set_values.py +0 -0
  199. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/entity/transition_entity_phase.py +0 -0
  200. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/entity/unlock_entity.py +0 -0
  201. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/equipment/__init__.py +0 -0
  202. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/equipment/associate_equipment_input.py +0 -0
  203. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/field_options/__init__.py +0 -0
  204. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/field_options/upsert_field_options.py +0 -0
  205. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/file_folders/__init__.py +0 -0
  206. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/file_folders/modify_file_system.py +0 -0
  207. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/files/__init__.py +0 -0
  208. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/files/create_file_record.py +0 -0
  209. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/files/download_file.py +0 -0
  210. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/id_source/__init__.py +0 -0
  211. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/id_source/list_id_source.py +0 -0
  212. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/id_source/match_id_source.py +0 -0
  213. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/input_groups/__init__.py +0 -0
  214. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/input_groups/get_input_group_names.py +0 -0
  215. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/inputs/__init__.py +0 -0
  216. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/inputs/create_inputs.py +0 -0
  217. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/inputs/get_input_data.py +0 -0
  218. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/inputs/get_input_names.py +0 -0
  219. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/inputs/get_inputs_data.py +0 -0
  220. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/inputs/set_input_attribute_values.py +0 -0
  221. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/inputs/set_input_category.py +0 -0
  222. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/inputs/set_input_subcategories.py +0 -0
  223. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/inputs/set_intermediate_type.py +0 -0
  224. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/integrations/__init__.py +0 -0
  225. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/integrations/publish_realtime_data.py +0 -0
  226. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/integrations/push_notification.py +0 -0
  227. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/integrations/register_sockets_token.py +0 -0
  228. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/listing/__init__.py +0 -0
  229. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/listing/export_listing.py +0 -0
  230. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/listing/fetch_listing.py +0 -0
  231. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/material_families/__init__.py +0 -0
  232. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/material_families/update_entity_material_families.py +0 -0
  233. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/notebooks/__init__.py +0 -0
  234. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/outputs/__init__.py +0 -0
  235. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/outputs/get_output_data.py +0 -0
  236. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/outputs/get_output_names.py +0 -0
  237. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/outputs/get_output_organization.py +0 -0
  238. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/outputs/resolve_output_conditions.py +0 -0
  239. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/outputs/update_output_condition_parameter.py +0 -0
  240. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/permissions/__init__.py +0 -0
  241. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/permissions/set_core_permissions.py +0 -0
  242. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/permissions/set_entity_permission.py +0 -0
  243. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/project/__init__.py +0 -0
  244. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/project/get_projects.py +0 -0
  245. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/project/get_projects_data.py +0 -0
  246. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipe_links/__init__.py +0 -0
  247. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipe_links/create_recipe_link.py +0 -0
  248. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipe_links/remove_recipe_link.py +0 -0
  249. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipe_metadata/__init__.py +0 -0
  250. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +0 -0
  251. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/__init__.py +0 -0
  252. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/add_recipe_to_project.py +0 -0
  253. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/add_time_series_data.py +0 -0
  254. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/archive_recipes.py +0 -0
  255. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/associate_recipe_as_input.py +0 -0
  256. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/associate_recipe_as_lot.py +0 -0
  257. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/clear_recipe_outputs.py +0 -0
  258. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/create_mix_order.py +0 -0
  259. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/create_recipe.py +0 -0
  260. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/create_recipes.py +0 -0
  261. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/disassociate_recipe_as_input.py +0 -0
  262. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/edit_recipe_inputs.py +0 -0
  263. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/get_column_calculation_values.py +0 -0
  264. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/get_curve.py +0 -0
  265. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/get_recipe_calculations.py +0 -0
  266. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/get_recipe_links.py +0 -0
  267. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/get_recipe_names.py +0 -0
  268. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/get_recipe_output_metadata.py +0 -0
  269. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/get_recipes_data.py +0 -0
  270. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/lock_recipes.py +0 -0
  271. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/remove_recipe_from_project.py +0 -0
  272. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/set_recipe_inputs.py +0 -0
  273. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/set_recipe_metadata.py +0 -0
  274. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/set_recipe_output_annotations.py +0 -0
  275. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/set_recipe_output_file.py +0 -0
  276. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/set_recipe_outputs.py +0 -0
  277. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/set_recipe_tags.py +0 -0
  278. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/set_recipe_total.py +0 -0
  279. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/unarchive_recipes.py +0 -0
  280. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/recipes/unlock_recipes.py +0 -0
  281. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/runsheet/__init__.py +0 -0
  282. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/runsheet/complete_async_upload.py +0 -0
  283. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/runsheet/export_default_runsheet.py +0 -0
  284. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/triggers/__init__.py +0 -0
  285. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/uploader/__init__.py +0 -0
  286. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/uploader/complete_async_parse.py +0 -0
  287. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/uploader/invoke_uploader.py +0 -0
  288. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/user/__init__.py +0 -0
  289. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/api/user/get_current_user_info.py +0 -0
  290. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/async_batch.py +0 -0
  291. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/async_jobs.py +0 -0
  292. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/async_jobs_t.py +0 -0
  293. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/auth_retrieval.py +0 -0
  294. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/auth_retrieval_t.py +0 -0
  295. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/base.py +0 -0
  296. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/base_t.py +0 -0
  297. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/calculations.py +0 -0
  298. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/calculations_t.py +0 -0
  299. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/chemical_structure.py +0 -0
  300. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/chemical_structure_t.py +0 -0
  301. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/client_config.py +0 -0
  302. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/client_config_t.py +0 -0
  303. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/curves.py +0 -0
  304. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/curves_t.py +0 -0
  305. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/data.py +0 -0
  306. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/data_t.py +0 -0
  307. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/entity.py +0 -0
  308. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/experiment_groups.py +0 -0
  309. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/experiment_groups_t.py +0 -0
  310. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/exports.py +0 -0
  311. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/exports_t.py +0 -0
  312. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/field_values.py +0 -0
  313. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/field_values_t.py +0 -0
  314. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/fields.py +0 -0
  315. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/fields_t.py +0 -0
  316. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/generic_upload.py +0 -0
  317. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/generic_upload_t.py +0 -0
  318. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/id_source.py +0 -0
  319. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/id_source_t.py +0 -0
  320. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/identifier.py +0 -0
  321. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/identifier_t.py +0 -0
  322. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/input_attributes.py +0 -0
  323. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/input_attributes_t.py +0 -0
  324. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/inputs.py +0 -0
  325. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/inputs_t.py +0 -0
  326. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/integration_server.py +0 -0
  327. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/integration_server_t.py +0 -0
  328. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/integration_session.py +0 -0
  329. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/integration_session_t.py +0 -0
  330. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/integrations.py +0 -0
  331. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/integrations_t.py +0 -0
  332. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/job_definition.py +0 -0
  333. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/job_definition_t.py +0 -0
  334. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/listing.py +0 -0
  335. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/listing_t.py +0 -0
  336. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/notices.py +0 -0
  337. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/notices_t.py +0 -0
  338. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/notifications.py +0 -0
  339. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/notifications_t.py +0 -0
  340. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/outputs.py +0 -0
  341. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/outputs_t.py +0 -0
  342. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/overrides.py +0 -0
  343. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/overrides_t.py +0 -0
  344. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/permissions.py +0 -0
  345. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/permissions_t.py +0 -0
  346. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/phases.py +0 -0
  347. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/phases_t.py +0 -0
  348. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/post_base.py +0 -0
  349. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/post_base_t.py +0 -0
  350. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/queued_job.py +0 -0
  351. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/queued_job_t.py +0 -0
  352. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/recipe_identifiers.py +0 -0
  353. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/recipe_identifiers_t.py +0 -0
  354. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/recipe_inputs.py +0 -0
  355. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/recipe_inputs_t.py +0 -0
  356. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/recipe_links.py +0 -0
  357. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/recipe_links_t.py +0 -0
  358. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/recipe_metadata.py +0 -0
  359. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/recipe_metadata_t.py +0 -0
  360. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/recipe_output_metadata.py +0 -0
  361. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/recipe_output_metadata_t.py +0 -0
  362. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/recipe_step_relationships.py +0 -0
  363. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/recipe_step_relationships_t.py +0 -0
  364. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/recipe_tags.py +0 -0
  365. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/recipe_tags_t.py +0 -0
  366. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/recipe_workflow_steps.py +0 -0
  367. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/recipe_workflow_steps_t.py +0 -0
  368. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/recipes.py +0 -0
  369. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/recipes_t.py +0 -0
  370. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/response.py +0 -0
  371. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/response_t.py +0 -0
  372. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/runsheet.py +0 -0
  373. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/runsheet_format.py +0 -0
  374. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/runsheet_format_t.py +0 -0
  375. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/runsheet_t.py +0 -0
  376. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/secret_retrieval.py +0 -0
  377. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/secret_retrieval_t.py +0 -0
  378. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/sockets.py +0 -0
  379. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/sockets_t.py +0 -0
  380. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/specs.py +0 -0
  381. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/specs_t.py +0 -0
  382. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/units.py +0 -0
  383. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/units_t.py +0 -0
  384. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/uploader.py +0 -0
  385. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/uploader_t.py +0 -0
  386. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/users.py +0 -0
  387. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/users_t.py +0 -0
  388. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/webhook_job.py +0 -0
  389. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/webhook_job_t.py +0 -0
  390. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/workflows.py +0 -0
  391. {uncountablepythonsdk-0.0.154 → uncountablepythonsdk-0.0.155}/uncountable/types/workflows_t.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: UncountablePythonSDK
3
- Version: 0.0.154
3
+ Version: 0.0.155
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
@@ -31,7 +31,7 @@ Requires-Dist: opentelemetry-api==1.*
31
31
  Requires-Dist: opentelemetry-exporter-otlp-proto-common==1.*
32
32
  Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.*
33
33
  Requires-Dist: opentelemetry-sdk>=1.39.1
34
- Requires-Dist: paramiko==3.*
34
+ Requires-Dist: paramiko==4.*
35
35
  Requires-Dist: boto3==1.*
36
36
  Requires-Dist: flask==3.*
37
37
  Requires-Dist: simplejson==3.*
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: UncountablePythonSDK
3
- Version: 0.0.154
3
+ Version: 0.0.155
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
@@ -31,7 +31,7 @@ Requires-Dist: opentelemetry-api==1.*
31
31
  Requires-Dist: opentelemetry-exporter-otlp-proto-common==1.*
32
32
  Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.*
33
33
  Requires-Dist: opentelemetry-sdk>=1.39.1
34
- Requires-Dist: paramiko==3.*
34
+ Requires-Dist: paramiko==4.*
35
35
  Requires-Dist: boto3==1.*
36
36
  Requires-Dist: flask==3.*
37
37
  Requires-Dist: simplejson==3.*
@@ -29,6 +29,7 @@ docs/static/favicons/manifest.json
29
29
  docs/static/favicons/mstile-150x150.png
30
30
  docs/static/favicons/safari-pinned-tab.svg
31
31
  examples/async_batch.py
32
+ examples/async_batch_large_parse.py
32
33
  examples/basic_auth.py
33
34
  examples/create_entity.py
34
35
  examples/create_ingredient_sdk.py
@@ -328,6 +329,7 @@ uncountable/types/api/material_families/__init__.py
328
329
  uncountable/types/api/material_families/update_entity_material_families.py
329
330
  uncountable/types/api/notebooks/__init__.py
330
331
  uncountable/types/api/notebooks/add_notebook_content.py
332
+ uncountable/types/api/notebooks/get_notebook_content.py
331
333
  uncountable/types/api/outputs/__init__.py
332
334
  uncountable/types/api/outputs/get_output_data.py
333
335
  uncountable/types/api/outputs/get_output_names.py
@@ -13,7 +13,7 @@ opentelemetry-api==1.*
13
13
  opentelemetry-exporter-otlp-proto-common==1.*
14
14
  opentelemetry-exporter-otlp-proto-http==1.*
15
15
  opentelemetry-sdk>=1.39.1
16
- paramiko==3.*
16
+ paramiko==4.*
17
17
  boto3==1.*
18
18
  flask==3.*
19
19
  simplejson==3.*
@@ -1,9 +1,9 @@
1
1
  furo==2025.12.19
2
2
  myst-parser==5.0.0
3
- sphinx-autoapi==3.6.1
3
+ sphinx-autoapi==3.7.0
4
4
  sphinx-copybutton==0.5.2
5
- Sphinx==8.2.3
5
+ Sphinx==9.1.0
6
6
  sphinx_design==0.7.0
7
- sphinx-favicon==1.0.1
7
+ sphinx-favicon==1.1.0
8
8
  astroid==4.0.3
9
- docutils==0.21.2
9
+ docutils==0.22.4
@@ -0,0 +1,47 @@
1
+ import os
2
+ from decimal import Decimal
3
+
4
+ from uncountable.core import AsyncBatchProcessor, AuthDetailsApiKey, Client
5
+ from uncountable.types.generic_upload_t import UploadDestinationRecipe
6
+ from uncountable.types.identifier import IdentifierKeyId
7
+ from uncountable.types.uploader_t import (
8
+ DataChannel,
9
+ DecimalValue,
10
+ NumericChannelData,
11
+ ParsedFileData,
12
+ )
13
+
14
+ client = Client(
15
+ base_url=os.environ["UNC_BASE_URL"],
16
+ auth_details=AuthDetailsApiKey(
17
+ api_id=os.environ["UNC_API_ID"], api_secret_key=os.environ["UNC_API_SECRET_KEY"]
18
+ ),
19
+ )
20
+
21
+ ROWS = 1_000_000
22
+ CHANNELS = 2
23
+
24
+ parsed_file_data = [
25
+ ParsedFileData(
26
+ file_name="large_timeseries.csv",
27
+ file_structures=[
28
+ DataChannel(
29
+ channel=NumericChannelData(
30
+ name=f"channel_{i}",
31
+ data=[DecimalValue(value=Decimal("1.0"))] * ROWS,
32
+ ),
33
+ )
34
+ for i in range(CHANNELS)
35
+ ],
36
+ )
37
+ ]
38
+
39
+ batch_loader = AsyncBatchProcessor(client=client)
40
+ batch_loader.complete_async_parse(
41
+ parsed_file_data=parsed_file_data,
42
+ async_job_key=IdentifierKeyId(id=1),
43
+ upload_destination=UploadDestinationRecipe(
44
+ recipe_key=IdentifierKeyId(id=1),
45
+ ),
46
+ )
47
+ job_id = batch_loader.send()
@@ -66,7 +66,7 @@ dependencies = [
66
66
  "opentelemetry-exporter-otlp-proto-common==1.*",
67
67
  "opentelemetry-exporter-otlp-proto-http==1.*",
68
68
  "opentelemetry-sdk >= 1.39.1",
69
- "paramiko ==3.*",
69
+ "paramiko ==4.*",
70
70
  "boto3 == 1.*",
71
71
  "flask == 3.*",
72
72
  "simplejson == 3.*",
@@ -259,6 +259,7 @@ class Client(ClientMethods):
259
259
  attributes: Attributes = {
260
260
  "method": http_request.method,
261
261
  "endpoint": api_request.endpoint,
262
+ "request_id": request_id,
262
263
  }
263
264
  with push_scope_optional(self._cfg.logger, "api_call", attributes=attributes):
264
265
  if self._cfg.logger is not None:
@@ -381,6 +382,10 @@ class Client(ClientMethods):
381
382
  assert isinstance(http_request, HTTPGetRequest)
382
383
  request.params = http_request.query_params
383
384
  response = self._send_request(request)
385
+
386
+ if response.status_code == 404:
387
+ return []
388
+
384
389
  self._validate_response_status(response, request_id)
385
390
 
386
391
  content = response.content
@@ -1,9 +1,18 @@
1
1
  import asyncio
2
- import resource
2
+ import sys
3
+ import typing
3
4
  from concurrent.futures import ProcessPoolExecutor
4
5
  from dataclasses import dataclass
5
6
 
6
7
  import psutil
8
+
9
+ if typing.TYPE_CHECKING:
10
+ import resource as resource
11
+ elif sys.platform != "win32":
12
+ import resource as resource
13
+ else:
14
+ resource = None
15
+
7
16
  from opentelemetry.trace import get_current_span
8
17
 
9
18
  from uncountable.core.async_batch import AsyncBatchProcessor
@@ -84,9 +93,10 @@ def run_queued_job(
84
93
  queued_job: queued_job_t.QueuedJob,
85
94
  ) -> job_definition_t.JobResult:
86
95
  with get_otel_tracer().start_as_current_span(name="run_queued_job") as span:
87
- total_mem = psutil.virtual_memory().total
88
- limit_bytes = int(total_mem * 0.9)
89
- resource.setrlimit(resource.RLIMIT_AS, (limit_bytes, limit_bytes))
96
+ if resource is not None:
97
+ total_mem = psutil.virtual_memory().total
98
+ limit_bytes = int(total_mem * 0.9)
99
+ resource.setrlimit(resource.RLIMIT_AS, (limit_bytes, limit_bytes))
90
100
 
91
101
  job_details = get_registered_job_details(queued_job.job_ref_name)
92
102
  job_logger = JobLogger(
@@ -54,6 +54,7 @@ from .api.inputs import get_input_data as get_input_data_t
54
54
  from .api.input_groups import get_input_group_names as get_input_group_names_t
55
55
  from .api.inputs import get_input_names as get_input_names_t
56
56
  from .api.inputs import get_inputs_data as get_inputs_data_t
57
+ from .api.notebooks import get_notebook_content as get_notebook_content_t
57
58
  from .api.outputs import get_output_data as get_output_data_t
58
59
  from .api.outputs import get_output_names as get_output_names_t
59
60
  from .api.outputs import get_output_organization as get_output_organization_t
@@ -199,6 +200,7 @@ __all__: list[str] = [
199
200
  "get_input_group_names_t",
200
201
  "get_input_names_t",
201
202
  "get_inputs_data_t",
203
+ "get_notebook_content_t",
202
204
  "get_output_data_t",
203
205
  "get_output_names_t",
204
206
  "get_output_organization_t",
@@ -160,6 +160,8 @@ class InputContentImage:
160
160
  "ketcher": "Ketcher",
161
161
  "mol_2000": "MOL 2000",
162
162
  "mol_3000": "MOL 3000",
163
+ "rxn": "RXN",
164
+ "sdf": "SDF",
163
165
  },
164
166
  )
165
167
  class ChemicalStructureSourceType(StrEnum):
@@ -167,6 +169,8 @@ class ChemicalStructureSourceType(StrEnum):
167
169
  KETCHER = "ketcher"
168
170
  MOL_2000 = "mol_2000"
169
171
  MOL_3000 = "mol_3000"
172
+ RXN = "rxn"
173
+ SDF = "sdf"
170
174
 
171
175
 
172
176
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -179,6 +183,7 @@ class InputContentChemicalStructure:
179
183
  type: typing.Literal[InputContentType.CHEMICAL_STRUCTURE] = InputContentType.CHEMICAL_STRUCTURE
180
184
  structure_format: ChemicalStructureSourceType
181
185
  structure_data: str
186
+ split_sdf_into_separate_cells: bool | None = None
182
187
 
183
188
 
184
189
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -0,0 +1,276 @@
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 pkgs.serialization import serial_string_enum
14
+ from ... import base_t
15
+ from ... import identifier_t
16
+
17
+ __all__: list[str] = [
18
+ "Arguments",
19
+ "ChemicalStructureOutputFormat",
20
+ "Data",
21
+ "ENDPOINT_METHOD",
22
+ "ENDPOINT_PATH",
23
+ "OutputContent",
24
+ "OutputContentChemicalStructure",
25
+ "OutputContentChemicalStructureError",
26
+ "OutputContentEquation",
27
+ "OutputContentFiles",
28
+ "OutputContentImage",
29
+ "OutputContentReactionTable",
30
+ "OutputContentTable",
31
+ "OutputContentTextHtml",
32
+ "OutputContentType",
33
+ "OutputTableCell",
34
+ "OutputTableCellContent",
35
+ "OutputTableCellContentImage",
36
+ "OutputTableCellContentText",
37
+ "OutputTableCellContentType",
38
+ "OutputTableCellStyle",
39
+ ]
40
+
41
+ ENDPOINT_METHOD = "GET"
42
+ ENDPOINT_PATH = "api/external/notebooks/get_notebook_content"
43
+
44
+
45
+ # DO NOT MODIFY -- This file is generated by type_spec
46
+ @serial_string_enum(
47
+ labels={
48
+ "text_html": "Text HTML",
49
+ "table": "Table",
50
+ "chemical_structure": "Chemical Structure",
51
+ "chemical_structure_error": "Chemical Structure Error",
52
+ "equation": "Equation",
53
+ "files": "Files",
54
+ "image": "Image",
55
+ "reaction_table": "Reaction Table",
56
+ },
57
+ )
58
+ class OutputContentType(StrEnum):
59
+ TEXT_HTML = "text_html"
60
+ TABLE = "table"
61
+ CHEMICAL_STRUCTURE = "chemical_structure"
62
+ CHEMICAL_STRUCTURE_ERROR = "chemical_structure_error"
63
+ EQUATION = "equation"
64
+ FILES = "files"
65
+ IMAGE = "image"
66
+ REACTION_TABLE = "reaction_table"
67
+
68
+
69
+ # DO NOT MODIFY -- This file is generated by type_spec
70
+ @serial_string_enum(
71
+ labels={
72
+ "mol_3000": "MOL 3000",
73
+ "rxn_3000": "RXN 3000",
74
+ },
75
+ )
76
+ class ChemicalStructureOutputFormat(StrEnum):
77
+ MOL_3000 = "mol_3000"
78
+ RXN_3000 = "rxn_3000"
79
+
80
+
81
+ # DO NOT MODIFY -- This file is generated by type_spec
82
+ @serial_class(
83
+ named_type_path="sdk.api.notebooks.get_notebook_content.OutputContentTextHtml",
84
+ parse_require={"type"},
85
+ )
86
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
87
+ class OutputContentTextHtml:
88
+ type: typing.Literal[OutputContentType.TEXT_HTML] = OutputContentType.TEXT_HTML
89
+ text_html: str
90
+
91
+
92
+ # DO NOT MODIFY -- This file is generated by type_spec
93
+ @serial_string_enum(
94
+ labels={
95
+ "text": "Text",
96
+ "image": "Image",
97
+ },
98
+ )
99
+ class OutputTableCellContentType(StrEnum):
100
+ TEXT = "text"
101
+ IMAGE = "image"
102
+
103
+
104
+ # DO NOT MODIFY -- This file is generated by type_spec
105
+ @serial_class(
106
+ named_type_path="sdk.api.notebooks.get_notebook_content.OutputTableCellContentText",
107
+ parse_require={"type"},
108
+ )
109
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
110
+ class OutputTableCellContentText:
111
+ type: typing.Literal[OutputTableCellContentType.TEXT] = OutputTableCellContentType.TEXT
112
+ text: str
113
+
114
+
115
+ # DO NOT MODIFY -- This file is generated by type_spec
116
+ @serial_class(
117
+ named_type_path="sdk.api.notebooks.get_notebook_content.OutputTableCellContentImage",
118
+ parse_require={"type"},
119
+ )
120
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
121
+ class OutputTableCellContentImage:
122
+ type: typing.Literal[OutputTableCellContentType.IMAGE] = OutputTableCellContentType.IMAGE
123
+ file_name: str
124
+
125
+
126
+ # DO NOT MODIFY -- This file is generated by type_spec
127
+ OutputTableCellContent = typing.Annotated[
128
+ OutputTableCellContentText | OutputTableCellContentImage,
129
+ serial_union_annotation(
130
+ named_type_path="sdk.api.notebooks.get_notebook_content.OutputTableCellContent",
131
+ discriminator="type",
132
+ discriminator_map={
133
+ "text": OutputTableCellContentText,
134
+ "image": OutputTableCellContentImage,
135
+ },
136
+ ),
137
+ ]
138
+
139
+
140
+ # DO NOT MODIFY -- This file is generated by type_spec
141
+ @serial_class(
142
+ named_type_path="sdk.api.notebooks.get_notebook_content.OutputTableCellStyle",
143
+ )
144
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
145
+ class OutputTableCellStyle:
146
+ background_color: str | None = None
147
+ bold: bool | None = None
148
+ italic: bool | None = None
149
+ underline: bool | None = None
150
+
151
+
152
+ # DO NOT MODIFY -- This file is generated by type_spec
153
+ @serial_class(
154
+ named_type_path="sdk.api.notebooks.get_notebook_content.OutputTableCell",
155
+ )
156
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
157
+ class OutputTableCell:
158
+ content: OutputTableCellContent
159
+ style: OutputTableCellStyle | None = None
160
+
161
+
162
+ # DO NOT MODIFY -- This file is generated by type_spec
163
+ @serial_class(
164
+ named_type_path="sdk.api.notebooks.get_notebook_content.OutputContentTable",
165
+ parse_require={"type"},
166
+ )
167
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
168
+ class OutputContentTable:
169
+ type: typing.Literal[OutputContentType.TABLE] = OutputContentType.TABLE
170
+ rows: list[list[OutputTableCell]]
171
+
172
+
173
+ # DO NOT MODIFY -- This file is generated by type_spec
174
+ @serial_class(
175
+ named_type_path="sdk.api.notebooks.get_notebook_content.OutputContentChemicalStructure",
176
+ parse_require={"type"},
177
+ )
178
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
179
+ class OutputContentChemicalStructure:
180
+ type: typing.Literal[OutputContentType.CHEMICAL_STRUCTURE] = OutputContentType.CHEMICAL_STRUCTURE
181
+ structure_format: ChemicalStructureOutputFormat
182
+ structure_data: str
183
+
184
+
185
+ # DO NOT MODIFY -- This file is generated by type_spec
186
+ @serial_class(
187
+ named_type_path="sdk.api.notebooks.get_notebook_content.OutputContentEquation",
188
+ parse_require={"type"},
189
+ )
190
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
191
+ class OutputContentEquation:
192
+ type: typing.Literal[OutputContentType.EQUATION] = OutputContentType.EQUATION
193
+ equation: str
194
+
195
+
196
+ # DO NOT MODIFY -- This file is generated by type_spec
197
+ @serial_class(
198
+ named_type_path="sdk.api.notebooks.get_notebook_content.OutputContentFiles",
199
+ parse_require={"type"},
200
+ )
201
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
202
+ class OutputContentFiles:
203
+ type: typing.Literal[OutputContentType.FILES] = OutputContentType.FILES
204
+ file_names: list[str]
205
+
206
+
207
+ # DO NOT MODIFY -- This file is generated by type_spec
208
+ @serial_class(
209
+ named_type_path="sdk.api.notebooks.get_notebook_content.OutputContentImage",
210
+ parse_require={"type"},
211
+ )
212
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
213
+ class OutputContentImage:
214
+ type: typing.Literal[OutputContentType.IMAGE] = OutputContentType.IMAGE
215
+ file_names: list[str]
216
+
217
+
218
+ # DO NOT MODIFY -- This file is generated by type_spec
219
+ @serial_class(
220
+ named_type_path="sdk.api.notebooks.get_notebook_content.OutputContentChemicalStructureError",
221
+ parse_require={"type"},
222
+ )
223
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
224
+ class OutputContentChemicalStructureError:
225
+ type: typing.Literal[OutputContentType.CHEMICAL_STRUCTURE_ERROR] = OutputContentType.CHEMICAL_STRUCTURE_ERROR
226
+ message: str
227
+
228
+
229
+ # DO NOT MODIFY -- This file is generated by type_spec
230
+ @serial_class(
231
+ named_type_path="sdk.api.notebooks.get_notebook_content.OutputContentReactionTable",
232
+ parse_require={"type"},
233
+ )
234
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
235
+ class OutputContentReactionTable:
236
+ type: typing.Literal[OutputContentType.REACTION_TABLE] = OutputContentType.REACTION_TABLE
237
+ reaction_data: str
238
+
239
+
240
+ # DO NOT MODIFY -- This file is generated by type_spec
241
+ OutputContent = typing.Annotated[
242
+ OutputContentTextHtml | OutputContentTable | OutputContentChemicalStructure | OutputContentEquation | OutputContentChemicalStructureError | OutputContentFiles | OutputContentImage | OutputContentReactionTable,
243
+ serial_union_annotation(
244
+ named_type_path="sdk.api.notebooks.get_notebook_content.OutputContent",
245
+ discriminator="type",
246
+ discriminator_map={
247
+ "text_html": OutputContentTextHtml,
248
+ "table": OutputContentTable,
249
+ "chemical_structure": OutputContentChemicalStructure,
250
+ "equation": OutputContentEquation,
251
+ "chemical_structure_error": OutputContentChemicalStructureError,
252
+ "files": OutputContentFiles,
253
+ "image": OutputContentImage,
254
+ "reaction_table": OutputContentReactionTable,
255
+ },
256
+ ),
257
+ ]
258
+
259
+
260
+ # DO NOT MODIFY -- This file is generated by type_spec
261
+ @serial_class(
262
+ named_type_path="sdk.api.notebooks.get_notebook_content.Arguments",
263
+ )
264
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
265
+ class Arguments:
266
+ notebook_key: identifier_t.IdentifierKey
267
+
268
+
269
+ # DO NOT MODIFY -- This file is generated by type_spec
270
+ @serial_class(
271
+ named_type_path="sdk.api.notebooks.get_notebook_content.Data",
272
+ )
273
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
274
+ class Data:
275
+ contents: list[OutputContent]
276
+ # DO NOT MODIFY -- This file is generated by type_spec
@@ -30,6 +30,7 @@ ENDPOINT_PATH = "api/external/triggers/run_trigger"
30
30
  @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
31
31
  class Arguments:
32
32
  trigger_ref_name: str
33
+ entity_identifier: entity_t.EntityIdentifier | None = None
33
34
  entity: entity_t.Entity | None = None
34
35
 
35
36
 
@@ -35,6 +35,7 @@ import uncountable.types.api.integrations.push_notification as push_notification
35
35
  from uncountable.types import recipe_identifiers_t
36
36
  from uncountable.types import recipe_metadata_t
37
37
  from uncountable.types import recipe_workflow_steps_t
38
+ import uncountable.types.api.triggers.run_trigger as run_trigger_t
38
39
  import uncountable.types.api.entity.set_barcode as set_barcode_t
39
40
  import uncountable.types.api.entity.set_entity_field_values as set_entity_field_values_t
40
41
  import uncountable.types.api.recipes.set_recipe_metadata as set_recipe_metadata_t
@@ -680,6 +681,44 @@ class AsyncBatchProcessorBase(ABC):
680
681
  batch_reference=req.batch_reference,
681
682
  )
682
683
 
684
+ def run_trigger(
685
+ self,
686
+ *,
687
+ trigger_ref_name: str,
688
+ entity_identifier: entity_t.EntityIdentifier | None = None,
689
+ entity: entity_t.Entity | None = None,
690
+ depends_on: list[str] | None = None,
691
+ _request_options: client_config_t.RequestOptions | None = None,
692
+ ) -> async_batch_t.QueuedAsyncBatchRequest:
693
+ """Runs a trigger. Requires admin access
694
+
695
+ :param entity_identifier: Identifier of the entity to run the trigger on.
696
+ :param entity: [Deprecated: use entity_identifier] Entity to run the trigger on.
697
+ :param depends_on: A list of batch reference keys to process before processing this request
698
+ """
699
+ args = run_trigger_t.Arguments(
700
+ entity_identifier=entity_identifier,
701
+ entity=entity,
702
+ trigger_ref_name=trigger_ref_name,
703
+ )
704
+ json_data = serialize_for_api(args)
705
+
706
+ batch_reference = str(uuid.uuid4())
707
+
708
+ req = async_batch_t.AsyncBatchRequest(
709
+ path=async_batch_t.AsyncBatchRequestPath.RUN_TRIGGER,
710
+ data=json_data,
711
+ depends_on=depends_on,
712
+ batch_reference=batch_reference,
713
+ )
714
+
715
+ self._enqueue(req)
716
+
717
+ return async_batch_t.QueuedAsyncBatchRequest(
718
+ path=req.path,
719
+ batch_reference=req.batch_reference,
720
+ )
721
+
683
722
  def set_barcode(
684
723
  self,
685
724
  *,
@@ -52,6 +52,7 @@ class AsyncBatchRequestPath(StrEnum):
52
52
  SET_BARCODE = "entity/set_barcode"
53
53
  LOCK_ENTITY = "entity/lock_entity"
54
54
  UNLOCK_ENTITY = "entity/unlock_entity"
55
+ RUN_TRIGGER = "triggers/run_trigger"
55
56
 
56
57
 
57
58
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -38,6 +38,7 @@ import uncountable.types.api.batch.execute_batch as execute_batch_t
38
38
  import uncountable.types.api.batch.execute_batch_load_async as execute_batch_load_async_t
39
39
  import uncountable.types.api.runsheet.export_default_runsheet as export_default_runsheet_t
40
40
  import uncountable.types.api.entity.export_entities as export_entities_t
41
+ import uncountable.types.api.listing.export_listing as export_listing_t
41
42
  from uncountable.types import exports_t
42
43
  import uncountable.types.api.listing.fetch_listing as fetch_listing_t
43
44
  from uncountable.types import field_values_t
@@ -50,6 +51,7 @@ import uncountable.types.api.inputs.get_input_data as get_input_data_t
50
51
  import uncountable.types.api.input_groups.get_input_group_names as get_input_group_names_t
51
52
  import uncountable.types.api.inputs.get_input_names as get_input_names_t
52
53
  import uncountable.types.api.inputs.get_inputs_data as get_inputs_data_t
54
+ import uncountable.types.api.notebooks.get_notebook_content as get_notebook_content_t
53
55
  import uncountable.types.api.outputs.get_output_data as get_output_data_t
54
56
  import uncountable.types.api.outputs.get_output_names as get_output_names_t
55
57
  import uncountable.types.api.outputs.get_output_organization as get_output_organization_t
@@ -793,6 +795,33 @@ class ClientMethods(ABC):
793
795
  )
794
796
  return self.do_request(api_request=api_request, return_type=export_entities_t.Data)
795
797
 
798
+ def export_listing(
799
+ self,
800
+ *,
801
+ entity_type: entity_t.EntityType,
802
+ columns: list[listing_t.ColumnIdentifier],
803
+ filters: listing_t.FilterNode | None = None,
804
+ _request_options: client_config_t.RequestOptions | None = None,
805
+ ) -> export_listing_t.Data:
806
+ """Generate an asynchronous listing export with the provided columns and filters
807
+
808
+ :param entity_type: The entity type to fetch listing entries for
809
+ :param columns: The columns to include in the results
810
+ :param filters: Structured filters to apply to the listing, represented by a FilterNode object
811
+ """
812
+ args = export_listing_t.Arguments(
813
+ entity_type=entity_type,
814
+ columns=columns,
815
+ filters=filters,
816
+ )
817
+ api_request = APIRequest(
818
+ method=export_listing_t.ENDPOINT_METHOD,
819
+ endpoint=export_listing_t.ENDPOINT_PATH,
820
+ args=args,
821
+ request_options=_request_options,
822
+ )
823
+ return self.do_request(api_request=api_request, return_type=export_listing_t.Data)
824
+
796
825
  def fetch_listing(
797
826
  self,
798
827
  *,
@@ -1020,6 +1049,26 @@ class ClientMethods(ABC):
1020
1049
  )
1021
1050
  return self.do_request(api_request=api_request, return_type=get_inputs_data_t.Data)
1022
1051
 
1052
+ def get_notebook_content(
1053
+ self,
1054
+ *,
1055
+ notebook_key: identifier_t.IdentifierKey,
1056
+ _request_options: client_config_t.RequestOptions | None = None,
1057
+ ) -> get_notebook_content_t.Data:
1058
+ """Gets the structured content of a notebook. Only exportable cell types are included in the response — currently text, table, chemical structure, equation, file, image, and reaction table. Other cell types (e.g. charts, graphs, dashboards) are omitted. Cells marked as excluded from export are also omitted.
1059
+
1060
+ """
1061
+ args = get_notebook_content_t.Arguments(
1062
+ notebook_key=notebook_key,
1063
+ )
1064
+ api_request = APIRequest(
1065
+ method=get_notebook_content_t.ENDPOINT_METHOD,
1066
+ endpoint=get_notebook_content_t.ENDPOINT_PATH,
1067
+ args=args,
1068
+ request_options=_request_options,
1069
+ )
1070
+ return self.do_request(api_request=api_request, return_type=get_notebook_content_t.Data)
1071
+
1023
1072
  def get_output_data(
1024
1073
  self,
1025
1074
  *,
@@ -1755,13 +1804,17 @@ class ClientMethods(ABC):
1755
1804
  self,
1756
1805
  *,
1757
1806
  trigger_ref_name: str,
1807
+ entity_identifier: entity_t.EntityIdentifier | None = None,
1758
1808
  entity: entity_t.Entity | None = None,
1759
1809
  _request_options: client_config_t.RequestOptions | None = None,
1760
1810
  ) -> run_trigger_t.Data:
1761
1811
  """Runs a trigger. Requires admin access
1762
1812
 
1813
+ :param entity_identifier: Identifier of the entity to run the trigger on.
1814
+ :param entity: [Deprecated: use entity_identifier] Entity to run the trigger on.
1763
1815
  """
1764
1816
  args = run_trigger_t.Arguments(
1817
+ entity_identifier=entity_identifier,
1765
1818
  entity=entity,
1766
1819
  trigger_ref_name=trigger_ref_name,
1767
1820
  )