UncountablePythonSDK 0.0.129__tar.gz → 0.0.130__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.

Potentially problematic release.


This version of UncountablePythonSDK might be problematic. Click here for more details.

Files changed (369) hide show
  1. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/PKG-INFO +1 -1
  2. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/UncountablePythonSDK.egg-info/PKG-INFO +1 -1
  3. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/UncountablePythonSDK.egg-info/SOURCES.txt +6 -0
  4. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/docs/requirements.txt +1 -1
  5. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/examples/integration-server/jobs/materials_auto/example_parse.py +33 -23
  6. uncountablepythonsdk-0.0.130/examples/integration-server/jobs/materials_auto/example_runsheet_wh.py +39 -0
  7. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/argument_parser/argument_parser.py +20 -1
  8. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/parts/base.ts.prepart +3 -0
  9. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/__init__.py +6 -0
  10. uncountablepythonsdk-0.0.130/uncountable/types/api/notebooks/add_notebook_content.py +119 -0
  11. uncountablepythonsdk-0.0.130/uncountable/types/api/user/__init__.py +1 -0
  12. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/client_base.py +28 -0
  13. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/integration_server_t.py +2 -0
  14. uncountablepythonsdk-0.0.130/uncountable/types/listing.py +9 -0
  15. uncountablepythonsdk-0.0.130/uncountable/types/listing_t.py +51 -0
  16. uncountablepythonsdk-0.0.130/uncountable/types/structured_filters.py +21 -0
  17. uncountablepythonsdk-0.0.130/uncountable/types/structured_filters_t.py +206 -0
  18. uncountablepythonsdk-0.0.129/examples/integration-server/jobs/materials_auto/example_runsheet_wh.py +0 -36
  19. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/.github/workflows/documentation.yml +0 -0
  20. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/.github/workflows/publish.yml +0 -0
  21. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/.gitignore +0 -0
  22. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/.python-version +0 -0
  23. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/README.md +0 -0
  24. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/UncountablePythonSDK.egg-info/dependency_links.txt +0 -0
  25. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/UncountablePythonSDK.egg-info/requires.txt +0 -0
  26. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/UncountablePythonSDK.egg-info/top_level.txt +0 -0
  27. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/docs/.gitignore +0 -0
  28. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/docs/conf.py +0 -0
  29. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/docs/index.md +0 -0
  30. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/docs/integration_examples/create_ingredient.md +0 -0
  31. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/docs/integration_examples/create_output.md +0 -0
  32. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/docs/integration_examples/index.md +0 -0
  33. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/docs/justfile +0 -0
  34. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/docs/static/favicons/android-chrome-192x192.png +0 -0
  35. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/docs/static/favicons/android-chrome-512x512.png +0 -0
  36. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/docs/static/favicons/apple-touch-icon.png +0 -0
  37. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/docs/static/favicons/browserconfig.xml +0 -0
  38. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/docs/static/favicons/favicon-16x16.png +0 -0
  39. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/docs/static/favicons/favicon-32x32.png +0 -0
  40. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/docs/static/favicons/manifest.json +0 -0
  41. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/docs/static/favicons/mstile-150x150.png +0 -0
  42. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/docs/static/favicons/safari-pinned-tab.svg +0 -0
  43. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/docs/static/logo_blue.png +0 -0
  44. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/examples/async_batch.py +0 -0
  45. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/examples/basic_auth.py +0 -0
  46. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/examples/create_entity.py +0 -0
  47. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/examples/create_ingredient_sdk.py +0 -0
  48. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/examples/download_files.py +0 -0
  49. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/examples/edit_recipe_inputs.py +0 -0
  50. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/examples/integration-server/jobs/materials_auto/concurrent_cron.py +0 -0
  51. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/examples/integration-server/jobs/materials_auto/example_cron.py +0 -0
  52. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/examples/integration-server/jobs/materials_auto/example_http.py +0 -0
  53. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/examples/integration-server/jobs/materials_auto/example_instrument.py +0 -0
  54. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/examples/integration-server/jobs/materials_auto/example_predictions.py +0 -0
  55. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/examples/integration-server/jobs/materials_auto/example_wh.py +0 -0
  56. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/examples/integration-server/jobs/materials_auto/profile.yaml +0 -0
  57. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/examples/integration-server/pyproject.toml +0 -0
  58. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/examples/invoke_uploader.py +0 -0
  59. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/examples/oauth.py +0 -0
  60. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/examples/set_recipe_metadata_file.py +0 -0
  61. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/examples/set_recipe_output_file_sdk.py +0 -0
  62. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/examples/upload_files.py +0 -0
  63. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/__init__.py +0 -0
  64. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/argument_parser/__init__.py +0 -0
  65. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/argument_parser/_is_enum.py +0 -0
  66. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/argument_parser/_is_namedtuple.py +0 -0
  67. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/argument_parser/case_convert.py +0 -0
  68. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/filesystem_utils/__init__.py +0 -0
  69. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/filesystem_utils/_blob_session.py +0 -0
  70. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/filesystem_utils/_gdrive_session.py +0 -0
  71. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/filesystem_utils/_local_session.py +0 -0
  72. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/filesystem_utils/_s3_session.py +0 -0
  73. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/filesystem_utils/_sftp_session.py +0 -0
  74. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/filesystem_utils/file_type_utils.py +0 -0
  75. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/filesystem_utils/filesystem_session.py +0 -0
  76. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/py.typed +0 -0
  77. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/serialization/__init__.py +0 -0
  78. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/serialization/annotation.py +0 -0
  79. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/serialization/missing_sentry.py +0 -0
  80. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/serialization/opaque_key.py +0 -0
  81. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/serialization/serial_alias.py +0 -0
  82. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/serialization/serial_class.py +0 -0
  83. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/serialization/serial_generic.py +0 -0
  84. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/serialization/serial_union.py +0 -0
  85. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/serialization/yaml.py +0 -0
  86. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/serialization_util/__init__.py +0 -0
  87. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/serialization_util/_get_type_for_serialization.py +0 -0
  88. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/serialization_util/convert_to_snakecase.py +0 -0
  89. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/serialization_util/dataclasses.py +0 -0
  90. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/serialization_util/serialization_helpers.py +0 -0
  91. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/strenum_compat/__init__.py +0 -0
  92. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/strenum_compat/strenum_compat.py +0 -0
  93. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/__init__.py +0 -0
  94. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/__main__.py +0 -0
  95. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/actions_registry/__init__.py +0 -0
  96. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/actions_registry/__main__.py +0 -0
  97. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/actions_registry/emit_typescript.py +0 -0
  98. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/builder.py +0 -0
  99. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/builder_types.py +0 -0
  100. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/config.py +0 -0
  101. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/cross_output_links.py +0 -0
  102. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/emit_io_ts.py +0 -0
  103. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/emit_open_api.py +0 -0
  104. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/emit_open_api_util.py +0 -0
  105. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/emit_python.py +0 -0
  106. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/emit_typescript.py +0 -0
  107. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/emit_typescript_util.py +0 -0
  108. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/load_types.py +0 -0
  109. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/non_discriminated_union_exceptions.py +0 -0
  110. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/open_api_util.py +0 -0
  111. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/parts/base.py.prepart +0 -0
  112. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/test.py +0 -0
  113. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/type_info/__main__.py +0 -0
  114. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/type_info/emit_type_info.py +0 -0
  115. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/ui_entry_actions/__init__.py +0 -0
  116. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/ui_entry_actions/generate_ui_entry_actions.py +0 -0
  117. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/util.py +0 -0
  118. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/value_spec/__init__.py +0 -0
  119. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/value_spec/__main__.py +0 -0
  120. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/value_spec/convert_type.py +0 -0
  121. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/value_spec/emit_python.py +0 -0
  122. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pkgs/type_spec/value_spec/types.py +0 -0
  123. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/pyproject.toml +0 -0
  124. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/setup.cfg +0 -0
  125. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/__init__.py +0 -0
  126. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/core/__init__.py +0 -0
  127. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/core/async_batch.py +0 -0
  128. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/core/client.py +0 -0
  129. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/core/environment.py +0 -0
  130. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/core/file_upload.py +0 -0
  131. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/core/types.py +0 -0
  132. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/__init__.py +0 -0
  133. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/cli.py +0 -0
  134. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/construct_client.py +0 -0
  135. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/cron.py +0 -0
  136. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/db/__init__.py +0 -0
  137. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/db/connect.py +0 -0
  138. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/db/session.py +0 -0
  139. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/entrypoint.py +0 -0
  140. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/executors/__init__.py +0 -0
  141. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/executors/executors.py +0 -0
  142. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/executors/generic_upload_executor.py +0 -0
  143. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/executors/script_executor.py +0 -0
  144. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/http_server/__init__.py +0 -0
  145. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/http_server/types.py +0 -0
  146. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/job.py +0 -0
  147. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/queue_runner/__init__.py +0 -0
  148. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/queue_runner/command_server/__init__.py +0 -0
  149. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/queue_runner/command_server/command_client.py +0 -0
  150. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/queue_runner/command_server/command_server.py +0 -0
  151. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/queue_runner/command_server/constants.py +0 -0
  152. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/queue_runner/command_server/protocol/__init__.py +0 -0
  153. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/queue_runner/command_server/protocol/command_server.proto +0 -0
  154. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.py +0 -0
  155. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.pyi +0 -0
  156. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/queue_runner/command_server/protocol/command_server_pb2_grpc.py +0 -0
  157. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/queue_runner/command_server/types.py +0 -0
  158. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/queue_runner/datastore/__init__.py +0 -0
  159. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/queue_runner/datastore/datastore_sqlite.py +0 -0
  160. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/queue_runner/datastore/interface.py +0 -0
  161. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/queue_runner/datastore/model.py +0 -0
  162. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/queue_runner/job_scheduler.py +0 -0
  163. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/queue_runner/queue_runner.py +0 -0
  164. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/queue_runner/types.py +0 -0
  165. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/queue_runner/worker.py +0 -0
  166. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/scan_profiles.py +0 -0
  167. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/scheduler.py +0 -0
  168. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/secret_retrieval/__init__.py +0 -0
  169. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/secret_retrieval/retrieve_secret.py +0 -0
  170. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/server.py +0 -0
  171. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/telemetry.py +0 -0
  172. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/integration/webhook_server/entrypoint.py +0 -0
  173. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/py.typed +0 -0
  174. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/__init__.py +0 -0
  175. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/batch/__init__.py +0 -0
  176. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/batch/execute_batch.py +0 -0
  177. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/batch/execute_batch_load_async.py +0 -0
  178. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/chemical/__init__.py +0 -0
  179. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/chemical/convert_chemical_formats.py +0 -0
  180. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/condition_parameters/__init__.py +0 -0
  181. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/condition_parameters/upsert_condition_match.py +0 -0
  182. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/entity/__init__.py +0 -0
  183. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/entity/create_entities.py +0 -0
  184. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/entity/create_entity.py +0 -0
  185. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/entity/create_or_update_entity.py +0 -0
  186. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/entity/export_entities.py +0 -0
  187. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/entity/get_entities_data.py +0 -0
  188. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/entity/grant_entity_permissions.py +0 -0
  189. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/entity/list_aggregate.py +0 -0
  190. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/entity/list_entities.py +0 -0
  191. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/entity/lock_entity.py +0 -0
  192. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/entity/lookup_entity.py +0 -0
  193. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/entity/resolve_entity_ids.py +0 -0
  194. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/entity/set_entity_field_values.py +0 -0
  195. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/entity/set_values.py +0 -0
  196. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/entity/transition_entity_phase.py +0 -0
  197. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/entity/unlock_entity.py +0 -0
  198. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/equipment/__init__.py +0 -0
  199. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/equipment/associate_equipment_input.py +0 -0
  200. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/field_options/__init__.py +0 -0
  201. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/field_options/upsert_field_options.py +0 -0
  202. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/files/__init__.py +0 -0
  203. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/files/download_file.py +0 -0
  204. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/id_source/__init__.py +0 -0
  205. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/id_source/list_id_source.py +0 -0
  206. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/id_source/match_id_source.py +0 -0
  207. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/input_groups/__init__.py +0 -0
  208. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/input_groups/get_input_group_names.py +0 -0
  209. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/inputs/__init__.py +0 -0
  210. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/inputs/create_inputs.py +0 -0
  211. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/inputs/get_input_data.py +0 -0
  212. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/inputs/get_input_names.py +0 -0
  213. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/inputs/get_inputs_data.py +0 -0
  214. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/inputs/set_input_attribute_values.py +0 -0
  215. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/inputs/set_input_category.py +0 -0
  216. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/inputs/set_input_subcategories.py +0 -0
  217. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/inputs/set_intermediate_type.py +0 -0
  218. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/integrations/__init__.py +0 -0
  219. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/integrations/publish_realtime_data.py +0 -0
  220. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/integrations/push_notification.py +0 -0
  221. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/integrations/register_sockets_token.py +0 -0
  222. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/material_families/__init__.py +0 -0
  223. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/material_families/update_entity_material_families.py +0 -0
  224. {uncountablepythonsdk-0.0.129/uncountable/types/api/outputs → uncountablepythonsdk-0.0.130/uncountable/types/api/notebooks}/__init__.py +0 -0
  225. {uncountablepythonsdk-0.0.129/uncountable/types/api/permissions → uncountablepythonsdk-0.0.130/uncountable/types/api/outputs}/__init__.py +0 -0
  226. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/outputs/get_output_data.py +0 -0
  227. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/outputs/get_output_names.py +0 -0
  228. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/outputs/get_output_organization.py +0 -0
  229. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/outputs/resolve_output_conditions.py +0 -0
  230. {uncountablepythonsdk-0.0.129/uncountable/types/api/project → uncountablepythonsdk-0.0.130/uncountable/types/api/permissions}/__init__.py +0 -0
  231. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/permissions/set_core_permissions.py +0 -0
  232. {uncountablepythonsdk-0.0.129/uncountable/types/api/recipe_links → uncountablepythonsdk-0.0.130/uncountable/types/api/project}/__init__.py +0 -0
  233. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/project/get_projects.py +0 -0
  234. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/project/get_projects_data.py +0 -0
  235. {uncountablepythonsdk-0.0.129/uncountable/types/api/recipe_metadata → uncountablepythonsdk-0.0.130/uncountable/types/api/recipe_links}/__init__.py +0 -0
  236. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipe_links/create_recipe_link.py +0 -0
  237. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipe_links/remove_recipe_link.py +0 -0
  238. {uncountablepythonsdk-0.0.129/uncountable/types/api/recipes → uncountablepythonsdk-0.0.130/uncountable/types/api/recipe_metadata}/__init__.py +0 -0
  239. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +0 -0
  240. {uncountablepythonsdk-0.0.129/uncountable/types/api/runsheet → uncountablepythonsdk-0.0.130/uncountable/types/api/recipes}/__init__.py +0 -0
  241. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/add_recipe_to_project.py +0 -0
  242. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/add_time_series_data.py +0 -0
  243. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/archive_recipes.py +0 -0
  244. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/associate_recipe_as_input.py +0 -0
  245. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/associate_recipe_as_lot.py +0 -0
  246. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/clear_recipe_outputs.py +0 -0
  247. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/create_mix_order.py +0 -0
  248. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/create_recipe.py +0 -0
  249. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/create_recipes.py +0 -0
  250. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/disassociate_recipe_as_input.py +0 -0
  251. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/edit_recipe_inputs.py +0 -0
  252. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/get_column_calculation_values.py +0 -0
  253. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/get_curve.py +0 -0
  254. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/get_recipe_calculations.py +0 -0
  255. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/get_recipe_links.py +0 -0
  256. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/get_recipe_names.py +0 -0
  257. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/get_recipe_output_metadata.py +0 -0
  258. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/get_recipes_data.py +0 -0
  259. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/lock_recipes.py +0 -0
  260. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/remove_recipe_from_project.py +0 -0
  261. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/set_recipe_inputs.py +0 -0
  262. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/set_recipe_metadata.py +0 -0
  263. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/set_recipe_output_annotations.py +0 -0
  264. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/set_recipe_output_file.py +0 -0
  265. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/set_recipe_outputs.py +0 -0
  266. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/set_recipe_tags.py +0 -0
  267. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/set_recipe_total.py +0 -0
  268. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/unarchive_recipes.py +0 -0
  269. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/recipes/unlock_recipes.py +0 -0
  270. {uncountablepythonsdk-0.0.129/uncountable/types/api/triggers → uncountablepythonsdk-0.0.130/uncountable/types/api/runsheet}/__init__.py +0 -0
  271. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/runsheet/complete_async_upload.py +0 -0
  272. {uncountablepythonsdk-0.0.129/uncountable/types/api/uploader → uncountablepythonsdk-0.0.130/uncountable/types/api/triggers}/__init__.py +0 -0
  273. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/triggers/run_trigger.py +0 -0
  274. {uncountablepythonsdk-0.0.129/uncountable/types/api/user → uncountablepythonsdk-0.0.130/uncountable/types/api/uploader}/__init__.py +0 -0
  275. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/uploader/complete_async_parse.py +0 -0
  276. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/uploader/invoke_uploader.py +0 -0
  277. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/api/user/get_current_user_info.py +0 -0
  278. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/async_batch.py +0 -0
  279. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/async_batch_processor.py +0 -0
  280. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/async_batch_t.py +0 -0
  281. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/async_jobs.py +0 -0
  282. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/async_jobs_t.py +0 -0
  283. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/auth_retrieval.py +0 -0
  284. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/auth_retrieval_t.py +0 -0
  285. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/base.py +0 -0
  286. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/base_t.py +0 -0
  287. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/calculations.py +0 -0
  288. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/calculations_t.py +0 -0
  289. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/chemical_structure.py +0 -0
  290. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/chemical_structure_t.py +0 -0
  291. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/client_config.py +0 -0
  292. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/client_config_t.py +0 -0
  293. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/curves.py +0 -0
  294. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/curves_t.py +0 -0
  295. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/data.py +0 -0
  296. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/data_t.py +0 -0
  297. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/entity.py +0 -0
  298. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/entity_t.py +0 -0
  299. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/experiment_groups.py +0 -0
  300. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/experiment_groups_t.py +0 -0
  301. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/exports.py +0 -0
  302. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/exports_t.py +0 -0
  303. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/field_values.py +0 -0
  304. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/field_values_t.py +0 -0
  305. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/fields.py +0 -0
  306. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/fields_t.py +0 -0
  307. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/generic_upload.py +0 -0
  308. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/generic_upload_t.py +0 -0
  309. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/id_source.py +0 -0
  310. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/id_source_t.py +0 -0
  311. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/identifier.py +0 -0
  312. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/identifier_t.py +0 -0
  313. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/input_attributes.py +0 -0
  314. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/input_attributes_t.py +0 -0
  315. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/inputs.py +0 -0
  316. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/inputs_t.py +0 -0
  317. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/integration_server.py +0 -0
  318. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/integration_session.py +0 -0
  319. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/integration_session_t.py +0 -0
  320. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/integrations.py +0 -0
  321. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/integrations_t.py +0 -0
  322. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/job_definition.py +0 -0
  323. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/job_definition_t.py +0 -0
  324. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/notifications.py +0 -0
  325. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/notifications_t.py +0 -0
  326. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/outputs.py +0 -0
  327. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/outputs_t.py +0 -0
  328. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/overrides.py +0 -0
  329. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/overrides_t.py +0 -0
  330. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/permissions.py +0 -0
  331. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/permissions_t.py +0 -0
  332. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/phases.py +0 -0
  333. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/phases_t.py +0 -0
  334. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/post_base.py +0 -0
  335. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/post_base_t.py +0 -0
  336. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/queued_job.py +0 -0
  337. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/queued_job_t.py +0 -0
  338. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/recipe_identifiers.py +0 -0
  339. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/recipe_identifiers_t.py +0 -0
  340. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/recipe_inputs.py +0 -0
  341. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/recipe_inputs_t.py +0 -0
  342. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/recipe_links.py +0 -0
  343. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/recipe_links_t.py +0 -0
  344. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/recipe_metadata.py +0 -0
  345. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/recipe_metadata_t.py +0 -0
  346. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/recipe_output_metadata.py +0 -0
  347. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/recipe_output_metadata_t.py +0 -0
  348. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/recipe_tags.py +0 -0
  349. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/recipe_tags_t.py +0 -0
  350. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/recipe_workflow_steps.py +0 -0
  351. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/recipe_workflow_steps_t.py +0 -0
  352. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/recipes.py +0 -0
  353. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/recipes_t.py +0 -0
  354. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/response.py +0 -0
  355. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/response_t.py +0 -0
  356. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/secret_retrieval.py +0 -0
  357. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/secret_retrieval_t.py +0 -0
  358. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/sockets.py +0 -0
  359. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/sockets_t.py +0 -0
  360. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/units.py +0 -0
  361. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/units_t.py +0 -0
  362. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/uploader.py +0 -0
  363. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/uploader_t.py +0 -0
  364. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/users.py +0 -0
  365. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/users_t.py +0 -0
  366. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/webhook_job.py +0 -0
  367. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/webhook_job_t.py +0 -0
  368. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/uncountable/types/workflows.py +0 -0
  369. {uncountablepythonsdk-0.0.129 → uncountablepythonsdk-0.0.130}/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.129
