UncountablePythonSDK 0.0.45__tar.gz → 0.0.46__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 (251) hide show
  1. {uncountablepythonsdk-0.0.45/UncountablePythonSDK.egg-info → uncountablepythonsdk-0.0.46}/PKG-INFO +1 -1
  2. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46/UncountablePythonSDK.egg-info}/PKG-INFO +1 -1
  3. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/UncountablePythonSDK.egg-info/SOURCES.txt +2 -0
  4. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/core/async_batch.py +1 -0
  5. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/core/client.py +2 -3
  6. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/integration/construct_client.py +21 -9
  7. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/integration/entrypoint.py +1 -0
  8. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/integration/server.py +6 -1
  9. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/__init__.py +2 -0
  10. uncountablepythonsdk-0.0.46/uncountable/types/client_config.py +8 -0
  11. uncountablepythonsdk-0.0.46/uncountable/types/client_config_t.py +22 -0
  12. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/entity_t.py +61 -7
  13. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/job_definition_t.py +3 -0
  14. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/.github/workflows/documentation.yml +0 -0
  15. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/.github/workflows/publish.yml +0 -0
  16. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/.gitignore +0 -0
  17. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/README.md +0 -0
  18. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/UncountablePythonSDK.egg-info/dependency_links.txt +0 -0
  19. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/UncountablePythonSDK.egg-info/requires.txt +0 -0
  20. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/UncountablePythonSDK.egg-info/top_level.txt +0 -0
  21. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/docs/.gitignore +0 -0
  22. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/docs/conf.py +0 -0
  23. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/docs/index.md +0 -0
  24. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/docs/justfile +0 -0
  25. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/docs/quickstart.md +0 -0
  26. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/docs/requirements.txt +0 -0
  27. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/docs/static/favicons/android-chrome-192x192.png +0 -0
  28. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/docs/static/favicons/android-chrome-512x512.png +0 -0
  29. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/docs/static/favicons/apple-touch-icon.png +0 -0
  30. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/docs/static/favicons/browserconfig.xml +0 -0
  31. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/docs/static/favicons/favicon-16x16.png +0 -0
  32. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/docs/static/favicons/favicon-32x32.png +0 -0
  33. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/docs/static/favicons/manifest.json +0 -0
  34. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/docs/static/favicons/mstile-150x150.png +0 -0
  35. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/docs/static/favicons/safari-pinned-tab.svg +0 -0
  36. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/docs/static/logo_blue.png +0 -0
  37. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/examples/async_batch.py +0 -0
  38. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/examples/create_entity.py +0 -0
  39. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/examples/edit_recipe_inputs.py +0 -0
  40. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/examples/invoke_uploader.py +0 -0
  41. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/examples/upload_files.py +0 -0
  42. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/__init__.py +0 -0
  43. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/argument_parser/__init__.py +0 -0
  44. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/argument_parser/_is_enum.py +0 -0
  45. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/argument_parser/_is_namedtuple.py +0 -0
  46. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/argument_parser/argument_parser.py +0 -0
  47. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/argument_parser/case_convert.py +0 -0
  48. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/filesystem_utils/__init__.py +0 -0
  49. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/filesystem_utils/_gdrive_session.py +0 -0
  50. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/filesystem_utils/_local_session.py +0 -0
  51. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/filesystem_utils/_sftp_session.py +0 -0
  52. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/filesystem_utils/file_type_utils.py +0 -0
  53. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/filesystem_utils/filesystem_session.py +0 -0
  54. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/serialization/__init__.py +0 -0
  55. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/serialization/missing_sentry.py +0 -0
  56. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/serialization/opaque_key.py +0 -0
  57. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/serialization/serial_class.py +0 -0
  58. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/serialization/serial_union.py +0 -0
  59. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/serialization/yaml.py +0 -0
  60. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/serialization_util/__init__.py +0 -0
  61. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/serialization_util/_get_type_for_serialization.py +0 -0
  62. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/serialization_util/convert_to_snakecase.py +0 -0
  63. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/serialization_util/serialization_helpers.py +0 -0
  64. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/strenum_compat/__init__.py +0 -0
  65. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/strenum_compat/strenum_compat.py +0 -0
  66. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/__init__.py +0 -0
  67. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/__main__.py +0 -0
  68. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/actions_registry/__init__.py +0 -0
  69. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/actions_registry/__main__.py +0 -0
  70. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/actions_registry/emit_typescript.py +0 -0
  71. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/builder.py +0 -0
  72. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/config.py +0 -0
  73. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/emit_io_ts.py +0 -0
  74. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/emit_open_api.py +0 -0
  75. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/emit_open_api_util.py +0 -0
  76. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/emit_python.py +0 -0
  77. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/emit_typescript.py +0 -0
  78. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/emit_typescript_util.py +0 -0
  79. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/load_types.py +0 -0
  80. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/open_api_util.py +0 -0
  81. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/parts/base.py.prepart +0 -0
  82. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/parts/base.ts.prepart +0 -0
  83. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/test.py +0 -0
  84. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/type_info/__main__.py +0 -0
  85. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/type_info/emit_type_info.py +0 -0
  86. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/util.py +0 -0
  87. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/value_spec/__init__.py +0 -0
  88. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/value_spec/__main__.py +0 -0
  89. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/value_spec/convert_type.py +0 -0
  90. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/value_spec/emit_python.py +0 -0
  91. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pkgs/type_spec/value_spec/types.py +0 -0
  92. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/pyproject.toml +0 -0
  93. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/setup.cfg +0 -0
  94. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/__init__.py +0 -0
  95. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/core/__init__.py +0 -0
  96. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/core/file_upload.py +0 -0
  97. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/core/types.py +0 -0
  98. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/integration/__init__.py +0 -0
  99. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/integration/cron.py +0 -0
  100. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/integration/db/__init__.py +0 -0
  101. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/integration/db/connect.py +0 -0
  102. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/integration/executors/__init__.py +0 -0
  103. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/integration/executors/executors.py +0 -0
  104. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/integration/executors/generic_upload_executor.py +0 -0
  105. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/integration/executors/script_executor.py +0 -0
  106. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/integration/job.py +0 -0
  107. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/integration/secret_retrieval/__init__.py +0 -0
  108. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/integration/secret_retrieval/retrieve_secret.py +0 -0
  109. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/py.typed +0 -0
  110. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/__init__.py +0 -0
  111. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/batch/__init__.py +0 -0
  112. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/batch/execute_batch.py +0 -0
  113. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/batch/execute_batch_load_async.py +0 -0
  114. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/chemical/__init__.py +0 -0
  115. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/chemical/convert_chemical_formats.py +0 -0
  116. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/entity/__init__.py +0 -0
  117. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/entity/create_entities.py +0 -0
  118. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/entity/create_entity.py +0 -0
  119. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/entity/get_entities_data.py +0 -0
  120. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/entity/list_entities.py +0 -0
  121. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/entity/lock_entity.py +0 -0
  122. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/entity/resolve_entity_ids.py +0 -0
  123. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/entity/set_values.py +0 -0
  124. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/entity/transition_entity_phase.py +0 -0
  125. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/entity/unlock_entity.py +0 -0
  126. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/equipment/__init__.py +0 -0
  127. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/equipment/associate_equipment_input.py +0 -0
  128. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/field_options/__init__.py +0 -0
  129. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/field_options/upsert_field_options.py +0 -0
  130. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/id_source/__init__.py +0 -0
  131. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/id_source/list_id_source.py +0 -0
  132. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/id_source/match_id_source.py +0 -0
  133. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/input_groups/__init__.py +0 -0
  134. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/input_groups/get_input_group_names.py +0 -0
  135. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/inputs/__init__.py +0 -0
  136. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/inputs/create_inputs.py +0 -0
  137. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/inputs/get_input_data.py +0 -0
  138. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/inputs/get_input_names.py +0 -0
  139. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/inputs/get_inputs_data.py +0 -0
  140. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/inputs/set_input_attribute_values.py +0 -0
  141. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/inputs/set_input_category.py +0 -0
  142. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/inputs/set_input_subcategories.py +0 -0
  143. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/inputs/set_intermediate_type.py +0 -0
  144. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/material_families/__init__.py +0 -0
  145. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/material_families/update_entity_material_families.py +0 -0
  146. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/outputs/__init__.py +0 -0
  147. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/outputs/get_output_data.py +0 -0
  148. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/outputs/get_output_names.py +0 -0
  149. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/outputs/resolve_output_conditions.py +0 -0
  150. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/permissions/__init__.py +0 -0
  151. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/permissions/set_core_permissions.py +0 -0
  152. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/project/__init__.py +0 -0
  153. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/project/get_projects.py +0 -0
  154. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/project/get_projects_data.py +0 -0
  155. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipe_links/__init__.py +0 -0
  156. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipe_links/create_recipe_link.py +0 -0
  157. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipe_links/remove_recipe_link.py +0 -0
  158. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipe_metadata/__init__.py +0 -0
  159. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +0 -0
  160. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/__init__.py +0 -0
  161. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/add_recipe_to_project.py +0 -0
  162. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/archive_recipes.py +0 -0
  163. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/associate_recipe_as_input.py +0 -0
  164. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/associate_recipe_as_lot.py +0 -0
  165. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/create_recipe.py +0 -0
  166. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/create_recipes.py +0 -0
  167. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/disassociate_recipe_as_input.py +0 -0
  168. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/edit_recipe_inputs.py +0 -0
  169. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/get_curve.py +0 -0
  170. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/get_recipe_calculations.py +0 -0
  171. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/get_recipe_links.py +0 -0
  172. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/get_recipe_names.py +0 -0
  173. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/get_recipe_output_metadata.py +0 -0
  174. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/get_recipes_data.py +0 -0
  175. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/lock_recipes.py +0 -0
  176. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/remove_recipe_from_project.py +0 -0
  177. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/set_recipe_inputs.py +0 -0
  178. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/set_recipe_metadata.py +0 -0
  179. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/set_recipe_output_annotations.py +0 -0
  180. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/set_recipe_outputs.py +0 -0
  181. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/set_recipe_tags.py +0 -0
  182. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/unarchive_recipes.py +0 -0
  183. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/recipes/unlock_recipes.py +0 -0
  184. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/triggers/__init__.py +0 -0
  185. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/triggers/run_trigger.py +0 -0
  186. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/uploader/__init__.py +0 -0
  187. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/api/uploader/invoke_uploader.py +0 -0
  188. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/async_batch.py +0 -0
  189. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/async_batch_processor.py +0 -0
  190. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/async_batch_t.py +0 -0
  191. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/base.py +0 -0
  192. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/base_t.py +0 -0
  193. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/calculations.py +0 -0
  194. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/calculations_t.py +0 -0
  195. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/chemical_structure.py +0 -0
  196. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/chemical_structure_t.py +0 -0
  197. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/client_base.py +0 -0
  198. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/curves.py +0 -0
  199. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/curves_t.py +0 -0
  200. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/entity.py +0 -0
  201. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/experiment_groups.py +0 -0
  202. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/experiment_groups_t.py +0 -0
  203. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/field_values.py +0 -0
  204. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/field_values_t.py +0 -0
  205. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/fields.py +0 -0
  206. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/fields_t.py +0 -0
  207. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/generic_upload.py +0 -0
  208. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/generic_upload_t.py +0 -0
  209. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/id_source.py +0 -0
  210. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/id_source_t.py +0 -0
  211. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/identifier.py +0 -0
  212. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/identifier_t.py +0 -0
  213. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/input_attributes.py +0 -0
  214. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/input_attributes_t.py +0 -0
  215. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/inputs.py +0 -0
  216. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/inputs_t.py +0 -0
  217. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/job_definition.py +0 -0
  218. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/outputs.py +0 -0
  219. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/outputs_t.py +0 -0
  220. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/permissions.py +0 -0
  221. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/permissions_t.py +0 -0
  222. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/phases.py +0 -0
  223. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/phases_t.py +0 -0
  224. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/post_base.py +0 -0
  225. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/post_base_t.py +0 -0
  226. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/recipe_identifiers.py +0 -0
  227. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/recipe_identifiers_t.py +0 -0
  228. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/recipe_inputs.py +0 -0
  229. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/recipe_inputs_t.py +0 -0
  230. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/recipe_links.py +0 -0
  231. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/recipe_links_t.py +0 -0
  232. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/recipe_metadata.py +0 -0
  233. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/recipe_metadata_t.py +0 -0
  234. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/recipe_output_metadata.py +0 -0
  235. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/recipe_output_metadata_t.py +0 -0
  236. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/recipe_tags.py +0 -0
  237. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/recipe_tags_t.py +0 -0
  238. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/recipe_workflow_steps.py +0 -0
  239. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/recipe_workflow_steps_t.py +0 -0
  240. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/recipes.py +0 -0
  241. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/recipes_t.py +0 -0
  242. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/response.py +0 -0
  243. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/response_t.py +0 -0
  244. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/secret_retrieval.py +0 -0
  245. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/secret_retrieval_t.py +0 -0
  246. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/units.py +0 -0
  247. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/units_t.py +0 -0
  248. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/users.py +0 -0
  249. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/users_t.py +0 -0
  250. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/workflows.py +0 -0
  251. {uncountablepythonsdk-0.0.45 → uncountablepythonsdk-0.0.46}/uncountable/types/workflows_t.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: UncountablePythonSDK
