UncountablePythonSDK 0.0.124__tar.gz → 0.0.126__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 (356) hide show
  1. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/.github/workflows/publish.yml +1 -1
  2. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/PKG-INFO +2 -2
  3. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/UncountablePythonSDK.egg-info/PKG-INFO +2 -2
  4. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/UncountablePythonSDK.egg-info/SOURCES.txt +3 -0
  5. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/UncountablePythonSDK.egg-info/requires.txt +1 -1
  6. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/examples/integration-server/pyproject.toml +1 -1
  7. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pyproject.toml +1 -1
  8. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/__init__.py +4 -0
  9. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/get_recipe_output_metadata.py +2 -2
  10. uncountablepythonsdk-0.0.126/uncountable/types/api/uploader/complete_async_parse.py +42 -0
  11. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/client_base.py +20 -0
  12. uncountablepythonsdk-0.0.126/uncountable/types/uploader.py +24 -0
  13. uncountablepythonsdk-0.0.126/uncountable/types/uploader_t.py +221 -0
  14. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/.github/workflows/documentation.yml +0 -0
  15. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/.gitignore +0 -0
  16. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/.python-version +0 -0
  17. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/README.md +0 -0
  18. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/UncountablePythonSDK.egg-info/dependency_links.txt +0 -0
  19. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/UncountablePythonSDK.egg-info/top_level.txt +0 -0
  20. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/docs/.gitignore +0 -0
  21. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/docs/conf.py +0 -0
  22. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/docs/index.md +0 -0
  23. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/docs/integration_examples/create_ingredient.md +0 -0
  24. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/docs/integration_examples/create_output.md +0 -0
  25. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/docs/integration_examples/index.md +0 -0
  26. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/docs/justfile +0 -0
  27. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/docs/requirements.txt +0 -0
  28. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/docs/static/favicons/android-chrome-192x192.png +0 -0
  29. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/docs/static/favicons/android-chrome-512x512.png +0 -0
  30. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/docs/static/favicons/apple-touch-icon.png +0 -0
  31. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/docs/static/favicons/browserconfig.xml +0 -0
  32. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/docs/static/favicons/favicon-16x16.png +0 -0
  33. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/docs/static/favicons/favicon-32x32.png +0 -0
  34. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/docs/static/favicons/manifest.json +0 -0
  35. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/docs/static/favicons/mstile-150x150.png +0 -0
  36. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/docs/static/favicons/safari-pinned-tab.svg +0 -0
  37. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/docs/static/logo_blue.png +0 -0
  38. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/examples/async_batch.py +0 -0
  39. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/examples/basic_auth.py +0 -0
  40. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/examples/create_entity.py +0 -0
  41. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/examples/create_ingredient_sdk.py +0 -0
  42. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/examples/download_files.py +0 -0
  43. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/examples/edit_recipe_inputs.py +0 -0
  44. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/examples/integration-server/jobs/materials_auto/concurrent_cron.py +0 -0
  45. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/examples/integration-server/jobs/materials_auto/example_cron.py +0 -0
  46. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/examples/integration-server/jobs/materials_auto/example_http.py +0 -0
  47. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/examples/integration-server/jobs/materials_auto/example_instrument.py +0 -0
  48. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/examples/integration-server/jobs/materials_auto/example_runsheet_wh.py +0 -0
  49. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/examples/integration-server/jobs/materials_auto/example_wh.py +0 -0
  50. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/examples/integration-server/jobs/materials_auto/profile.yaml +0 -0
  51. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/examples/invoke_uploader.py +0 -0
  52. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/examples/oauth.py +0 -0
  53. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/examples/set_recipe_metadata_file.py +0 -0
  54. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/examples/set_recipe_output_file_sdk.py +0 -0
  55. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/examples/upload_files.py +0 -0
  56. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/__init__.py +0 -0
  57. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/argument_parser/__init__.py +0 -0
  58. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/argument_parser/_is_enum.py +0 -0
  59. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/argument_parser/_is_namedtuple.py +0 -0
  60. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/argument_parser/argument_parser.py +0 -0
  61. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/argument_parser/case_convert.py +0 -0
  62. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/filesystem_utils/__init__.py +0 -0
  63. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/filesystem_utils/_blob_session.py +0 -0
  64. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/filesystem_utils/_gdrive_session.py +0 -0
  65. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/filesystem_utils/_local_session.py +0 -0
  66. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/filesystem_utils/_s3_session.py +0 -0
  67. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/filesystem_utils/_sftp_session.py +0 -0
  68. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/filesystem_utils/file_type_utils.py +0 -0
  69. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/filesystem_utils/filesystem_session.py +0 -0
  70. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/py.typed +0 -0
  71. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/serialization/__init__.py +0 -0
  72. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/serialization/annotation.py +0 -0
  73. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/serialization/missing_sentry.py +0 -0
  74. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/serialization/opaque_key.py +0 -0
  75. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/serialization/serial_alias.py +0 -0
  76. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/serialization/serial_class.py +0 -0
  77. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/serialization/serial_generic.py +0 -0
  78. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/serialization/serial_union.py +0 -0
  79. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/serialization/yaml.py +0 -0
  80. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/serialization_util/__init__.py +0 -0
  81. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/serialization_util/_get_type_for_serialization.py +0 -0
  82. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/serialization_util/convert_to_snakecase.py +0 -0
  83. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/serialization_util/dataclasses.py +0 -0
  84. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/serialization_util/serialization_helpers.py +0 -0
  85. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/strenum_compat/__init__.py +0 -0
  86. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/strenum_compat/strenum_compat.py +0 -0
  87. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/__init__.py +0 -0
  88. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/__main__.py +0 -0
  89. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/actions_registry/__init__.py +0 -0
  90. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/actions_registry/__main__.py +0 -0
  91. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/actions_registry/emit_typescript.py +0 -0
  92. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/builder.py +0 -0
  93. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/config.py +0 -0
  94. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/cross_output_links.py +0 -0
  95. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/emit_io_ts.py +0 -0
  96. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/emit_open_api.py +0 -0
  97. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/emit_open_api_util.py +0 -0
  98. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/emit_python.py +0 -0
  99. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/emit_typescript.py +0 -0
  100. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/emit_typescript_util.py +0 -0
  101. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/load_types.py +0 -0
  102. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/non_discriminated_union_exceptions.py +0 -0
  103. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/open_api_util.py +0 -0
  104. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/parts/base.py.prepart +0 -0
  105. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/parts/base.ts.prepart +0 -0
  106. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/test.py +0 -0
  107. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/type_info/__main__.py +0 -0
  108. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/type_info/emit_type_info.py +0 -0
  109. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/ui_entry_actions/__init__.py +0 -0
  110. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/ui_entry_actions/generate_ui_entry_actions.py +0 -0
  111. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/util.py +0 -0
  112. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/value_spec/__init__.py +0 -0
  113. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/value_spec/__main__.py +0 -0
  114. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/value_spec/convert_type.py +0 -0
  115. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/value_spec/emit_python.py +0 -0
  116. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/pkgs/type_spec/value_spec/types.py +0 -0
  117. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/setup.cfg +0 -0
  118. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/__init__.py +0 -0
  119. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/core/__init__.py +0 -0
  120. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/core/async_batch.py +0 -0
  121. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/core/client.py +0 -0
  122. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/core/environment.py +0 -0
  123. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/core/file_upload.py +0 -0
  124. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/core/types.py +0 -0
  125. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/__init__.py +0 -0
  126. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/cli.py +0 -0
  127. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/construct_client.py +0 -0
  128. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/cron.py +0 -0
  129. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/db/__init__.py +0 -0
  130. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/db/connect.py +0 -0
  131. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/db/session.py +0 -0
  132. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/entrypoint.py +0 -0
  133. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/executors/__init__.py +0 -0
  134. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/executors/executors.py +0 -0
  135. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/executors/generic_upload_executor.py +0 -0
  136. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/executors/script_executor.py +0 -0
  137. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/http_server/__init__.py +0 -0
  138. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/http_server/types.py +0 -0
  139. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/job.py +0 -0
  140. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/queue_runner/__init__.py +0 -0
  141. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/queue_runner/command_server/__init__.py +0 -0
  142. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/queue_runner/command_server/command_client.py +0 -0
  143. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/queue_runner/command_server/command_server.py +0 -0
  144. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/queue_runner/command_server/constants.py +0 -0
  145. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/queue_runner/command_server/protocol/__init__.py +0 -0
  146. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/queue_runner/command_server/protocol/command_server.proto +0 -0
  147. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.py +0 -0
  148. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/queue_runner/command_server/protocol/command_server_pb2.pyi +0 -0
  149. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/queue_runner/command_server/protocol/command_server_pb2_grpc.py +0 -0
  150. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/queue_runner/command_server/types.py +0 -0
  151. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/queue_runner/datastore/__init__.py +0 -0
  152. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/queue_runner/datastore/datastore_sqlite.py +0 -0
  153. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/queue_runner/datastore/interface.py +0 -0
  154. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/queue_runner/datastore/model.py +0 -0
  155. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/queue_runner/job_scheduler.py +0 -0
  156. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/queue_runner/queue_runner.py +0 -0
  157. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/queue_runner/types.py +0 -0
  158. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/queue_runner/worker.py +0 -0
  159. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/scan_profiles.py +0 -0
  160. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/scheduler.py +0 -0
  161. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/secret_retrieval/__init__.py +0 -0
  162. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/secret_retrieval/retrieve_secret.py +0 -0
  163. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/server.py +0 -0
  164. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/telemetry.py +0 -0
  165. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/integration/webhook_server/entrypoint.py +0 -0
  166. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/py.typed +0 -0
  167. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/__init__.py +0 -0
  168. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/batch/__init__.py +0 -0
  169. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/batch/execute_batch.py +0 -0
  170. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/batch/execute_batch_load_async.py +0 -0
  171. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/chemical/__init__.py +0 -0
  172. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/chemical/convert_chemical_formats.py +0 -0
  173. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/condition_parameters/__init__.py +0 -0
  174. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/condition_parameters/upsert_condition_match.py +0 -0
  175. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/entity/__init__.py +0 -0
  176. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/entity/create_entities.py +0 -0
  177. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/entity/create_entity.py +0 -0
  178. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/entity/create_or_update_entity.py +0 -0
  179. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/entity/export_entities.py +0 -0
  180. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/entity/get_entities_data.py +0 -0
  181. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/entity/grant_entity_permissions.py +0 -0
  182. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/entity/list_entities.py +0 -0
  183. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/entity/lock_entity.py +0 -0
  184. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/entity/lookup_entity.py +0 -0
  185. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/entity/resolve_entity_ids.py +0 -0
  186. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/entity/set_entity_field_values.py +0 -0
  187. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/entity/set_values.py +0 -0
  188. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/entity/transition_entity_phase.py +0 -0
  189. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/entity/unlock_entity.py +0 -0
  190. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/equipment/__init__.py +0 -0
  191. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/equipment/associate_equipment_input.py +0 -0
  192. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/field_options/__init__.py +0 -0
  193. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/field_options/upsert_field_options.py +0 -0
  194. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/files/__init__.py +0 -0
  195. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/files/download_file.py +0 -0
  196. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/id_source/__init__.py +0 -0
  197. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/id_source/list_id_source.py +0 -0
  198. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/id_source/match_id_source.py +0 -0
  199. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/input_groups/__init__.py +0 -0
  200. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/input_groups/get_input_group_names.py +0 -0
  201. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/inputs/__init__.py +0 -0
  202. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/inputs/create_inputs.py +0 -0
  203. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/inputs/get_input_data.py +0 -0
  204. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/inputs/get_input_names.py +0 -0
  205. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/inputs/get_inputs_data.py +0 -0
  206. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/inputs/set_input_attribute_values.py +0 -0
  207. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/inputs/set_input_category.py +0 -0
  208. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/inputs/set_input_subcategories.py +0 -0
  209. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/inputs/set_intermediate_type.py +0 -0
  210. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/integrations/__init__.py +0 -0
  211. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/integrations/publish_realtime_data.py +0 -0
  212. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/integrations/push_notification.py +0 -0
  213. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/material_families/__init__.py +0 -0
  214. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/material_families/update_entity_material_families.py +0 -0
  215. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/outputs/__init__.py +0 -0
  216. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/outputs/get_output_data.py +0 -0
  217. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/outputs/get_output_names.py +0 -0
  218. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/outputs/get_output_organization.py +0 -0
  219. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/outputs/resolve_output_conditions.py +0 -0
  220. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/permissions/__init__.py +0 -0
  221. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/permissions/set_core_permissions.py +0 -0
  222. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/project/__init__.py +0 -0
  223. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/project/get_projects.py +0 -0
  224. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/project/get_projects_data.py +0 -0
  225. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipe_links/__init__.py +0 -0
  226. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipe_links/create_recipe_link.py +0 -0
  227. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipe_links/remove_recipe_link.py +0 -0
  228. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipe_metadata/__init__.py +0 -0
  229. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +0 -0
  230. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/__init__.py +0 -0
  231. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/add_recipe_to_project.py +0 -0
  232. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/add_time_series_data.py +0 -0
  233. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/archive_recipes.py +0 -0
  234. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/associate_recipe_as_input.py +0 -0
  235. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/associate_recipe_as_lot.py +0 -0
  236. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/clear_recipe_outputs.py +0 -0
  237. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/create_mix_order.py +0 -0
  238. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/create_recipe.py +0 -0
  239. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/create_recipes.py +0 -0
  240. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/disassociate_recipe_as_input.py +0 -0
  241. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/edit_recipe_inputs.py +0 -0
  242. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/get_column_calculation_values.py +0 -0
  243. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/get_curve.py +0 -0
  244. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/get_recipe_calculations.py +0 -0
  245. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/get_recipe_links.py +0 -0
  246. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/get_recipe_names.py +0 -0
  247. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/get_recipes_data.py +0 -0
  248. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/lock_recipes.py +0 -0
  249. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/remove_recipe_from_project.py +0 -0
  250. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/set_recipe_inputs.py +0 -0
  251. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/set_recipe_metadata.py +0 -0
  252. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/set_recipe_output_annotations.py +0 -0
  253. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/set_recipe_output_file.py +0 -0
  254. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/set_recipe_outputs.py +0 -0
  255. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/set_recipe_tags.py +0 -0
  256. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/unarchive_recipes.py +0 -0
  257. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/recipes/unlock_recipes.py +0 -0
  258. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/runsheet/__init__.py +0 -0
  259. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/runsheet/complete_async_upload.py +0 -0
  260. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/triggers/__init__.py +0 -0
  261. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/triggers/run_trigger.py +0 -0
  262. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/uploader/__init__.py +0 -0
  263. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/uploader/invoke_uploader.py +0 -0
  264. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/user/__init__.py +0 -0
  265. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/api/user/get_current_user_info.py +0 -0
  266. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/async_batch.py +0 -0
  267. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/async_batch_processor.py +0 -0
  268. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/async_batch_t.py +0 -0
  269. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/async_jobs.py +0 -0
  270. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/async_jobs_t.py +0 -0
  271. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/auth_retrieval.py +0 -0
  272. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/auth_retrieval_t.py +0 -0
  273. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/base.py +0 -0
  274. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/base_t.py +0 -0
  275. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/calculations.py +0 -0
  276. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/calculations_t.py +0 -0
  277. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/chemical_structure.py +0 -0
  278. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/chemical_structure_t.py +0 -0
  279. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/client_config.py +0 -0
  280. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/client_config_t.py +0 -0
  281. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/curves.py +0 -0
  282. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/curves_t.py +0 -0
  283. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/data.py +0 -0
  284. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/data_t.py +0 -0
  285. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/entity.py +0 -0
  286. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/entity_t.py +0 -0
  287. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/experiment_groups.py +0 -0
  288. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/experiment_groups_t.py +0 -0
  289. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/exports.py +0 -0
  290. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/exports_t.py +0 -0
  291. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/field_values.py +0 -0
  292. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/field_values_t.py +0 -0
  293. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/fields.py +0 -0
  294. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/fields_t.py +0 -0
  295. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/generic_upload.py +0 -0
  296. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/generic_upload_t.py +0 -0
  297. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/id_source.py +0 -0
  298. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/id_source_t.py +0 -0
  299. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/identifier.py +0 -0
  300. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/identifier_t.py +0 -0
  301. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/input_attributes.py +0 -0
  302. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/input_attributes_t.py +0 -0
  303. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/inputs.py +0 -0
  304. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/inputs_t.py +0 -0
  305. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/integration_server.py +0 -0
  306. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/integration_server_t.py +0 -0
  307. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/integration_session.py +0 -0
  308. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/integration_session_t.py +0 -0
  309. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/integrations.py +0 -0
  310. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/integrations_t.py +0 -0
  311. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/job_definition.py +0 -0
  312. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/job_definition_t.py +0 -0
  313. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/notifications.py +0 -0
  314. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/notifications_t.py +0 -0
  315. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/outputs.py +0 -0
  316. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/outputs_t.py +0 -0
  317. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/overrides.py +0 -0
  318. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/overrides_t.py +0 -0
  319. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/permissions.py +0 -0
  320. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/permissions_t.py +0 -0
  321. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/phases.py +0 -0
  322. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/phases_t.py +0 -0
  323. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/post_base.py +0 -0
  324. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/post_base_t.py +0 -0
  325. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/queued_job.py +0 -0
  326. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/queued_job_t.py +0 -0
  327. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/recipe_identifiers.py +0 -0
  328. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/recipe_identifiers_t.py +0 -0
  329. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/recipe_inputs.py +0 -0
  330. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/recipe_inputs_t.py +0 -0
  331. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/recipe_links.py +0 -0
  332. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/recipe_links_t.py +0 -0
  333. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/recipe_metadata.py +0 -0
  334. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/recipe_metadata_t.py +0 -0
  335. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/recipe_output_metadata.py +0 -0
  336. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/recipe_output_metadata_t.py +0 -0
  337. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/recipe_tags.py +0 -0
  338. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/recipe_tags_t.py +0 -0
  339. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/recipe_workflow_steps.py +0 -0
  340. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/recipe_workflow_steps_t.py +0 -0
  341. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/recipes.py +0 -0
  342. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/recipes_t.py +0 -0
  343. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/response.py +0 -0
  344. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/response_t.py +0 -0
  345. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/secret_retrieval.py +0 -0
  346. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/secret_retrieval_t.py +0 -0
  347. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/sockets.py +0 -0
  348. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/sockets_t.py +0 -0
  349. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/units.py +0 -0
  350. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/units_t.py +0 -0
  351. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/users.py +0 -0
  352. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/users_t.py +0 -0
  353. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/webhook_job.py +0 -0
  354. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/webhook_job_t.py +0 -0
  355. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/workflows.py +0 -0
  356. {uncountablepythonsdk-0.0.124 → uncountablepythonsdk-0.0.126}/uncountable/types/workflows_t.py +0 -0