3
+ Version: 0.0.130
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: UncountablePythonSDK
3
- Version: 0.0.129
3
+ Version: 0.0.130
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
@@ -208,6 +208,8 @@ uncountable/types/integrations.py
208
208
  uncountable/types/integrations_t.py
209
209
  uncountable/types/job_definition.py
210
210
  uncountable/types/job_definition_t.py
211
+ uncountable/types/listing.py
212
+ uncountable/types/listing_t.py
211
213
  uncountable/types/notifications.py
212
214
  uncountable/types/notifications_t.py
213
215
  uncountable/types/outputs.py
@@ -244,6 +246,8 @@ uncountable/types/secret_retrieval.py
244
246
  uncountable/types/secret_retrieval_t.py
245
247
  uncountable/types/sockets.py
246
248
  uncountable/types/sockets_t.py
249
+ uncountable/types/structured_filters.py
250
+ uncountable/types/structured_filters_t.py
247
251
  uncountable/types/units.py
248
252
  uncountable/types/units_t.py
249
253
  uncountable/types/uploader.py
@@ -304,6 +308,8 @@ uncountable/types/api/integrations/push_notification.py
304
308
  uncountable/types/api/integrations/register_sockets_token.py
305
309
  uncountable/types/api/material_families/__init__.py
306
310
  uncountable/types/api/material_families/update_entity_material_families.py