3
- Version: 0.0.45
3
+ Version: 0.0.46
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.1
2
2
  Name: UncountablePythonSDK
3
- Version: 0.0.45
3
+ Version: 0.0.46
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
@@ -111,6 +111,8 @@ uncountable/types/calculations_t.py
111
111
  uncountable/types/chemical_structure.py
112
112
  uncountable/types/chemical_structure_t.py
113
113
  uncountable/types/client_base.py
114
+ uncountable/types/client_config.py
115
+ uncountable/types/client_config_t.py
114
116
  uncountable/types/curves.py
115
117
  uncountable/types/curves_t.py
116
118
  uncountable/types/entity.py
@@ -17,6 +17,7 @@ class AsyncBatchProcessor(AsyncBatchProcessorBase):
17
17
  super().__init__()
18
18
  self._client = client
19
19
  self._queue = []
20
+ self._submitted_job_ids = []
20
21
 
21
22
  def _enqueue(self, req: async_batch_t.AsyncBatchRequest) -> None:
22
23
  self._queue.append(req)
@@ -15,6 +15,7 @@ from pkgs.argument_parser import CachedParser
15
15
  from pkgs.serialization_util import serialize_for_api
16
16
  from pkgs.serialization_util.serialization_helpers import JsonValue
17
17
  from uncountable.types.client_base import APIRequest, ClientMethods