@@ -48,7 +48,7 @@ jobs:
48
48
  permissions:
49
49
  id-token: write
50
50
  steps:
51
- - uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4
51
+ - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5
52
52
  with:
53
53
  name: package-distributions
54
54
  path: dist/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: UncountablePythonSDK
3
- Version: 0.0.124
3
+ Version: 0.0.126
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.*
34
- Requires-Dist: paramiko==4.*
34
+ Requires-Dist: paramiko==3.*
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.124
3
+ Version: 0.0.126
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.*
34
- Requires-Dist: paramiko==4.*
34
+ Requires-Dist: paramiko==3.*
35
35
  Requires-Dist: boto3==1.*
36
36
  Requires-Dist: flask==3.*
37
37
  Requires-Dist: simplejson==3.*
@@ -243,6 +243,8 @@ uncountable/types/sockets.py
243
243
  uncountable/types/sockets_t.py
244
244
  uncountable/types/units.py
245
245
  uncountable/types/units_t.py
246
+ uncountable/types/uploader.py
247
+ uncountable/types/uploader_t.py
246
248
  uncountable/types/users.py
247
249
  uncountable/types/users_t.py
248
250
  uncountable/types/webhook_job.py
@@ -346,6 +348,7 @@ uncountable/types/api/runsheet/complete_async_upload.py
346
348
  uncountable/types/api/triggers/__init__.py