311
+ uncountable/types/api/notebooks/__init__.py
312
+ uncountable/types/api/notebooks/add_notebook_content.py
307
313
  uncountable/types/api/outputs/__init__.py
308
314
  uncountable/types/api/outputs/get_output_data.py
309
315
  uncountable/types/api/outputs/get_output_names.py
@@ -1,4 +1,4 @@
1
- furo==2025.7.19
1
+ furo==2025.9.25
2
2
  myst-parser==4.0.1
3
3
  sphinx-autoapi==3.6.0
4
4
  sphinx-copybutton==0.5.2
@@ -23,9 +23,40 @@ class ParseExample(WebhookJob[ParsePayload]):
23
23
  def run(
24
24
  self, args: JobArguments, payload: ParsePayload
25
25
  ) -> job_definition_t.JobResult:
26
+ user_id: base_t.ObjectId | None = None
27
+ recipe_id: base_t.ObjectId | None = None
28
+ file_name: str | None = None
29
+ data = args.client.get_entities_data(
30
+ entity_ids=[payload.async_job_id], entity_type=entity_t.EntityType.ASYNC_JOB
31
+ )
32
+ for field_value in data.entity_details[0].field_values:
33
+ if field_value.field_ref_name == "core_async_job_jobData":
34
+ assert isinstance(field_value.value, dict)
35
+ assert isinstance(field_value.value["user_id"], int)
36
+ user_id = field_value.value["user_id"]
37
+ elif (
38
+ field_value.field_ref_name
39
+ == "unc_async_job_custom_parser_recipe_ids_in_view"
40
+ ):
41
+ if field_value.value is None:
42
+ continue
43
+ assert isinstance(field_value.value, list)
44
+ if len(field_value.value) > 0:
45
+ assert isinstance(field_value.value[0], int)
46
+ recipe_id = field_value.value[0]
47
+ elif field_value.field_ref_name == "unc_async_job_custom_parser_input_file":
48
+ assert isinstance(field_value.value, list)
49
+ assert len(field_value.value) == 1
50
+ assert isinstance(field_value.value[0], dict)
51
+ assert isinstance(field_value.value[0]["name"], str)
52
+ file_name = field_value.value[0]["name"]
53
+
54
+ assert user_id is not None
55
+ assert file_name is not None
56
+
26
57
  dummy_parsed_file_data: list[uploader_t.ParsedFileData] = [
27
58
  uploader_t.ParsedFileData(
28
- file_name="my_file_to_upload.xlsx",
59
+ file_name=file_name,
29
60
  file_structures=[
30
61
  uploader_t.DataChannel(
31
62
  type=uploader_t.StructureElementType.CHANNEL,
@@ -82,32 +113,11 @@ class ParseExample(WebhookJob[ParsePayload]):
82
113
  )
83
114
  ]
84
115
 
85
- user_id: base_t.ObjectId | None = None
86
- recipe_id: base_t.ObjectId | None = None
87
- data = args.client.get_entities_data(
88
- entity_ids=[payload.async_job_id], entity_type=entity_t.EntityType.ASYNC_JOB
89
- )
90
- for field_value in data.entity_details[0].field_values:
91
- if field_value.field_ref_name == "core_async_job_jobData":
92
- assert isinstance(field_value.value, dict)
93
- assert isinstance(field_value.value["user_id"], int)
94
- user_id = field_value.value["user_id"]
95
- if (
96
- field_value.field_ref_name
97
- == "unc_async_job_custom_parser_recipe_ids_in_view"
98
- ):
99
- assert isinstance(field_value.value, list)
100
- assert isinstance(field_value.value[0], int)
101
- recipe_id = field_value.value[0]
102
-
103
- assert user_id is not None
104
- assert recipe_id is not None
105
-
106
116
  complete_async_parse_req = args.batch_processor.complete_async_parse(
107
117
  parsed_file_data=dummy_parsed_file_data,
108
118
  async_job_key=identifier_t.IdentifierKeyId(id=payload.async_job_id),
109
119
  upload_destination=generic_upload_t.UploadDestinationRecipe(
110
- recipe_key=identifier_t.IdentifierKeyId(id=recipe_id)
120
+ recipe_key=identifier_t.IdentifierKeyId(id=recipe_id or 1)
111
121
  ),
112
122
  )
113
123
 
@@ -0,0 +1,39 @@
1
+ from io import BytesIO
2
+
3
+ from uncountable.core.file_upload import DataFileUpload, FileUpload
4
+ from uncountable.integration.job import JobArguments, RunsheetWebhookJob, register_job
5
+ from uncountable.types import (
6
+ download_file_t,
7
+ entity_t,
8
+ identifier_t,
9
+ webhook_job_t,
10
+ )
11
+
12
+
13
+ @register_job
14
+ class StandardRunsheetGenerator(RunsheetWebhookJob):
15
+ def build_runsheet(
16
+ self,
17
+ *,
18
+ args: JobArguments,
19
+ payload: webhook_job_t.RunsheetWebhookPayload,
20
+ ) -> FileUpload:
21
+ args.logger.log_info("Retrieving pre-exported runsheet file from async job")
22
+
23
+ file_query = download_file_t.FileDownloadQueryEntityField(
24
+ entity=entity_t.EntityIdentifier(
25
+ type=entity_t.EntityType.ASYNC_JOB,
26
+ identifier_key=identifier_t.IdentifierKeyId(id=payload.async_job_id),
27
+ ),
28
+ field_key=identifier_t.IdentifierKeyRefName(
29
+ ref_name="unc_async_job_export_runsheet_recipe_export"
30
+ ),
31
+ )
32
+
33
+ downloaded_files = args.client.download_files(file_query=file_query)
34
+
35
+ file_data = downloaded_files[0].data.read()
36
+ return DataFileUpload(
37
+ data=BytesIO(file_data),
38
+ name=downloaded_files[0].name,
39
+ )
@@ -168,6 +168,23 @@ def _invoke_membership_parser(
168
168
  raise ValueError(f"Expected value from {expected_values} but got value {value}")
169
169
 
170
170
 
171
+ # Uses `is` to compare
172
+ def _build_identity_parser(
173
+ identity_value: T,
174
+ ) -> ParserFunction[T]:
175
+ def parse(value: typing.Any) -> T:
176
+ if value is identity_value:
177
+ return identity_value
178
+ raise ValueError(
179
+ f"Expected value {identity_value} (type: {type(identity_value)}) but got value {value} (type: {type(value)})"
180
+ )
181
+
182
+ return parse
183
+
184
+
185
+ NONE_IDENTITY_PARSER = _build_identity_parser(None)
186
+
187
+
171
188
  def _build_parser_discriminated_union(
172
189
  context: ParserContext,
173
190
  discriminator_raw: str,
@@ -243,8 +260,10 @@ def _build_parser_inner(
243
260
  for field_name, field_parser in field_parsers
244
261
  })
245
262
 
263
+ # IMPROVE: unclear why we need == here
246
264
  if parsed_type == type(None): # noqa: E721
247
- return lambda value: _invoke_membership_parser({None}, value)
265
+ # Need to convince type checker that parsed_type is type(None)
266
+ return typing.cast(ParserFunction[T], NONE_IDENTITY_PARSER)
248
267
 
249
268
  origin = typing.get_origin(parsed_type)
250
269
  if origin is tuple:
@@ -29,3 +29,6 @@ export const IOJsonValue: IO.Type<JsonValue> = IO.recursion('JsonValue', () =>
29
29
  export interface nominal<T> {
30
30
  "nominal structural brand": T
31
31
  }
32
+
33
+ // Ids matching a strict integer number are converted to integers
34
+ export const ID_REGEX = /-?[1-9][0-9]{0,20}/
@@ -2,6 +2,7 @@
2
2
  # ruff: noqa: E402 Q003
3
3
  # fmt: off
4
4
  # isort: skip_file
5
+ from .api.notebooks import add_notebook_content as add_notebook_content_t
5
6
  from .api.recipes import add_recipe_to_project as add_recipe_to_project_t
6
7
  from .api.recipes import add_time_series_data as add_time_series_data_t
7
8
  from .api.recipes import archive_recipes as archive_recipes_t
@@ -73,6 +74,7 @@ from . import job_definition_t as job_definition_t
73
74
  from .api.entity import list_aggregate as list_aggregate_t
74
75
  from .api.entity import list_entities as list_entities_t
75
76
  from .api.id_source import list_id_source as list_id_source_t
77
+ from . import listing_t as listing_t
76
78
  from .api.entity import lock_entity as lock_entity_t
77
79
  from .api.recipes import lock_recipes as lock_recipes_t
78
80
  from .api.entity import lookup_entity as lookup_entity_t
@@ -117,6 +119,7 @@ from .api.recipes import set_recipe_tags as set_recipe_tags_t
117
119
  from .api.recipes import set_recipe_total as set_recipe_total_t
118
120
  from .api.entity import set_values as set_values_t
119
121
  from . import sockets_t as sockets_t
122
+ from . import structured_filters_t as structured_filters_t
120
123
  from .api.entity import transition_entity_phase as transition_entity_phase_t
121
124
  from .api.recipes import unarchive_recipes as unarchive_recipes_t
122
125
  from . import units_t as units_t
@@ -132,6 +135,7 @@ from . import workflows_t as workflows_t
132
135
 
133
136
 
134
137
  __all__: list[str] = [
138
+ "add_notebook_content_t",
135
139
  "add_recipe_to_project_t",
136
140
  "add_time_series_data_t",
137
141
  "archive_recipes_t",
@@ -203,6 +207,7 @@ __all__: list[str] = [
203
207
  "list_aggregate_t",
204
208
  "list_entities_t",
205
209
  "list_id_source_t",
210
+ "listing_t",
206
211
  "lock_entity_t",
207
212
  "lock_recipes_t",
208
213
  "lookup_entity_t",
@@ -247,6 +252,7 @@ __all__: list[str] = [
247
252
  "set_recipe_total_t",
248
253
  "set_values_t",
249
254
  "sockets_t",
255
+ "structured_filters_t",
250
256
  "transition_entity_phase_t",
251
257
  "unarchive_recipes_t",
252
258
  "units_t",
@@ -0,0 +1,119 @@
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
+ "Data",
20
+ "ENDPOINT_METHOD",
21
+ "ENDPOINT_PATH",
22
+ "InputContent",
23
+ "InputContentTextMarkdown",
24
+ "InputContentType",
25
+ "Location",
26
+ "LocationAppendToFirstPage",
27
+ "LocationType",
28
+ ]
29
+
30
+ ENDPOINT_METHOD = "POST"
31
+ ENDPOINT_PATH = "api/external/notebooks/add_notebook_content"
32
+
33
+
34
+ # DO NOT MODIFY -- This file is generated by type_spec
35
+ @serial_string_enum(
36
+ labels={
37
+ "append_to_first_page": "Append To First Page",
38
+ },
39
+ )
40
+ class LocationType(StrEnum):
41
+ APPEND_TO_FIRST_PAGE = "append_to_first_page"
42
+
43
+
44
+ # DO NOT MODIFY -- This file is generated by type_spec
45
+ @serial_class(
46
+ named_type_path="sdk.api.notebooks.add_notebook_content.LocationAppendToFirstPage",
47
+ parse_require={"type"},
48
+ )
49
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
50
+ class LocationAppendToFirstPage:
51
+ type: typing.Literal[LocationType.APPEND_TO_FIRST_PAGE] = LocationType.APPEND_TO_FIRST_PAGE
52
+
53
+
54
+ # DO NOT MODIFY -- This file is generated by type_spec
55
+ Location = typing.Annotated[
56
+ typing.Union[LocationAppendToFirstPage],
57
+ serial_union_annotation(
58
+ named_type_path="sdk.api.notebooks.add_notebook_content.Location",
59
+ discriminator="type",
60
+ discriminator_map={
61
+ "append_to_first_page": LocationAppendToFirstPage,
62
+ },
63
+ ),
64
+ ]
65
+
66
+
67
+ # DO NOT MODIFY -- This file is generated by type_spec
68
+ @serial_string_enum(
69
+ labels={
70
+ "text_markdown": "Text Markdown",
71
+ },
72
+ )
73
+ class InputContentType(StrEnum):
74
+ TEXT_MARKDOWN = "text_markdown"
75
+
76
+
77
+ # DO NOT MODIFY -- This file is generated by type_spec
78
+ @serial_class(
79
+ named_type_path="sdk.api.notebooks.add_notebook_content.InputContentTextMarkdown",
80
+ parse_require={"type"},
81
+ )
82
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
83
+ class InputContentTextMarkdown:
84
+ type: typing.Literal[InputContentType.TEXT_MARKDOWN] = InputContentType.TEXT_MARKDOWN
85
+ text_markdown: str
86
+
87
+
88
+ # DO NOT MODIFY -- This file is generated by type_spec
89
+ InputContent = typing.Annotated[
90
+ typing.Union[InputContentTextMarkdown],
91
+ serial_union_annotation(
92
+ named_type_path="sdk.api.notebooks.add_notebook_content.InputContent",
93
+ discriminator="type",
94
+ discriminator_map={
95
+ "text_markdown": InputContentTextMarkdown,
96
+ },
97
+ ),
98
+ ]
99
+
100
+
101
+ # DO NOT MODIFY -- This file is generated by type_spec
102
+ @serial_class(
103
+ named_type_path="sdk.api.notebooks.add_notebook_content.Arguments",
104
+ )
105
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
106
+ class Arguments:
107
+ notebook_key: identifier_t.IdentifierKey
108
+ location: Location
109
+ contents: list[InputContent]
110
+
111
+
112
+ # DO NOT MODIFY -- This file is generated by type_spec
113
+ @serial_class(
114
+ named_type_path="sdk.api.notebooks.add_notebook_content.Data",
115
+ )
116
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
117
+ class Data:
118
+ pass
119
+ # DO NOT MODIFY -- This file is generated by type_spec
@@ -0,0 +1 @@
1
+ # DO NOT MODIFY -- This file is generated by type_spec
@@ -8,6 +8,7 @@ import typing # noqa: F401
8
8
  import datetime # noqa: F401
9
9
  from decimal import Decimal # noqa: F401
10
10
  from pkgs.serialization import OpaqueKey
11
+ import uncountable.types.api.notebooks.add_notebook_content as add_notebook_content_t
11
12
  import uncountable.types.api.recipes.add_recipe_to_project as add_recipe_to_project_t
12
13
  import uncountable.types.api.recipes.add_time_series_data as add_time_series_data_t
13
14
  import uncountable.types.api.recipes.archive_recipes as archive_recipes_t
@@ -124,6 +125,33 @@ class ClientMethods(ABC):
124
125
  def do_request(self, *, api_request: APIRequest, return_type: type[DT]) -> DT:
125
126
  ...
126
127
 
128
+ def add_notebook_content(
129
+ self,
130
+ *,
131
+ notebook_key: identifier_t.IdentifierKey,
132
+ location: add_notebook_content_t.Location,
133
+ contents: list[add_notebook_content_t.InputContent],
134
+ _request_options: client_config_t.RequestOptions | None = None,
135
+ ) -> add_notebook_content_t.Data:
136
+ """Adds content to an existing notebook
137
+
138
+ :param notebook_key: Key of the notebook to add the content to
139
+ :param location: The location to add the content to in the notebook
140
+ :param contents: List of input content to add to the notebook
141
+ """
142
+ args = add_notebook_content_t.Arguments(
143
+ notebook_key=notebook_key,
144
+ location=location,
145
+ contents=contents,
146
+ )
147
+ api_request = APIRequest(
148
+ method=add_notebook_content_t.ENDPOINT_METHOD,
149
+ endpoint=add_notebook_content_t.ENDPOINT_PATH,
150
+ args=args,
151
+ request_options=_request_options,
152
+ )
153
+ return self.do_request(api_request=api_request, return_type=add_notebook_content_t.Data)
154
+
127
155
  def add_recipe_to_project(
128
156
  self,
129
157
  *,
@@ -26,6 +26,8 @@ class IntegrationEnvironment(StrEnum):
26
26
  DEV = "dev"
27
27
  TEST = "test"
28
28
  PROD = "prod"
29
+ STG = "stg"
30
+ SBX = "sbx"
29
31
 
30
32
 
31
33
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -0,0 +1,9 @@
1
+ # ruff: noqa: E402 Q003
2
+ # fmt: off
3
+ # isort: skip_file
4
+ # DO NOT MODIFY -- This file is generated by type_spec
5
+ # Kept only for SDK backwards compatibility
6
+ from .listing_t import ColumnType as ColumnType
7
+ from .listing_t import ColumnIdentifierEntityRefName as ColumnIdentifierEntityRefName
8
+ from .listing_t import ColumnIdentifier as ColumnIdentifier
9
+ # DO NOT MODIFY -- This file is generated by type_spec
@@ -0,0 +1,51 @@
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 base_t
14
+ from . import entity_t
15
+
16
+ __all__: list[str] = [
17
+ "ColumnIdentifier",
18
+ "ColumnIdentifierEntityRefName",
19
+ "ColumnType",
20
+ ]
21
+
22
+
23
+ # DO NOT MODIFY -- This file is generated by type_spec
24
+ class ColumnType(StrEnum):
25
+ REF_NAME = "ref_name"
26
+
27
+
28
+ # DO NOT MODIFY -- This file is generated by type_spec
29
+ @serial_class(
30
+ named_type_path="sdk.listing.ColumnIdentifierEntityRefName",
31
+ parse_require={"type"},
32
+ )
33
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True, frozen=True, eq=True) # type: ignore[literal-required]
34
+ class ColumnIdentifierEntityRefName:
35
+ type: typing.Literal[ColumnType.REF_NAME] = ColumnType.REF_NAME
36
+ entity_type: entity_t.EntityType
37
+ ref_name: str
38
+
39
+
40
+ # DO NOT MODIFY -- This file is generated by type_spec
41
+ ColumnIdentifier = typing.Annotated[
42
+ typing.Union[ColumnIdentifierEntityRefName],
43
+ serial_union_annotation(
44
+ named_type_path="sdk.listing.ColumnIdentifier",
45
+ discriminator="type",
46
+ discriminator_map={
47
+ "ref_name": ColumnIdentifierEntityRefName,
48
+ },
49
+ ),
50
+ ]
51
+ # DO NOT MODIFY -- This file is generated by type_spec
@@ -0,0 +1,21 @@
1
+ # ruff: noqa: E402 Q003
2
+ # fmt: off
3
+ # isort: skip_file
4
+ # DO NOT MODIFY -- This file is generated by type_spec
5
+ # Kept only for SDK backwards compatibility
6
+ from .structured_filters_t import FilterRelation as FilterRelation
7
+ from .structured_filters_t import FilterSpecBase as FilterSpecBase
8
+ from .structured_filters_t import FilterScalarType as FilterScalarType
9
+ from .structured_filters_t import FilterIdType as FilterIdType
10
+ from .structured_filters_t import StringFilterValue as StringFilterValue
11
+ from .structured_filters_t import FilterSpecEquals as FilterSpecEquals
12
+ from .structured_filters_t import FilterSpecInclude as FilterSpecInclude
13
+ from .structured_filters_t import FilterSpecIStrContains as FilterSpecIStrContains
14
+ from .structured_filters_t import FilterSpecIStrStartsWith as FilterSpecIStrStartsWith
15
+ from .structured_filters_t import FilterSpecExists as FilterSpecExists
16
+ from .structured_filters_t import FilterSpecGreater as FilterSpecGreater
17
+ from .structured_filters_t import FilterLess as FilterLess
18
+ from .structured_filters_t import FilterSpecGeq as FilterSpecGeq
19
+ from .structured_filters_t import FilterSpecLeq as FilterSpecLeq
20
+ from .structured_filters_t import FilterSpec as FilterSpec
21
+ # DO NOT MODIFY -- This file is generated by type_spec