18
+ from uncountable.types.client_config import ClientConfigOptions
18
19
 
19
20
  from .file_upload import FileUpload, FileUploader, UploadedFile
20
21
  from .types import AuthDetailsAll, AuthDetailsApiKey, AuthDetailsOAuth
@@ -58,9 +59,7 @@ HTTPRequest = HTTPPostRequest | HTTPGetRequest
58
59
 
59
60
 
60
61
  @dataclass(kw_only=True)
61
- class ClientConfig:
62
- allow_insecure_tls: bool = False
63
- extra_headers: dict[str, str] | None = None
62
+ class ClientConfig(ClientConfigOptions):
64
63
  transform_request: typing.Callable[[requests.Request], requests.Request] | None = None
65
64
 
66
65
 
@@ -1,7 +1,8 @@
1
1
  import os
2
- from typing import assert_never
3
2
 
4
3
  from uncountable.core import AuthDetailsApiKey, Client
4
+ from uncountable.core.client import ClientConfig
5
+ from uncountable.core.types import AuthDetailsAll
5
6
  from uncountable.types.job_definition_t import (
6
7
  AuthRetrievalEnv,
7
8
  ProfileMetadata,
@@ -15,7 +16,7 @@ def _get_env_var(name: str) -> str:
15
16
  return value
16
17
 
17
18
 
18
- def construct_uncountable_client(profile_meta: ProfileMetadata) -> Client:
19
+ def _construct_auth_details(profile_meta: ProfileMetadata) -> AuthDetailsAll:
19
20
  match profile_meta.auth_retrieval:
20
21
  case AuthRetrievalEnv():
21
22
  api_id = _get_env_var(f"UNC_PROFILE_{profile_meta.name.upper()}_API_ID")
@@ -26,10 +27,21 @@ def construct_uncountable_client(profile_meta: ProfileMetadata) -> Client:
26
27
  assert api_id is not None
27
28
  assert api_secret_key is not None
28
29
 
29
- return Client(
30
- base_url=profile_meta.base_url,
31
- auth_details=AuthDetailsApiKey(
32
- api_id=api_id, api_secret_key=api_secret_key
33
- ),
34
- )
35
- assert_never(profile_meta.auth_retrieval)
30
+ return AuthDetailsApiKey(api_id=api_id, api_secret_key=api_secret_key)
31
+
32
+
33
+ def _construct_client_config(profile_meta: ProfileMetadata) -> ClientConfig | None:
34
+ if profile_meta.client_options is None:
35
+ return None
36
+ return ClientConfig(
37
+ allow_insecure_tls=profile_meta.client_options.allow_insecure_tls,
38
+ extra_headers=profile_meta.client_options.extra_headers,
39
+ )
40
+
41
+
42
+ def construct_uncountable_client(profile_meta: ProfileMetadata) -> Client:
43
+ return Client(
44
+ base_url=profile_meta.base_url,
45
+ auth_details=_construct_auth_details(profile_meta),
46
+ config=_construct_client_config(profile_meta),
47
+ )
@@ -32,6 +32,7 @@ def main(blocking: bool) -> None:
32
32
  base_url=profile.base_url,
33
33
  auth_retrieval=profile.auth_retrieval,
34
34
  jobs=profile.jobs,
35
+ client_options=profile.client_options,
35
36
  )