347
349
  uncountable/types/api/triggers/run_trigger.py
348
350
  uncountable/types/api/uploader/__init__.py
351
+ uncountable/types/api/uploader/complete_async_parse.py
349
352
  uncountable/types/api/uploader/invoke_uploader.py
350
353
  uncountable/types/api/user/__init__.py
351
354
  uncountable/types/api/user/get_current_user_info.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.*
16
- paramiko==4.*
16
+ paramiko==3.*
17
17
  boto3==1.*
18
18
  flask==3.*
19
19
  simplejson==3.*
@@ -9,7 +9,7 @@ dependencies = [
9
9
  "ruff == 0.*",
10
10
  "openpyxl == 3.*",
11
11
  "more_itertools == 10.*",
12
- "types-paramiko ==3.5.0.20250801",
12
+ "types-paramiko ==4.0.0.20250806",
13
13
  "types-openpyxl == 3.*",
14
14
  "types-pysftp == 0.*",
15
15
  "types-pytz ==2025.*",
@@ -64,7 +64,7 @@ dependencies = [
64
64
  "opentelemetry-exporter-otlp-proto-common==1.*",
65
65
  "opentelemetry-exporter-otlp-proto-http==1.*",
66
66
  "opentelemetry-sdk==1.*",
67
- "paramiko ==4.*",
67
+ "paramiko ==3.*",
68
68
  "boto3 == 1.*",
69
69
  "flask == 3.*",
70
70
  "simplejson == 3.*",
@@ -16,6 +16,7 @@ from . import calculations_t as calculations_t
16
16
  from . import chemical_structure_t as chemical_structure_t
17
17
  from .api.recipes import clear_recipe_outputs as clear_recipe_outputs_t
18
18
  from . import client_config_t as client_config_t
19
+ from .api.uploader import complete_async_parse as complete_async_parse_t
19
20
  from .api.runsheet import complete_async_upload as complete_async_upload_t
20
21
  from .api.chemical import convert_chemical_formats as convert_chemical_formats_t
21
22
  from .api.entity import create_entities as create_entities_t
@@ -119,6 +120,7 @@ from . import units_t as units_t
119
120
  from .api.entity import unlock_entity as unlock_entity_t
120
121
  from .api.recipes import unlock_recipes as unlock_recipes_t
121
122
  from .api.material_families import update_entity_material_families as update_entity_material_families_t
123
+ from . import uploader_t as uploader_t
122
124
  from .api.condition_parameters import upsert_condition_match as upsert_condition_match_t
123
125
  from .api.field_options import upsert_field_options as upsert_field_options_t
124
126
  from . import users_t as users_t
@@ -141,6 +143,7 @@ __all__: list[str] = [
141
143
  "chemical_structure_t",
142
144
  "clear_recipe_outputs_t",
143
145
  "client_config_t",
146
+ "complete_async_parse_t",
144
147
  "complete_async_upload_t",
145
148
  "convert_chemical_formats_t",
146
149
  "create_entities_t",
@@ -244,6 +247,7 @@ __all__: list[str] = [
244
247
  "unlock_entity_t",
245
248
  "unlock_recipes_t",
246
249
  "update_entity_material_families_t",
250
+ "uploader_t",
247
251
  "upsert_condition_match_t",
248
252
  "upsert_field_options_t",
249
253
  "users_t",
@@ -42,8 +42,8 @@ class Arguments:
42
42
  class RecipeOutputMetadata:
43
43
  recipe_output_id: base_t.ObjectId
44
44
  recipe_output_metadata_field_id: base_t.ObjectId
45
- quantity_dec: Decimal
46
- quantity_json: base_t.JsonValue
45
+ quantity_dec: Decimal | None = None
46
+ quantity_json: base_t.JsonValue | None = None
47
47
 
48
48
 
49
49
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -0,0 +1,42 @@
1
+ # DO NOT MODIFY -- This file is generated by type_spec
2
+ # ruff: noqa: E402 Q003
3
+ # fmt: off
4
+ # isort: skip_file
5
+ from __future__ import annotations
6
+ import typing # noqa: F401
7
+ import datetime # noqa: F401
8
+ from decimal import Decimal # noqa: F401
9
+ import dataclasses
10
+ from pkgs.serialization import serial_class
11
+ from ... import async_batch_t
12
+ from ... import base_t
13
+ from ... import uploader_t
14
+
15
+ __all__: list[str] = [
16
+ "Arguments",
17
+ "Data",
18
+ "ENDPOINT_METHOD",
19
+ "ENDPOINT_PATH",
20
+ ]
21
+
22
+ ENDPOINT_METHOD = "POST"
23
+ ENDPOINT_PATH = "api/external/uploader/complete_async_parse"
24
+
25
+
26
+ # DO NOT MODIFY -- This file is generated by type_spec
27
+ @serial_class(
28
+ named_type_path="sdk.api.uploader.complete_async_parse.Arguments",
29
+ )
30
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
31
+ class Arguments:
32
+ parsed_file_data: list[uploader_t.ParsedFileData]
33
+
34
+
35
+ # DO NOT MODIFY -- This file is generated by type_spec
36
+ @serial_class(
37
+ named_type_path="sdk.api.uploader.complete_async_parse.Data",
38
+ )
39
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
40
+ class Data(async_batch_t.AsyncBatchActionReturn):
41
+ pass
42
+ # DO NOT MODIFY -- This file is generated by type_spec
@@ -17,6 +17,7 @@ import uncountable.types.api.recipes.associate_recipe_as_lot as associate_recipe
17
17
  from uncountable.types import async_batch_t
18
18
  from uncountable.types import base_t
19
19
  import uncountable.types.api.recipes.clear_recipe_outputs as clear_recipe_outputs_t
20
+ import uncountable.types.api.uploader.complete_async_parse as complete_async_parse_t
20
21
  import uncountable.types.api.runsheet.complete_async_upload as complete_async_upload_t
21
22
  import uncountable.types.api.chemical.convert_chemical_formats as convert_chemical_formats_t
22
23
  import uncountable.types.api.entity.create_entities as create_entities_t
@@ -95,6 +96,7 @@ import uncountable.types.api.recipes.unarchive_recipes as unarchive_recipes_t
95
96
  import uncountable.types.api.entity.unlock_entity as unlock_entity_t
96
97
  import uncountable.types.api.recipes.unlock_recipes as unlock_recipes_t
97
98
  import uncountable.types.api.material_families.update_entity_material_families as update_entity_material_families_t
99
+ from uncountable.types import uploader_t
98
100
  import uncountable.types.api.condition_parameters.upsert_condition_match as upsert_condition_match_t
99
101
  import uncountable.types.api.field_options.upsert_field_options as upsert_field_options_t
100
102
  from abc import ABC, abstractmethod
@@ -273,6 +275,24 @@ class ClientMethods(ABC):
273
275
  )
274
276
  return self.do_request(api_request=api_request, return_type=clear_recipe_outputs_t.Data)
275
277
 
278
+ def complete_async_parse(
279
+ self,
280
+ *,
281
+ parsed_file_data: list[uploader_t.ParsedFileData],
282
+ ) -> complete_async_parse_t.Data:
283
+ """Parses uploaded files asynchronously
284
+
285
+ """
286
+ args = complete_async_parse_t.Arguments(
287
+ parsed_file_data=parsed_file_data,
288
+ )
289
+ api_request = APIRequest(
290
+ method=complete_async_parse_t.ENDPOINT_METHOD,
291
+ endpoint=complete_async_parse_t.ENDPOINT_PATH,
292
+ args=args,
293
+ )
294
+ return self.do_request(api_request=api_request, return_type=complete_async_parse_t.Data)
295
+
276
296
  def complete_async_upload(
277
297
  self,
278
298
  *,
@@ -0,0 +1,24 @@
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 .uploader_t import HeaderType as HeaderType
7
+ from .uploader_t import ChannelType as ChannelType
8
+ from .uploader_t import StructureElementType as StructureElementType
9
+ from .uploader_t import StructureElementBase as StructureElementBase
10
+ from .uploader_t import DecimalValue as DecimalValue
11
+ from .uploader_t import StringValue as StringValue
12
+ from .uploader_t import BaseData as BaseData
13
+ from .uploader_t import NumericHeaderData as NumericHeaderData
14
+ from .uploader_t import TextHeaderData as TextHeaderData
15
+ from .uploader_t import HeaderValue as HeaderValue
16
+ from .uploader_t import NumericChannelData as NumericChannelData
17
+ from .uploader_t import TimestampChannelData as TimestampChannelData
18
+ from .uploader_t import TextChannelData as TextChannelData
19
+ from .uploader_t import Channel as Channel
20
+ from .uploader_t import DataChannel as DataChannel
21
+ from .uploader_t import HeaderEntry as HeaderEntry
22
+ from .uploader_t import StructureElement as StructureElement
23
+ from .uploader_t import ParsedFileData as ParsedFileData
24
+ # DO NOT MODIFY -- This file is generated by type_spec
@@ -0,0 +1,221 @@
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
+
15
+ __all__: list[str] = [
16
+ "BaseData",
17
+ "Channel",
18
+ "ChannelType",
19
+ "DataChannel",
20
+ "DecimalValue",
21
+ "HeaderEntry",
22
+ "HeaderType",
23
+ "HeaderValue",
24
+ "NumericChannelData",
25
+ "NumericHeaderData",
26
+ "ParsedFileData",
27
+ "StringValue",
28
+ "StructureElement",
29
+ "StructureElementBase",
30
+ "StructureElementType",
31
+ "TextChannelData",
32
+ "TextHeaderData",
33
+ "TimestampChannelData",
34
+ ]
35
+
36
+
37
+ # DO NOT MODIFY -- This file is generated by type_spec
38
+ class HeaderType(StrEnum):
39
+ NUMERIC_HEADER = "numeric_header"
40
+ TEXT_HEADER = "text_header"
41
+
42
+
43
+ # DO NOT MODIFY -- This file is generated by type_spec
44
+ class ChannelType(StrEnum):
45
+ NUMERIC_CHANNEL = "numeric_channel"
46
+ TIMESTAMP_CHANNEL = "timestamp_channel"
47
+ TEXT_CHANNEL = "text_channel"
48
+
49
+
50
+ # DO NOT MODIFY -- This file is generated by type_spec
51
+ class StructureElementType(StrEnum):
52
+ CHANNEL = "channel"
53
+ HEADER = "header"
54
+
55
+
56
+ # DO NOT MODIFY -- This file is generated by type_spec
57
+ @serial_class(
58
+ named_type_path="sdk.uploader.StructureElementBase",
59
+ )
60
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
61
+ class StructureElementBase:
62
+ type: StructureElementType
63
+
64
+
65
+ # DO NOT MODIFY -- This file is generated by type_spec
66
+ @serial_class(
67
+ named_type_path="sdk.uploader.DecimalValue",
68
+ to_string_values={"value"},
69
+ )
70
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
71
+ class DecimalValue:
72
+ value: Decimal
73
+
74
+
75
+ # DO NOT MODIFY -- This file is generated by type_spec
76
+ @serial_class(
77
+ named_type_path="sdk.uploader.StringValue",
78
+ )
79
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
80
+ class StringValue:
81
+ value: str
82
+
83
+
84
+ # DO NOT MODIFY -- This file is generated by type_spec
85
+ @serial_class(
86
+ named_type_path="sdk.uploader.BaseData",
87
+ )
88
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
89
+ class BaseData:
90
+ name: str
91
+ type: str
92
+
93
+
94
+ # DO NOT MODIFY -- This file is generated by type_spec
95
+ @serial_class(
96
+ named_type_path="sdk.uploader.NumericHeaderData",
97
+ parse_require={"type"},
98
+ )
99
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
100
+ class NumericHeaderData(BaseData):
101
+ type: typing.Literal[HeaderType.NUMERIC_HEADER] = HeaderType.NUMERIC_HEADER
102
+ data: DecimalValue | None
103
+
104
+
105
+ # DO NOT MODIFY -- This file is generated by type_spec
106
+ @serial_class(
107
+ named_type_path="sdk.uploader.TextHeaderData",
108
+ parse_require={"type"},
109
+ )
110
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
111
+ class TextHeaderData(BaseData):
112
+ type: typing.Literal[HeaderType.TEXT_HEADER] = HeaderType.TEXT_HEADER
113
+ data: StringValue | None
114
+
115
+
116
+ # DO NOT MODIFY -- This file is generated by type_spec
117
+ HeaderValue = typing.Annotated[
118
+ NumericHeaderData | TextHeaderData,
119
+ serial_union_annotation(
120
+ named_type_path="sdk.uploader.HeaderValue",
121
+ discriminator="type",
122
+ discriminator_map={
123
+ "numeric_header": NumericHeaderData,
124
+ "text_header": TextHeaderData,
125
+ },
126
+ ),
127
+ ]
128
+
129
+
130
+ # DO NOT MODIFY -- This file is generated by type_spec
131
+ @serial_class(
132
+ named_type_path="sdk.uploader.NumericChannelData",
133
+ parse_require={"type"},
134
+ )
135
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
136
+ class NumericChannelData(BaseData):
137
+ type: typing.Literal[ChannelType.NUMERIC_CHANNEL] = ChannelType.NUMERIC_CHANNEL
138
+ data: list[DecimalValue]
139
+
140
+
141
+ # DO NOT MODIFY -- This file is generated by type_spec
142
+ @serial_class(
143
+ named_type_path="sdk.uploader.TimestampChannelData",
144
+ parse_require={"type"},
145
+ )
146
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
147
+ class TimestampChannelData(BaseData):
148
+ type: typing.Literal[ChannelType.TIMESTAMP_CHANNEL] = ChannelType.TIMESTAMP_CHANNEL
149
+ data: list[DecimalValue]
150
+
151
+
152
+ # DO NOT MODIFY -- This file is generated by type_spec
153
+ @serial_class(
154
+ named_type_path="sdk.uploader.TextChannelData",
155
+ parse_require={"type"},
156
+ )
157
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
158
+ class TextChannelData(BaseData):
159
+ type: typing.Literal[ChannelType.TEXT_CHANNEL] = ChannelType.TEXT_CHANNEL
160
+ data: list[StringValue]
161
+
162
+
163
+ # DO NOT MODIFY -- This file is generated by type_spec
164
+ Channel = typing.Annotated[
165
+ TextChannelData | TimestampChannelData,
166
+ serial_union_annotation(
167
+ named_type_path="sdk.uploader.Channel",
168
+ discriminator="type",
169
+ discriminator_map={
170
+ "text_channel": TextChannelData,
171
+ "timestamp_channel": TimestampChannelData,
172
+ },
173
+ ),
174
+ ]
175
+
176
+
177
+ # DO NOT MODIFY -- This file is generated by type_spec
178
+ @serial_class(
179
+ named_type_path="sdk.uploader.DataChannel",
180
+ parse_require={"type"},
181
+ )
182
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
183
+ class DataChannel(StructureElementBase):
184
+ type: typing.Literal[StructureElementType.CHANNEL] = StructureElementType.CHANNEL
185
+ channel: Channel
186
+
187
+
188
+ # DO NOT MODIFY -- This file is generated by type_spec
189
+ @serial_class(
190
+ named_type_path="sdk.uploader.HeaderEntry",
191
+ parse_require={"type"},
192
+ )
193
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
194
+ class HeaderEntry(StructureElementBase):
195
+ type: typing.Literal[StructureElementType.HEADER] = StructureElementType.HEADER
196
+ value: HeaderValue
197
+
198
+
199
+ # DO NOT MODIFY -- This file is generated by type_spec
200
+ StructureElement = typing.Annotated[
201
+ DataChannel | HeaderEntry,
202
+ serial_union_annotation(
203
+ named_type_path="sdk.uploader.StructureElement",
204
+ discriminator="type",
205
+ discriminator_map={
206
+ "channel": DataChannel,
207
+ "header": HeaderEntry,
208
+ },
209
+ ),
210
+ ]
211
+
212
+
213
+ # DO NOT MODIFY -- This file is generated by type_spec
214
+ @serial_class(
215
+ named_type_path="sdk.uploader.ParsedFileData",
216
+ )
217
+ @dataclasses.dataclass(slots=base_t.ENABLE_SLOTS, kw_only=True) # type: ignore[literal-required]
218
+ class ParsedFileData:
219
+ file_id: base_t.ObjectId
220
+ file_structures: list[StructureElement]
221
+ # DO NOT MODIFY -- This file is generated by type_spec