36
37
 
37
38
  if blocking:
@@ -11,6 +11,7 @@ from apscheduler.triggers.cron import CronTrigger
11
11
  from sqlalchemy.engine.base import Engine
12
12
 
13
13
  from uncountable.integration.cron import CronJobArgs, cron_job_executor
14
+ from uncountable.types.client_config_t import ClientConfigOptions
14
15
  from uncountable.types.job_definition_t import (
15
16
  AuthRetrieval,
16
17
  CronJobDefinition,
@@ -40,10 +41,14 @@ class IntegrationServer:
40
41
  base_url: str,
41
42
  auth_retrieval: AuthRetrieval,
42
43
  jobs: list[JobDefinition],
44
+ client_options: Optional[ClientConfigOptions],
43
45
  ) -> None:
44
46
  for job_defn in jobs:
45
47
  profile_metadata = ProfileMetadata(
46
- name=profile_name, auth_retrieval=auth_retrieval, base_url=base_url
48
+ name=profile_name,
49
+ auth_retrieval=auth_retrieval,
50
+ base_url=base_url,
51
+ client_options=client_options,
47
52
  )
48
53
  match job_defn:
49
54
  case CronJobDefinition():
@@ -12,6 +12,7 @@ from . import async_batch_t as async_batch_t
12
12
  from . import base_t as base_t
13
13
  from . import calculations_t as calculations_t
14
14
  from . import chemical_structure_t as chemical_structure_t
15
+ from . import client_config_t as client_config_t
15
16
  from .api.chemical import convert_chemical_formats as convert_chemical_formats_t
16
17
  from .api.entity import create_entities as create_entities_t
17
18
  from .api.entity import create_entity as create_entity_t
@@ -107,6 +108,7 @@ __all__: list[str] = [
107
108
  "base_t",
108
109
  "calculations_t",
109
110
  "chemical_structure_t",
111
+ "client_config_t",
110
112
  "convert_chemical_formats_t",
111
113
  "create_entities_t",
112
114
  "create_entity_t",
@@ -0,0 +1,8 @@
1
+ # flake8: noqa: F821
2
+ # ruff: noqa: E402 Q003
3
+ # fmt: off
4
+ # isort: skip_file
5
+ # DO NOT MODIFY -- This file is generated by type_spec
6
+ # Kept only for SDK backwards compatibility
7
+ from .client_config_t import ClientConfigOptions as ClientConfigOptions
8
+ # DO NOT MODIFY -- This file is generated by type_spec
@@ -0,0 +1,22 @@
1
+ # DO NOT MODIFY -- This file is generated by type_spec
2
+ # flake8: noqa: F821
3
+ # ruff: noqa: E402 Q003
4
+ # fmt: off
5
+ # isort: skip_file
6
+ from __future__ import annotations
7
+ import typing # noqa: F401
8
+ import datetime # noqa: F401
9
+ from decimal import Decimal # noqa: F401
10
+ import dataclasses
11
+
12
+ __all__: list[str] = [
13
+ "ClientConfigOptions",
14
+ ]
15
+
16
+
17
+ # DO NOT MODIFY -- This file is generated by type_spec
18
+ @dataclasses.dataclass(kw_only=True)
19
+ class ClientConfigOptions:
20
+ allow_insecure_tls: bool = False
21
+ extra_headers: typing.Optional[typing.Optional[dict[str, str]]] = None
22
+ # DO NOT MODIFY -- This file is generated by type_spec
@@ -29,40 +29,53 @@ __all__: list[str] = [
29
29
  "calendar": "Calendar",
30
30
  "calendar_event": "Calendar Event",
31
31
  "certification": "Certification",
32
+ "characterization": "Characterization",
32
33
  "comment": "Comment",
33
34
  "comment_thread": "Comment Thread",
34
35
  "condition_parameter": "Condition Parameter",
35
36
  "condition_parameter_mat_family": "Condition Parameter Material Family",
37
+ "condition_parameter_value": "Condition Parameter Value",
36
38
  "constraint": "Constraint",
37
39
  "constraint_set": "Constraint Set",
38
40
  "curve_settings": "Curve Settings",
39
41
  "custom_entity": "Custom Entity",
40
42
  "doe_run": "Suggest Experiments",
43
+ "email_record_external": "External Emails",
44
+ "email_relay_server": "Email Relay Server",
45
+ "enter_recipe_view_preference": "Enter Recipe View Preference",
41
46
  "entities_viewed": "Entities Viewed",
47
+ "entity_annotation": "Annotation",
42
48
  "entity_field": "Field",
43
49
  "entity_field_audit_log": "Entity Field Audit Log",
50
+ "entity_link": "Entity Link",
44
51
  "entity_phase_event": "Entity Phase Event",
52
+ "entity_search": "Entity Search",
45
53
  "entity_tag": "Entity Tag",
46
54
  "equipment": "Equipment",
55
+ "equipment_maintenance": "Equipment Maintenance",
47
56
  "equipment_type": "Equipment Type",
48
57
  "experiment_group": "Experiment Group",
49
58
  "experiment_group_type": "Experiment Group Type",
50
59
  "favorite_link": "Favorite Link",
51
60
  "field_option_set": "Field Option Set",
61
+ "field_option": "Field Option",
52
62
  "file_folder": "File Folder",
53
63
  "file_folder_membership": "File Folder Membership",
54
64
  "goal": "Goal",
55
65
  "ingredient": "Ingredient",
56
66
  "ingredient_attribute": "Ingredient Attribute",
57
67
  "ingredient_attribute_category": "Ingredient Attribute Category",
58
- "ingredient_category": "Ingredient Category",
68
+ "ingredient_category": "Ingredient Category (Project)",
59
69
  "ingredient_category_all": "Ingredient Category",
70
+ "ingredient_category_all_material_family": "Ingredient Category Material Family",
60
71
  "ingredient_lot": "Ingredient Lot",
61
72
  "ingredient_role": "Ingredient Role",
62
73
  "ingredient_tag": "Ingredient Subcategory",
63
74
  "input_group": "Input Group",
64
75
  "inv_local_locations": "Inventory Location",
65
76
  "inventory_amount": "Inventory Amount",
77
+ "inventory_limit": "Inventory Limit",
78
+ "inventory_history": "Inventory History",
66
79
  "lab_location": "Lab Location",
67
80
  "lab_request": "Lab Request",
68
81
  "license": "License",
@@ -82,46 +95,59 @@ __all__: list[str] = [
82
95
  "output_condition_parameter_analytical_method_category": "Output Condition Parameter Analytical Method Category",
83
96
  "output_condition_parameter_analytical_method": "Output Condition Parameter Analytical Method",
84
97
  "output_group": "Output Group",
85
- "recipe_output_metadata": "Recipe Output Metadata",
86
98
  "permission": "Permission",
99
+ "permissions_recipe_link_inheritance": "Permissions Recipe Link Inheritance",
87
100
  "phase_workflow": "Phase Workflow",
101
+ "platform_config": "Platform Config",
88
102
  "predictive_model": "Predictive Model",
89
103
  "product": "Product",
90
104
  "project": "Project",
105
+ "project_workbook_comment": "Notebook Cell Comment",
91
106
  "recipe": "Experiment",
107
+ "recipe_audit_log": "Experiment Audit Log",
92
108
  "recipe_calculation": "Recipe Calculation",
93
- "recipe_permission_view": "Recipe Permission View",
94
- "recipe_project": "Recipe Project",
95
109
  "recipe_check": "Experiment Check",
96
110
  "recipe_export": "Recipe Export",
111
+ "recipe_ingredient": "Recipe Ingredient",
112
+ "recipe_ingredient_actual": "Recipe Ingredient Actual",
97
113
  "recipe_ingredients_compounded": "Recipe Ingredients Compounded",
98
114
  "recipe_ingredients_compounded_calculation": "Recipe Ingredients Compounded Caclulation",
115
+ "recipe_output": "Recipe Output",
116
+ "recipe_output_metadata": "Recipe Output Metadata",
117
+ "recipe_permission_view": "Recipe Permission View",
118
+ "recipe_project": "Recipe Project",
99
119
  "recipe_step": "Recipe Step",
100
120
  "recipe_tag": "Recipe Tag",
101
121
  "recipe_metadata": "Experiment Metadata",
122
+ "metadata_value": "Metadata Value",
102
123
  "review": "Review",
103
124
  "review_entity_user_status": "Review Entity User Status",
104
125
  "review_user": "Review User",
105
126
  "rlw_phase": "Phase",
127
+ "rlw_trigger": "Trigger",
106
128
  "rlw_trigger_set": "Trigger Set",
107
129
  "safety_data_sheet": "Safety Data Sheet",
108
130
  "scheduled_notification": "Scheduled Notification",
109
131
  "specs": "Spec",
110
132
  "split_template": "Split Template",
111
133
  "structured_loading_user_config": "List Config",
134
+ "table_builder_config": "Table Builder Config",
112
135
  "task": "Task",
113
136
  "task_board": "Task Board",
114
137
  "template": "Template",
115
138
  "timesheet_entry": "Timesheet Entry",
116
139
  "training_run": "Analyze Experiment",
140
+ "training_run_template": "Scheduled Training Run",
117
141
  "training_set": "Training Set",
118
142
  "time_series": "Time Series",
143
+ "time_series_stage": "Time Series Stage",
119
144
  "units": "Units",
120
145
  "user_favorite": "User Favorite",
121
146
  "user": "User",
122
147
  "user_certification": "User Certification",
123
148
  "user_group": "User Group",
124
149
  "user_list_set": "User List Set",
150
+ "value_spec_property": "Value Spec Property",
125
151
  "webhook": "Webhook",
126
152
  "webhook_event": "Webhook Event",
127
153
  "workflow": "Workflow",
@@ -135,6 +161,7 @@ __all__: list[str] = [
135
161
  "public_data_sourced_output": "ChemQuery Property",
136
162
  "public_data_sourced_project": "ChemQuery Category",
137
163
  "public_data_sourced_recipe": "ChemQuery Product",
164
+ "public_data_sourced_raw_material": "ChemQuery Raw Materials",
138
165
  "public_data_sourced_recipe_project": "ChemQuery Product Category",
139
166
  "public_data_sourced_recipe_metadata": "ChemQuery Product Information",
140
167
  "public_data_sourced_units": "ChemQuery Units",
@@ -152,26 +179,36 @@ class EntityType(StrEnum):
152
179
  CALENDAR = "calendar"
153
180
  CALENDAR_EVENT = "calendar_event"
154
181
  CERTIFICATION = "certification"
182
+ CHARACTERIZATION = "characterization"
155
183
  COMMENT = "comment"
156
184
  COMMENT_THREAD = "comment_thread"
157
185
  CONDITION_PARAMETER = "condition_parameter"
158
186
  CONDITION_PARAMETER_MAT_FAMILY = "condition_parameter_mat_family"
187
+ CONDITION_PARAMETER_VALUE = "condition_parameter_value"
159
188
  CONSTRAINT = "constraint"
160
189
  CONSTRAINT_SET = "constraint_set"
161
190
  CURVE_SETTINGS = "curve_settings"
162
191
  CUSTOM_ENTITY = "custom_entity"
163
192
  DOE_RUN = "doe_run"
193
+ EMAIL_RECORD_EXTERNAL = "email_record_external"
194
+ EMAIL_RELAY_SERVER = "email_relay_server"
195
+ ENTER_RECIPE_VIEW_PREFERENCE = "enter_recipe_view_preference"
164
196
  ENTITIES_VIEWED = "entities_viewed"
197
+ ENTITY_ANNOTATION = "entity_annotation"
165
198
  ENTITY_FIELD = "entity_field"
166
199
  ENTITY_FIELD_AUDIT_LOG = "entity_field_audit_log"
200
+ ENTITY_LINK = "entity_link"
167
201
  ENTITY_PHASE_EVENT = "entity_phase_event"
202
+ ENTITY_SEARCH = "entity_search"
168
203
  ENTITY_TAG = "entity_tag"
169
204
  EQUIPMENT = "equipment"
205
+ EQUIPMENT_MAINTENANCE = "equipment_maintenance"
170
206
  EQUIPMENT_TYPE = "equipment_type"
171
207
  EXPERIMENT_GROUP = "experiment_group"
172
208
  EXPERIMENT_GROUP_TYPE = "experiment_group_type"
173
209
  FAVORITE_LINK = "favorite_link"
174
210
  FIELD_OPTION_SET = "field_option_set"
211
+ FIELD_OPTION = "field_option"
175
212
  FILE_FOLDER = "file_folder"
176
213
  FILE_FOLDER_MEMBERSHIP = "file_folder_membership"
177
214
  GOAL = "goal"
@@ -180,12 +217,15 @@ class EntityType(StrEnum):
180
217
  INGREDIENT_ATTRIBUTE_CATEGORY = "ingredient_attribute_category"
181
218
  INGREDIENT_CATEGORY = "ingredient_category"
182
219
  INGREDIENT_CATEGORY_ALL = "ingredient_category_all"
220
+ INGREDIENT_CATEGORY_ALL_MATERIAL_FAMILY = "ingredient_category_all_material_family"
183
221
  INGREDIENT_LOT = "ingredient_lot"
184
222
  INGREDIENT_ROLE = "ingredient_role"
185
223
  INGREDIENT_TAG = "ingredient_tag"
186
224
  INPUT_GROUP = "input_group"
187
225
  INV_LOCAL_LOCATIONS = "inv_local_locations"
188
226
  INVENTORY_AMOUNT = "inventory_amount"
227
+ INVENTORY_LIMIT = "inventory_limit"
228
+ INVENTORY_HISTORY = "inventory_history"
189
229
  LAB_LOCATION = "lab_location"
190
230
  LAB_REQUEST = "lab_request"
191
231
  LICENSE = "license"
@@ -205,46 +245,59 @@ class EntityType(StrEnum):
205
245
  OUTPUT_CONDITION_PARAMETER_ANALYTICAL_METHOD_CATEGORY = "output_condition_parameter_analytical_method_category"
206
246
  OUTPUT_CONDITION_PARAMETER_ANALYTICAL_METHOD = "output_condition_parameter_analytical_method"
207
247
  OUTPUT_GROUP = "output_group"
208
- RECIPE_OUTPUT_METADATA = "recipe_output_metadata"
209
248
  PERMISSION = "permission"
249
+ PERMISSIONS_RECIPE_LINK_INHERITANCE = "permissions_recipe_link_inheritance"
210
250
  PHASE_WORKFLOW = "phase_workflow"
251
+ PLATFORM_CONFIG = "platform_config"
211
252
  PREDICTIVE_MODEL = "predictive_model"
212
253
  PRODUCT = "product"
213
254
  PROJECT = "project"
255
+ PROJECT_WORKBOOK_COMMENT = "project_workbook_comment"
214
256
  RECIPE = "recipe"
257
+ RECIPE_AUDIT_LOG = "recipe_audit_log"
215
258
  RECIPE_CALCULATION = "recipe_calculation"
216
- RECIPE_PERMISSION_VIEW = "recipe_permission_view"
217
- RECIPE_PROJECT = "recipe_project"
218
259
  RECIPE_CHECK = "recipe_check"
219
260
  RECIPE_EXPORT = "recipe_export"
261
+ RECIPE_INGREDIENT = "recipe_ingredient"
262
+ RECIPE_INGREDIENT_ACTUAL = "recipe_ingredient_actual"
220
263
  RECIPE_INGREDIENTS_COMPOUNDED = "recipe_ingredients_compounded"
221
264
  RECIPE_INGREDIENTS_COMPOUNDED_CALCULATION = "recipe_ingredients_compounded_calculation"
265
+ RECIPE_OUTPUT = "recipe_output"
266
+ RECIPE_OUTPUT_METADATA = "recipe_output_metadata"
267
+ RECIPE_PERMISSION_VIEW = "recipe_permission_view"
268
+ RECIPE_PROJECT = "recipe_project"
222
269
  RECIPE_STEP = "recipe_step"
223
270
  RECIPE_TAG = "recipe_tag"
224
271
  RECIPE_METADATA = "recipe_metadata"
272
+ METADATA_VALUE = "metadata_value"
225
273
  REVIEW = "review"
226
274
  REVIEW_ENTITY_USER_STATUS = "review_entity_user_status"
227
275
  REVIEW_USER = "review_user"
228
276
  RLW_PHASE = "rlw_phase"
277
+ RLW_TRIGGER = "rlw_trigger"
229
278
  RLW_TRIGGER_SET = "rlw_trigger_set"
230
279
  SAFETY_DATA_SHEET = "safety_data_sheet"
231
280
  SCHEDULED_NOTIFICATION = "scheduled_notification"
232
281
  SPECS = "specs"
233
282
  SPLIT_TEMPLATE = "split_template"
234
283
  STRUCTURED_LOADING_USER_CONFIG = "structured_loading_user_config"
284
+ TABLE_BUILDER_CONFIG = "table_builder_config"
235
285
  TASK = "task"
236
286
  TASK_BOARD = "task_board"
237
287
  TEMPLATE = "template"
238
288
  TIMESHEET_ENTRY = "timesheet_entry"
239
289
  TRAINING_RUN = "training_run"
290
+ TRAINING_RUN_TEMPLATE = "training_run_template"
240
291
  TRAINING_SET = "training_set"
241
292
  TIME_SERIES = "time_series"
293
+ TIME_SERIES_STAGE = "time_series_stage"
242
294
  UNITS = "units"
243
295
  USER_FAVORITE = "user_favorite"
244
296
  USER = "user"
245
297
  USER_CERTIFICATION = "user_certification"
246
298
  USER_GROUP = "user_group"
247
299
  USER_LIST_SET = "user_list_set"
300
+ VALUE_SPEC_PROPERTY = "value_spec_property"
248
301
  WEBHOOK = "webhook"
249
302
  WEBHOOK_EVENT = "webhook_event"
250
303
  WORKFLOW = "workflow"
@@ -258,6 +311,7 @@ class EntityType(StrEnum):
258
311
  PUBLIC_DATA_SOURCED_OUTPUT = "public_data_sourced_output"
259
312
  PUBLIC_DATA_SOURCED_PROJECT = "public_data_sourced_project"
260
313
  PUBLIC_DATA_SOURCED_RECIPE = "public_data_sourced_recipe"
314
+ PUBLIC_DATA_SOURCED_RAW_MATERIAL = "public_data_sourced_raw_material"
261
315
  PUBLIC_DATA_SOURCED_RECIPE_PROJECT = "public_data_sourced_recipe_project"
262
316
  PUBLIC_DATA_SOURCED_RECIPE_METADATA = "public_data_sourced_recipe_metadata"
263
317
  PUBLIC_DATA_SOURCED_UNITS = "public_data_sourced_units"
@@ -11,6 +11,7 @@ from pkgs.strenum_compat import StrEnum
11
11
  import dataclasses
12
12
  from pkgs.serialization import serial_class
13
13
  from pkgs.serialization import serial_union_annotation
14
+ from . import client_config_t
14
15
  from . import generic_upload_t
15
16
  from . import secret_retrieval_t
16
17
 
@@ -193,6 +194,7 @@ class ProfileDefinition:
193
194
  auth_retrieval: AuthRetrieval
194
195
  base_url: str
195
196
  jobs: list[JobDefinition]
197
+ client_options: typing.Optional[client_config_t.ClientConfigOptions] = None
196
198
 
197
199
 
198
200
  # DO NOT MODIFY -- This file is generated by type_spec
@@ -201,6 +203,7 @@ class ProfileMetadata:
201
203
  name: str
202
204
  base_url: str
203
205
  auth_retrieval: AuthRetrieval
206
+ client_options: typing.Optional[client_config_t.ClientConfigOptions]
204
207
 
205
208
 
206
209
  # DO NOT MODIFY -- This file is generated by type_spec