UncountablePythonSDK 0.0.38__tar.gz → 0.0.40__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 (230) hide show
  1. {uncountablepythonsdk-0.0.38/UncountablePythonSDK.egg-info → uncountablepythonsdk-0.0.40}/PKG-INFO +1 -1
  2. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40/UncountablePythonSDK.egg-info}/PKG-INFO +1 -1
  3. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/UncountablePythonSDK.egg-info/SOURCES.txt +31 -0
  4. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/emit_python.py +43 -8
  5. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/type_info/emit_type_info.py +1 -1
  6. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/core/client.py +1 -1
  7. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/__init__.py +32 -30
  8. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/batch/execute_batch.py +2 -2
  9. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/batch/execute_batch_load_async.py +3 -3
  10. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/chemical/convert_chemical_formats.py +2 -2
  11. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/entity/create_entities.py +4 -4
  12. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/entity/create_entity.py +4 -4
  13. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/entity/get_entities_data.py +4 -4
  14. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/entity/list_entities.py +3 -3
  15. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/entity/lock_entity.py +4 -4
  16. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/entity/resolve_entity_ids.py +3 -3
  17. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/entity/set_values.py +4 -4
  18. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/entity/transition_entity_phase.py +4 -4
  19. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/entity/unlock_entity.py +4 -4
  20. uncountablepythonsdk-0.0.40/uncountable/types/api/equipment/associate_equipment_input.py +37 -0
  21. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/field_options/upsert_field_options.py +2 -2
  22. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/id_source/list_id_source.py +3 -3
  23. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/id_source/match_id_source.py +3 -3
  24. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/input_groups/get_input_group_names.py +2 -2
  25. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/inputs/create_inputs.py +4 -4
  26. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/inputs/get_input_data.py +3 -3
  27. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/inputs/get_input_names.py +2 -2
  28. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/inputs/get_inputs_data.py +3 -3
  29. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/inputs/set_input_attribute_values.py +3 -3
  30. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/inputs/set_input_category.py +3 -3
  31. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/inputs/set_input_subcategories.py +4 -4
  32. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/inputs/set_intermediate_type.py +2 -2
  33. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/material_families/update_entity_material_families.py +6 -6
  34. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/outputs/get_output_data.py +3 -3
  35. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/outputs/get_output_names.py +2 -2
  36. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/outputs/resolve_output_conditions.py +2 -2
  37. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/permissions/set_core_permissions.py +4 -4
  38. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/project/get_projects.py +3 -3
  39. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/project/get_projects_data.py +5 -5
  40. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipe_links/create_recipe_link.py +4 -4
  41. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipe_links/remove_recipe_link.py +4 -4
  42. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +2 -2
  43. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipes/add_recipe_to_project.py +2 -2
  44. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipes/archive_recipes.py +2 -2
  45. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipes/associate_recipe_as_input.py +3 -3
  46. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipes/associate_recipe_as_lot.py +3 -3
  47. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipes/create_recipe.py +5 -5
  48. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipes/create_recipes.py +3 -3
  49. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipes/disassociate_recipe_as_input.py +3 -3
  50. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipes/edit_recipe_inputs.py +4 -4
  51. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipes/get_curve.py +3 -3
  52. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipes/get_recipe_calculations.py +3 -3
  53. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipes/get_recipe_links.py +3 -3
  54. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipes/get_recipe_names.py +2 -2
  55. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipes/get_recipe_output_metadata.py +3 -3
  56. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipes/get_recipes_data.py +8 -8
  57. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipes/lock_recipes.py +2 -2
  58. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipes/remove_recipe_from_project.py +2 -2
  59. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipes/set_recipe_inputs.py +2 -2
  60. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipes/set_recipe_metadata.py +3 -3
  61. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipes/set_recipe_output_annotations.py +3 -3
  62. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipes/set_recipe_outputs.py +4 -4
  63. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipes/set_recipe_tags.py +3 -3
  64. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipes/unarchive_recipes.py +2 -2
  65. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/recipes/unlock_recipes.py +2 -2
  66. uncountablepythonsdk-0.0.40/uncountable/types/api/triggers/__init__.py +1 -0
  67. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/triggers/run_trigger.py +3 -3
  68. uncountablepythonsdk-0.0.40/uncountable/types/async_batch.py +11 -0
  69. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/async_batch_processor.py +43 -7
  70. uncountablepythonsdk-0.0.38/uncountable/types/async_batch.py → uncountablepythonsdk-0.0.40/uncountable/types/async_batch_t.py +3 -2
  71. uncountablepythonsdk-0.0.40/uncountable/types/base.py +11 -0
  72. uncountablepythonsdk-0.0.38/uncountable/types/base.py → uncountablepythonsdk-0.0.40/uncountable/types/base_t.py +1 -1
  73. uncountablepythonsdk-0.0.40/uncountable/types/calculations.py +8 -0
  74. uncountablepythonsdk-0.0.38/uncountable/types/calculations.py → uncountablepythonsdk-0.0.40/uncountable/types/calculations_t.py +2 -2
  75. uncountablepythonsdk-0.0.40/uncountable/types/chemical_structure.py +8 -0
  76. uncountablepythonsdk-0.0.38/uncountable/types/chemical_structure.py → uncountablepythonsdk-0.0.40/uncountable/types/chemical_structure_t.py +1 -1
  77. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/client_base.py +36 -13
  78. uncountablepythonsdk-0.0.40/uncountable/types/curves.py +10 -0
  79. uncountablepythonsdk-0.0.38/uncountable/types/curves.py → uncountablepythonsdk-0.0.40/uncountable/types/curves_t.py +2 -2
  80. uncountablepythonsdk-0.0.40/uncountable/types/entity.py +9 -0
  81. uncountablepythonsdk-0.0.38/uncountable/types/entity.py → uncountablepythonsdk-0.0.40/uncountable/types/entity_t.py +2 -2
  82. uncountablepythonsdk-0.0.40/uncountable/types/experiment_groups.py +8 -0
  83. uncountablepythonsdk-0.0.38/uncountable/types/experiment_groups.py → uncountablepythonsdk-0.0.40/uncountable/types/experiment_groups_t.py +2 -2
  84. uncountablepythonsdk-0.0.40/uncountable/types/field_values.py +11 -0
  85. uncountablepythonsdk-0.0.38/uncountable/types/field_values.py → uncountablepythonsdk-0.0.40/uncountable/types/field_values_t.py +2 -2
  86. uncountablepythonsdk-0.0.40/uncountable/types/fields.py +8 -0
  87. uncountablepythonsdk-0.0.38/uncountable/types/fields.py → uncountablepythonsdk-0.0.40/uncountable/types/fields_t.py +2 -2
  88. uncountablepythonsdk-0.0.40/uncountable/types/id_source.py +12 -0
  89. uncountablepythonsdk-0.0.38/uncountable/types/id_source.py → uncountablepythonsdk-0.0.40/uncountable/types/id_source_t.py +2 -2
  90. uncountablepythonsdk-0.0.40/uncountable/types/identifier.py +11 -0
  91. uncountablepythonsdk-0.0.38/uncountable/types/identifier.py → uncountablepythonsdk-0.0.40/uncountable/types/identifier_t.py +2 -2
  92. uncountablepythonsdk-0.0.40/uncountable/types/input_attributes.py +8 -0
  93. uncountablepythonsdk-0.0.38/uncountable/types/input_attributes.py → uncountablepythonsdk-0.0.40/uncountable/types/input_attributes_t.py +2 -2
  94. uncountablepythonsdk-0.0.40/uncountable/types/inputs.py +10 -0
  95. uncountablepythonsdk-0.0.38/uncountable/types/inputs.py → uncountablepythonsdk-0.0.40/uncountable/types/inputs_t.py +2 -2
  96. uncountablepythonsdk-0.0.40/uncountable/types/outputs.py +8 -0
  97. uncountablepythonsdk-0.0.38/uncountable/types/outputs.py → uncountablepythonsdk-0.0.40/uncountable/types/outputs_t.py +3 -3
  98. uncountablepythonsdk-0.0.40/uncountable/types/permissions.py +8 -0
  99. uncountablepythonsdk-0.0.38/uncountable/types/permissions.py → uncountablepythonsdk-0.0.40/uncountable/types/permissions_t.py +1 -1
  100. uncountablepythonsdk-0.0.40/uncountable/types/phases.py +8 -0
  101. uncountablepythonsdk-0.0.38/uncountable/types/phases.py → uncountablepythonsdk-0.0.40/uncountable/types/phases_t.py +2 -2
  102. uncountablepythonsdk-0.0.40/uncountable/types/post_base.py +8 -0
  103. uncountablepythonsdk-0.0.38/uncountable/types/post_base.py → uncountablepythonsdk-0.0.40/uncountable/types/post_base_t.py +1 -1
  104. uncountablepythonsdk-0.0.40/uncountable/types/recipe_identifiers.py +12 -0
  105. uncountablepythonsdk-0.0.38/uncountable/types/recipe_identifiers.py → uncountablepythonsdk-0.0.40/uncountable/types/recipe_identifiers_t.py +2 -2
  106. uncountablepythonsdk-0.0.40/uncountable/types/recipe_inputs.py +9 -0
  107. uncountablepythonsdk-0.0.38/uncountable/types/recipe_inputs.py → uncountablepythonsdk-0.0.40/uncountable/types/recipe_inputs_t.py +1 -1
  108. uncountablepythonsdk-0.0.40/uncountable/types/recipe_links.py +9 -0
  109. uncountablepythonsdk-0.0.38/uncountable/types/recipe_links.py → uncountablepythonsdk-0.0.40/uncountable/types/recipe_links_t.py +2 -2
  110. uncountablepythonsdk-0.0.40/uncountable/types/recipe_metadata.py +10 -0
  111. uncountablepythonsdk-0.0.38/uncountable/types/recipe_metadata.py → uncountablepythonsdk-0.0.40/uncountable/types/recipe_metadata_t.py +2 -2
  112. uncountablepythonsdk-0.0.40/uncountable/types/recipe_output_metadata.py +8 -0
  113. uncountablepythonsdk-0.0.38/uncountable/types/recipe_output_metadata.py → uncountablepythonsdk-0.0.40/uncountable/types/recipe_output_metadata_t.py +2 -2
  114. uncountablepythonsdk-0.0.40/uncountable/types/recipe_tags.py +8 -0
  115. uncountablepythonsdk-0.0.38/uncountable/types/recipe_tags.py → uncountablepythonsdk-0.0.40/uncountable/types/recipe_tags_t.py +2 -2
  116. uncountablepythonsdk-0.0.40/uncountable/types/recipe_workflow_steps.py +14 -0
  117. uncountablepythonsdk-0.0.38/uncountable/types/recipe_workflow_steps.py → uncountablepythonsdk-0.0.40/uncountable/types/recipe_workflow_steps_t.py +2 -2
  118. uncountablepythonsdk-0.0.40/uncountable/types/recipes.py +8 -0
  119. uncountablepythonsdk-0.0.38/uncountable/types/recipes.py → uncountablepythonsdk-0.0.40/uncountable/types/recipes_t.py +1 -1
  120. uncountablepythonsdk-0.0.40/uncountable/types/response.py +8 -0
  121. uncountablepythonsdk-0.0.38/uncountable/types/response.py → uncountablepythonsdk-0.0.40/uncountable/types/response_t.py +1 -1
  122. uncountablepythonsdk-0.0.40/uncountable/types/units.py +8 -0
  123. uncountablepythonsdk-0.0.38/uncountable/types/units.py → uncountablepythonsdk-0.0.40/uncountable/types/units_t.py +2 -2
  124. uncountablepythonsdk-0.0.40/uncountable/types/users.py +8 -0
  125. uncountablepythonsdk-0.0.38/uncountable/types/users.py → uncountablepythonsdk-0.0.40/uncountable/types/users_t.py +2 -2
  126. uncountablepythonsdk-0.0.40/uncountable/types/workflows.py +9 -0
  127. uncountablepythonsdk-0.0.38/uncountable/types/workflows.py → uncountablepythonsdk-0.0.40/uncountable/types/workflows_t.py +2 -2
  128. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/.github/workflows/documentation.yml +0 -0
  129. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/.github/workflows/publish.yml +0 -0
  130. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/.gitignore +0 -0
  131. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/README.md +0 -0
  132. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/UncountablePythonSDK.egg-info/dependency_links.txt +0 -0
  133. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/UncountablePythonSDK.egg-info/requires.txt +0 -0
  134. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/UncountablePythonSDK.egg-info/top_level.txt +0 -0
  135. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/docs/.gitignore +0 -0
  136. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/docs/conf.py +0 -0
  137. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/docs/index.md +0 -0
  138. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/docs/justfile +0 -0
  139. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/docs/quickstart.md +0 -0
  140. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/docs/requirements.txt +0 -0
  141. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/docs/static/favicons/android-chrome-192x192.png +0 -0
  142. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/docs/static/favicons/android-chrome-512x512.png +0 -0
  143. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/docs/static/favicons/apple-touch-icon.png +0 -0
  144. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/docs/static/favicons/browserconfig.xml +0 -0
  145. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/docs/static/favicons/favicon-16x16.png +0 -0
  146. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/docs/static/favicons/favicon-32x32.png +0 -0
  147. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/docs/static/favicons/manifest.json +0 -0
  148. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/docs/static/favicons/mstile-150x150.png +0 -0
  149. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/docs/static/favicons/safari-pinned-tab.svg +0 -0
  150. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/docs/static/logo_blue.png +0 -0
  151. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/examples/async_batch.py +0 -0
  152. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/examples/create_entity.py +0 -0
  153. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/examples/edit_recipe_inputs.py +0 -0
  154. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/examples/upload_files.py +0 -0
  155. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/__init__.py +0 -0
  156. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/argument_parser/__init__.py +0 -0
  157. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/argument_parser/_is_enum.py +0 -0
  158. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/argument_parser/_is_namedtuple.py +0 -0
  159. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/argument_parser/argument_parser.py +0 -0
  160. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/argument_parser/case_convert.py +0 -0
  161. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/serialization/__init__.py +0 -0
  162. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/serialization/missing_sentry.py +0 -0
  163. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/serialization/opaque_key.py +0 -0
  164. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/serialization/serial_class.py +0 -0
  165. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/serialization/serial_union.py +0 -0
  166. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/serialization_util/__init__.py +0 -0
  167. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/serialization_util/_get_type_for_serialization.py +0 -0
  168. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/serialization_util/convert_to_snakecase.py +0 -0
  169. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/serialization_util/serialization_helpers.py +0 -0
  170. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/strenum_compat/__init__.py +0 -0
  171. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/strenum_compat/strenum_compat.py +0 -0
  172. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/__init__.py +0 -0
  173. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/__main__.py +0 -0
  174. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/actions_registry/__init__.py +0 -0
  175. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/actions_registry/__main__.py +0 -0
  176. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/actions_registry/emit_typescript.py +0 -0
  177. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/builder.py +0 -0
  178. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/config.py +0 -0
  179. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/emit_io_ts.py +0 -0
  180. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/emit_open_api.py +0 -0
  181. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/emit_open_api_util.py +0 -0
  182. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/emit_typescript.py +0 -0
  183. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/emit_typescript_util.py +0 -0
  184. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/load_types.py +0 -0
  185. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/open_api_util.py +0 -0
  186. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/parts/base.py.prepart +0 -0
  187. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/parts/base.ts.prepart +0 -0
  188. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/test.py +0 -0
  189. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/type_info/__main__.py +0 -0
  190. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/util.py +0 -0
  191. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/value_spec/__init__.py +0 -0
  192. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/value_spec/__main__.py +0 -0
  193. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/value_spec/convert_type.py +0 -0
  194. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/value_spec/emit_python.py +0 -0
  195. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pkgs/type_spec/value_spec/types.py +0 -0
  196. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/pyproject.toml +0 -0
  197. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/setup.cfg +0 -0
  198. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/__init__.py +0 -0
  199. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/core/__init__.py +0 -0
  200. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/core/async_batch.py +0 -0
  201. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/core/file_upload.py +0 -0
  202. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/core/types.py +0 -0
  203. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/integration/__init__.py +0 -0
  204. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/integration/construct_client.py +0 -0
  205. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/integration/cron.py +0 -0
  206. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/integration/db/__init__.py +0 -0
  207. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/integration/db/connect.py +0 -0
  208. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/integration/entrypoint.py +0 -0
  209. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/integration/executors/__init__.py +0 -0
  210. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/integration/executors/script_executor.py +0 -0
  211. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/integration/job.py +0 -0
  212. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/integration/server.py +0 -0
  213. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/integration/types.py +0 -0
  214. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/py.typed +0 -0
  215. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/__init__.py +0 -0
  216. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/batch/__init__.py +0 -0
  217. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/chemical/__init__.py +0 -0
  218. {uncountablepythonsdk-0.0.38 → uncountablepythonsdk-0.0.40}/uncountable/types/api/entity/__init__.py +0 -0
  219. {uncountablepythonsdk-0.0.38/uncountable/types/api/field_options → uncountablepythonsdk-0.0.40/uncountable/types/api/equipment}/__init__.py +0 -0
  220. {uncountablepythonsdk-0.0.38/uncountable/types/api/id_source → uncountablepythonsdk-0.0.40/uncountable/types/api/field_options}/__init__.py +0 -0
  221. {uncountablepythonsdk-0.0.38/uncountable/types/api/input_groups → uncountablepythonsdk-0.0.40/uncountable/types/api/id_source}/__init__.py +0 -0
  222. {uncountablepythonsdk-0.0.38/uncountable/types/api/inputs → uncountablepythonsdk-0.0.40/uncountable/types/api/input_groups}/__init__.py +0 -0
  223. {uncountablepythonsdk-0.0.38/uncountable/types/api/material_families → uncountablepythonsdk-0.0.40/uncountable/types/api/inputs}/__init__.py +0 -0
  224. {uncountablepythonsdk-0.0.38/uncountable/types/api/outputs → uncountablepythonsdk-0.0.40/uncountable/types/api/material_families}/__init__.py +0 -0
  225. {uncountablepythonsdk-0.0.38/uncountable/types/api/permissions → uncountablepythonsdk-0.0.40/uncountable/types/api/outputs}/__init__.py +0 -0
  226. {uncountablepythonsdk-0.0.38/uncountable/types/api/project → uncountablepythonsdk-0.0.40/uncountable/types/api/permissions}/__init__.py +0 -0
  227. {uncountablepythonsdk-0.0.38/uncountable/types/api/recipe_links → uncountablepythonsdk-0.0.40/uncountable/types/api/project}/__init__.py +0 -0
  228. {uncountablepythonsdk-0.0.38/uncountable/types/api/recipe_metadata → uncountablepythonsdk-0.0.40/uncountable/types/api/recipe_links}/__init__.py +0 -0
  229. {uncountablepythonsdk-0.0.38/uncountable/types/api/recipes → uncountablepythonsdk-0.0.40/uncountable/types/api/recipe_metadata}/__init__.py +0 -0
  230. {uncountablepythonsdk-0.0.38/uncountable/types/api/triggers → uncountablepythonsdk-0.0.40/uncountable/types/api/recipes}/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: UncountablePythonSDK
3
- Version: 0.0.38
3
+ Version: 0.0.40
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.38
3
+ Version: 0.0.40
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
@@ -92,35 +92,64 @@ uncountable/integration/executors/script_executor.py
92
92
  uncountable/types/__init__.py
93
93
  uncountable/types/async_batch.py
94
94
  uncountable/types/async_batch_processor.py
95
+ uncountable/types/async_batch_t.py
95
96
  uncountable/types/base.py
97
+ uncountable/types/base_t.py
96
98
  uncountable/types/calculations.py
99
+ uncountable/types/calculations_t.py
97
100
  uncountable/types/chemical_structure.py
101
+ uncountable/types/chemical_structure_t.py
98
102
  uncountable/types/client_base.py
99
103
  uncountable/types/curves.py
104
+ uncountable/types/curves_t.py
100
105
  uncountable/types/entity.py
106
+ uncountable/types/entity_t.py
101
107
  uncountable/types/experiment_groups.py
108
+ uncountable/types/experiment_groups_t.py
102
109
  uncountable/types/field_values.py
110
+ uncountable/types/field_values_t.py
103
111
  uncountable/types/fields.py
112
+ uncountable/types/fields_t.py
104
113
  uncountable/types/id_source.py
114
+ uncountable/types/id_source_t.py
105
115
  uncountable/types/identifier.py
116
+ uncountable/types/identifier_t.py
106
117
  uncountable/types/input_attributes.py
118
+ uncountable/types/input_attributes_t.py
107
119
  uncountable/types/inputs.py
120
+ uncountable/types/inputs_t.py
108
121
  uncountable/types/outputs.py
122
+ uncountable/types/outputs_t.py
109
123
  uncountable/types/permissions.py
124
+ uncountable/types/permissions_t.py
110
125
  uncountable/types/phases.py
126
+ uncountable/types/phases_t.py
111
127
  uncountable/types/post_base.py
128
+ uncountable/types/post_base_t.py
112
129
  uncountable/types/recipe_identifiers.py
130
+ uncountable/types/recipe_identifiers_t.py
113
131
  uncountable/types/recipe_inputs.py
132
+ uncountable/types/recipe_inputs_t.py
114
133
  uncountable/types/recipe_links.py
134
+ uncountable/types/recipe_links_t.py
115
135
  uncountable/types/recipe_metadata.py
136
+ uncountable/types/recipe_metadata_t.py
116
137
  uncountable/types/recipe_output_metadata.py
138
+ uncountable/types/recipe_output_metadata_t.py
117
139
  uncountable/types/recipe_tags.py
140
+ uncountable/types/recipe_tags_t.py
118
141
  uncountable/types/recipe_workflow_steps.py
142
+ uncountable/types/recipe_workflow_steps_t.py
119
143
  uncountable/types/recipes.py
144
+ uncountable/types/recipes_t.py
120
145
  uncountable/types/response.py
146
+ uncountable/types/response_t.py
121
147
  uncountable/types/units.py
148
+ uncountable/types/units_t.py
122
149
  uncountable/types/users.py
150
+ uncountable/types/users_t.py
123
151
  uncountable/types/workflows.py
152
+ uncountable/types/workflows_t.py
124
153
  uncountable/types/api/__init__.py
125
154
  uncountable/types/api/batch/__init__.py
126
155
  uncountable/types/api/batch/execute_batch.py
@@ -137,6 +166,8 @@ uncountable/types/api/entity/resolve_entity_ids.py
137
166
  uncountable/types/api/entity/set_values.py
138
167
  uncountable/types/api/entity/transition_entity_phase.py
139
168
  uncountable/types/api/entity/unlock_entity.py
169
+ uncountable/types/api/equipment/__init__.py
170
+ uncountable/types/api/equipment/associate_equipment_input.py
140
171
  uncountable/types/api/field_options/__init__.py
141
172
  uncountable/types/api/field_options/upsert_field_options.py
142
173
  uncountable/types/api/id_source/__init__.py
@@ -11,7 +11,9 @@ INDENT = " "
11
11
  LINE_BREAK = "\n"
12
12
  MODIFY_NOTICE = "# DO NOT MODIFY -- This file is generated by type_spec\n"
13
13
  # Turn excess line length warning and turn off ruff formatting
14
- LINT_HEADER = "# flake8: noqa: F821\n# ruff: noqa: E402\n# fmt: off\n# isort: skip_file\n"
14
+ LINT_HEADER = (
15
+ "# flake8: noqa: F821\n# ruff: noqa: E402 Q003\n# fmt: off\n# isort: skip_file\n"
16
+ )
15
17
  LINT_FOOTER = "# fmt: on\n"
16
18
  ROUTE_NOTICE = """# Routes are generated from $endpoint specifications in the
17
19
  # type_spec API YAML files. Refer to the section on endpoints in the type_spec/README"""
@@ -21,7 +23,7 @@ __all__: list[str] = [
21
23
  """
22
24
  END_ALL_EXPORTS = "]\n"
23
25
 
24
- ASYNC_BATCH_TYPE_NAMESPACE = builder.SpecNamespace(name="uncountable.types.async_batch")
26
+ ASYNC_BATCH_TYPE_NAMESPACE = builder.SpecNamespace(name="async_batch")
25
27
  ASYNC_BATCH_REQUEST_PATH_STYPE = builder.SpecTypeDefnStringEnum(
26
28
  namespace=ASYNC_BATCH_TYPE_NAMESPACE, name="AsyncBatchRequestPath"
27
29
  )
@@ -55,7 +57,9 @@ class Context(TrackingContext):
55
57
 
56
58
 
57
59
  def _resolve_namespace_name(namespace: builder.SpecNamespace) -> str:
58
- return namespace.name
60
+ if len(namespace.path) > 1:
61
+ return namespace.name
62
+ return f"{namespace.name}_t"
59
63
 
60
64
 
61
65
  def _resolve_namespace_ref(namespace: builder.SpecNamespace) -> str:
@@ -292,17 +296,22 @@ def _emit_types(*, builder: builder.SpecBuilder, config: PythonConfig) -> None:
292
296
  full.write(f"# === END section from {namespace.name}.part.py ===\n")
293
297
 
294
298
  basename = "/".join(namespace.path)
295
- filename = f"{config.types_output}/{basename}.py"
299
+ filename = f"{config.types_output}/{basename}{'' if len(namespace.path) > 1 else '_t'}.py"
296
300
  util.rewrite_file(filename, full.getvalue())
297
301
 
302
+ # Deprecated SDK support
303
+ if config.all_named_type_exports and len(namespace.path) == 1:
304
+ compat_out = _create_sdk_compat_namespace(namespace)
305
+ compat_filename = f"{config.types_output}/{basename}.py"
306
+ util.rewrite_file(compat_filename, compat_out.getvalue())
307
+
298
308
  path_to = os.path.dirname(basename)
299
309
  while path_to != "":
300
310
  all_dirs.add(path_to)
301
311
  path_to = os.path.dirname(path_to)
302
312
 
303
- if len(namespace.path) == 1 or (
304
- config.all_named_type_exports and len(namespace.path) > 1
305
- ):
313
+ # Deprecated SDK support
314
+ if config.all_named_type_exports:
306
315
  index_out.write("from ")
307
316
  if len(namespace.path) == 1:
308
317
  index_out.write(".")
@@ -352,6 +361,32 @@ def _emit_namespace(ctx: Context, namespace: builder.SpecNamespace) -> None:
352
361
  _emit_constant(ctx, sconst)
353
362
 
354
363
 
364
+ def _create_sdk_compat_namespace(namespace: builder.SpecNamespace) -> io.StringIO:
365
+ compat_out = io.StringIO()
366
+ compat_out.write(LINT_HEADER)
367
+ compat_out.write(MODIFY_NOTICE)
368
+ compat_out.write("# Kept only for SDK backwards compatibility\n")
369
+
370
+ # This mostly an prepart import, thus has no high-level knowledge. Since this onl
371
+ # needs backwards copmatibiltiy from when written we can just hardcode what was there
372
+ # (only those in __all__ assuming that worked, which it might not)
373
+ if namespace.name == "base":
374
+ compat_out.write("""
375
+ from .base_t import JsonScalar as JsonScalar
376
+ from .base_t import JsonValue as JsonValue
377
+ from .base_t import ObjectId as ObjectId
378
+ """)
379
+ else:
380
+ for stype in namespace.types.values():
381
+ compat_out.write(
382
+ f"from .{namespace.path[-1]}_t import {stype.name} as {stype.name}\n"
383
+ )
384
+
385
+ compat_out.write(MODIFY_NOTICE)
386
+
387
+ return compat_out
388
+
389
+
355
390
  def _validate_supports_handler_generation(
356
391
  stype: builder.SpecTypeDefn, name: str, supports_inheritance: bool = False
357
392
  ) -> builder.SpecTypeDefnObject:
@@ -992,7 +1027,7 @@ def _emit_namespace_imports(
992
1027
  else:
993
1028
  from_path = config.types_package
994
1029
 
995
- out.write(f"from {from_path} import {resolved} as {ref}\n")
1030
+ out.write(f"from {from_path} import {resolved}\n")
996
1031
 
997
1032
 
998
1033
  def _emit_id_source(*, builder: builder.SpecBuilder, config: PythonConfig) -> None:
@@ -6,7 +6,7 @@ import json
6
6
  from typing import Any, Optional, TypeAlias, Union, cast
7
7
 
8
8
  from main.base.types import data_t
9
- from main.base.types.base import PureJsonValue
9
+ from main.base.types.base_t import PureJsonValue
10
10
  from pkgs.argument_parser import CachedParser
11
11
  from pkgs.serialization_util import (
12
12
  serialize_for_api,
@@ -25,7 +25,7 @@ UNC_SDK_VERSION_HEADER = "X-UNC-SDK-VERSION"
25
25
 
26
26
 
27
27
  try:
28
- __version__ = version("uncountable")
28
+ __version__ = version("UncountablePythonSDK")
29
29
  except PackageNotFoundError:
30
30
  __version__ = "unknown"
31
31
 
@@ -1,16 +1,17 @@
1
1
  # DO NOT MODIFY -- This file is generated by type_spec
2
2
  # flake8: noqa: F821
3
- # ruff: noqa: E402
3
+ # ruff: noqa: E402 Q003
4
4
  # fmt: off
5
5
  # isort: skip_file
6
6
  from .api.recipes import add_recipe_to_project as add_recipe_to_project_t
7
7
  from .api.recipes import archive_recipes as archive_recipes_t
8
+ from .api.equipment import associate_equipment_input as associate_equipment_input_t
8
9
  from .api.recipes import associate_recipe_as_input as associate_recipe_as_input_t
9
10
  from .api.recipes import associate_recipe_as_lot as associate_recipe_as_lot_t
10
- from . import async_batch as async_batch_t
11
- from . import base as base_t
12
- from . import calculations as calculations_t
13
- from . import chemical_structure as chemical_structure_t
11
+ from . import async_batch_t as async_batch_t
12
+ from . import base_t as base_t
13
+ from . import calculations_t as calculations_t
14
+ from . import chemical_structure_t as chemical_structure_t
14
15
  from .api.chemical import convert_chemical_formats as convert_chemical_formats_t
15
16
  from .api.entity import create_entities as create_entities_t
16
17
  from .api.entity import create_entity as create_entity_t
@@ -18,15 +19,15 @@ from .api.inputs import create_inputs as create_inputs_t
18
19
  from .api.recipes import create_recipe as create_recipe_t
19
20
  from .api.recipe_links import create_recipe_link as create_recipe_link_t
20
21
  from .api.recipes import create_recipes as create_recipes_t
21
- from . import curves as curves_t
22
+ from . import curves_t as curves_t
22
23
  from .api.recipes import disassociate_recipe_as_input as disassociate_recipe_as_input_t
23
24
  from .api.recipes import edit_recipe_inputs as edit_recipe_inputs_t
24
- from . import entity as entity_t
25
+ from . import entity_t as entity_t
25
26
  from .api.batch import execute_batch as execute_batch_t
26
27
  from .api.batch import execute_batch_load_async as execute_batch_load_async_t
27
- from . import experiment_groups as experiment_groups_t
28
- from . import field_values as field_values_t
29
- from . import fields as fields_t
28
+ from . import experiment_groups_t as experiment_groups_t
29
+ from . import field_values_t as field_values_t
30
+ from . import fields_t as fields_t
30
31
  from .api.recipes import get_curve as get_curve_t
31
32
  from .api.entity import get_entities_data as get_entities_data_t
32
33
  from .api.inputs import get_input_data as get_input_data_t
@@ -43,32 +44,32 @@ from .api.recipe_metadata import get_recipe_metadata_data as get_recipe_metadata
43
44
  from .api.recipes import get_recipe_names as get_recipe_names_t
44
45
  from .api.recipes import get_recipe_output_metadata as get_recipe_output_metadata_t
45
46
  from .api.recipes import get_recipes_data as get_recipes_data_t
46
- from . import id_source as id_source_t
47
- from . import identifier as identifier_t
48
- from . import input_attributes as input_attributes_t
49
- from . import inputs as inputs_t
47
+ from . import id_source_t as id_source_t
48
+ from . import identifier_t as identifier_t
49
+ from . import input_attributes_t as input_attributes_t
50
+ from . import inputs_t as inputs_t
50
51
  from .api.entity import list_entities as list_entities_t
51
52
  from .api.id_source import list_id_source as list_id_source_t
52
53
  from .api.entity import lock_entity as lock_entity_t
53
54
  from .api.recipes import lock_recipes as lock_recipes_t
54
55
  from .api.id_source import match_id_source as match_id_source_t
55
- from . import outputs as outputs_t
56
- from . import permissions as permissions_t
57
- from . import phases as phases_t
58
- from . import post_base as post_base_t
59
- from . import recipe_identifiers as recipe_identifiers_t
60
- from . import recipe_inputs as recipe_inputs_t
61
- from . import recipe_links as recipe_links_t
62
- from . import recipe_metadata as recipe_metadata_t
63
- from . import recipe_output_metadata as recipe_output_metadata_t
64
- from . import recipe_tags as recipe_tags_t
65
- from . import recipe_workflow_steps as recipe_workflow_steps_t
66
- from . import recipes as recipes_t
56
+ from . import outputs_t as outputs_t
57
+ from . import permissions_t as permissions_t
58
+ from . import phases_t as phases_t
59
+ from . import post_base_t as post_base_t
60
+ from . import recipe_identifiers_t as recipe_identifiers_t
61
+ from . import recipe_inputs_t as recipe_inputs_t
62
+ from . import recipe_links_t as recipe_links_t
63
+ from . import recipe_metadata_t as recipe_metadata_t
64
+ from . import recipe_output_metadata_t as recipe_output_metadata_t
65
+ from . import recipe_tags_t as recipe_tags_t
66
+ from . import recipe_workflow_steps_t as recipe_workflow_steps_t
67
+ from . import recipes_t as recipes_t
67
68
  from .api.recipes import remove_recipe_from_project as remove_recipe_from_project_t
68
69
  from .api.recipe_links import remove_recipe_link as remove_recipe_link_t
69
70
  from .api.entity import resolve_entity_ids as resolve_entity_ids_t
70
71
  from .api.outputs import resolve_output_conditions as resolve_output_conditions_t
71
- from . import response as response_t
72
+ from . import response_t as response_t
72
73
  from .api.triggers import run_trigger as run_trigger_t
73
74
  from .api.permissions import set_core_permissions as set_core_permissions_t
74
75
  from .api.inputs import set_input_attribute_values as set_input_attribute_values_t
@@ -83,18 +84,19 @@ from .api.recipes import set_recipe_tags as set_recipe_tags_t
83
84
  from .api.entity import set_values as set_values_t
84
85
  from .api.entity import transition_entity_phase as transition_entity_phase_t
85
86
  from .api.recipes import unarchive_recipes as unarchive_recipes_t
86
- from . import units as units_t
87
+ from . import units_t as units_t
87
88
  from .api.entity import unlock_entity as unlock_entity_t
88
89
  from .api.recipes import unlock_recipes as unlock_recipes_t
89
90
  from .api.material_families import update_entity_material_families as update_entity_material_families_t
90
91
  from .api.field_options import upsert_field_options as upsert_field_options_t
91
- from . import users as users_t
92
- from . import workflows as workflows_t
92
+ from . import users_t as users_t
93
+ from . import workflows_t as workflows_t
93
94
 
94
95
 
95
96
  __all__: list[str] = [
96
97
  "add_recipe_to_project_t",
97
98
  "archive_recipes_t",
99
+ "associate_equipment_input_t",
98
100
  "associate_recipe_as_input_t",
99
101
  "associate_recipe_as_lot_t",
100
102
  "async_batch_t",
@@ -1,6 +1,6 @@
1
1
  # DO NOT MODIFY -- This file is generated by type_spec
2
2
  # flake8: noqa: F821
3
- # ruff: noqa: E402
3
+ # ruff: noqa: E402 Q003
4
4
  # fmt: off
5
5
  # isort: skip_file
6
6
  from __future__ import annotations
@@ -10,7 +10,7 @@ from decimal import Decimal # noqa: F401
10
10
  from pkgs.strenum_compat import StrEnum
11
11
  from dataclasses import dataclass
12
12
  from pkgs.serialization import serial_class
13
- from ... import base as base_t
13
+ from ... import base_t
14
14
 
15
15
  __all__: list[str] = [
16
16
  "Arguments",
@@ -1,6 +1,6 @@
1
1
  # DO NOT MODIFY -- This file is generated by type_spec
2
2
  # flake8: noqa: F821
3
- # ruff: noqa: E402
3
+ # ruff: noqa: E402 Q003
4
4
  # fmt: off
5
5
  # isort: skip_file
6
6
  from __future__ import annotations
@@ -8,8 +8,8 @@ import typing # noqa: F401
8
8
  import datetime # noqa: F401
9
9
  from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
- from ... import async_batch as async_batch_t
12
- from ... import base as base_t
11
+ from ... import async_batch_t
12
+ from ... import base_t
13
13
 
14
14
  __all__: list[str] = [
15
15
  "Arguments",
@@ -1,6 +1,6 @@
1
1
  # DO NOT MODIFY -- This file is generated by type_spec
2
2
  # flake8: noqa: F821
3
- # ruff: noqa: E402
3
+ # ruff: noqa: E402 Q003
4
4
  # fmt: off
5
5
  # isort: skip_file
6
6
  from __future__ import annotations
@@ -9,7 +9,7 @@ import datetime # noqa: F401
9
9
  from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
11
  from pkgs.serialization import serial_class
12
- from ... import base as base_t
12
+ from ... import base_t
13
13
 
14
14
  __all__: list[str] = [
15
15
  "Arguments",
@@ -1,6 +1,6 @@
1
1
  # DO NOT MODIFY -- This file is generated by type_spec
2
2
  # flake8: noqa: F821
3
- # ruff: noqa: E402
3
+ # ruff: noqa: E402 Q003
4
4
  # fmt: off
5
5
  # isort: skip_file
6
6
  from __future__ import annotations
@@ -8,9 +8,9 @@ import typing # noqa: F401
8
8
  import datetime # noqa: F401
9
9
  from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
- from ... import base as base_t
12
- from ... import entity as entity_t
13
- from ... import field_values as field_values_t
11
+ from ... import base_t
12
+ from ... import entity_t
13
+ from ... import field_values_t
14
14
 
15
15
  __all__: list[str] = [
16
16
  "Arguments",
@@ -1,6 +1,6 @@
1
1
  # DO NOT MODIFY -- This file is generated by type_spec
2
2
  # flake8: noqa: F821
3
- # ruff: noqa: E402
3
+ # ruff: noqa: E402 Q003
4
4
  # fmt: off
5
5
  # isort: skip_file
6
6
  from __future__ import annotations
@@ -9,9 +9,9 @@ import datetime # noqa: F401
9
9
  from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
11
  from pkgs.serialization import serial_class
12
- from ... import base as base_t
13
- from ... import entity as entity_t
14
- from ... import field_values as field_values_t
12
+ from ... import base_t
13
+ from ... import entity_t
14
+ from ... import field_values_t
15
15
 
16
16
  __all__: list[str] = [
17
17
  "Arguments",
@@ -1,6 +1,6 @@
1
1
  # DO NOT MODIFY -- This file is generated by type_spec
2
2
  # flake8: noqa: F821
3
- # ruff: noqa: E402
3
+ # ruff: noqa: E402 Q003
4
4
  # fmt: off
5
5
  # isort: skip_file
6
6
  from __future__ import annotations
@@ -8,9 +8,9 @@ import typing # noqa: F401
8
8
  import datetime # noqa: F401
9
9
  from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
- from ... import base as base_t
12
- from ... import entity as entity_t
13
- from ... import field_values as field_values_t
11
+ from ... import base_t
12
+ from ... import entity_t
13
+ from ... import field_values_t
14
14
 
15
15
  __all__: list[str] = [
16
16
  "Arguments",
@@ -1,6 +1,6 @@
1
1
  # DO NOT MODIFY -- This file is generated by type_spec
2
2
  # flake8: noqa: F821
3
- # ruff: noqa: E402
3
+ # ruff: noqa: E402 Q003
4
4
  # fmt: off
5
5
  # isort: skip_file
6
6
  from __future__ import annotations
@@ -10,8 +10,8 @@ from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
11
  from pkgs.serialization import serial_class
12
12
  from pkgs.serialization import OpaqueKey
13
- from ... import base as base_t
14
- from ... import entity as entity_t
13
+ from ... import base_t
14
+ from ... import entity_t
15
15
 
16
16
  __all__: list[str] = [
17
17
  "Arguments",
@@ -1,6 +1,6 @@
1
1
  # DO NOT MODIFY -- This file is generated by type_spec
2
2
  # flake8: noqa: F821
3
- # ruff: noqa: E402
3
+ # ruff: noqa: E402 Q003
4
4
  # fmt: off
5
5
  # isort: skip_file
6
6
  from __future__ import annotations
@@ -8,9 +8,9 @@ import typing # noqa: F401
8
8
  import datetime # noqa: F401
9
9
  from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
- from ... import async_batch as async_batch_t
12
- from ... import entity as entity_t
13
- from ... import identifier as identifier_t
11
+ from ... import async_batch_t
12
+ from ... import entity_t
13
+ from ... import identifier_t
14
14
 
15
15
  __all__: list[str] = [
16
16
  "Arguments",
@@ -1,6 +1,6 @@
1
1
  # DO NOT MODIFY -- This file is generated by type_spec
2
2
  # flake8: noqa: F821
3
- # ruff: noqa: E402
3
+ # ruff: noqa: E402 Q003
4
4
  # fmt: off
5
5
  # isort: skip_file
6
6
  from __future__ import annotations
@@ -8,8 +8,8 @@ import typing # noqa: F401
8
8
  import datetime # noqa: F401
9
9
  from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
- from ... import base as base_t
12
- from ... import entity as entity_t
11
+ from ... import base_t
12
+ from ... import entity_t
13
13
 
14
14
  __all__: list[str] = [
15
15
  "Arguments",
@@ -1,6 +1,6 @@
1
1
  # DO NOT MODIFY -- This file is generated by type_spec
2
2
  # flake8: noqa: F821
3
- # ruff: noqa: E402
3
+ # ruff: noqa: E402 Q003
4
4
  # fmt: off
5
5
  # isort: skip_file
6
6
  from __future__ import annotations
@@ -8,9 +8,9 @@ import typing # noqa: F401
8
8
  import datetime # noqa: F401
9
9
  from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
- from ... import entity as entity_t
12
- from ... import field_values as field_values_t
13
- from ... import response as response_t
11
+ from ... import entity_t
12
+ from ... import field_values_t
13
+ from ... import response_t
14
14
 
15
15
  __all__: list[str] = [
16
16
  "Arguments",
@@ -1,6 +1,6 @@
1
1
  # DO NOT MODIFY -- This file is generated by type_spec
2
2
  # flake8: noqa: F821
3
- # ruff: noqa: E402
3
+ # ruff: noqa: E402 Q003
4
4
  # fmt: off
5
5
  # isort: skip_file
6
6
  from __future__ import annotations
@@ -9,9 +9,9 @@ import datetime # noqa: F401
9
9
  from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
11
  from pkgs.serialization import serial_class
12
- from ... import entity as entity_t
13
- from ... import identifier as identifier_t
14
- from ... import response as response_t
12
+ from ... import entity_t
13
+ from ... import identifier_t
14
+ from ... import response_t
15
15
 
16
16
  __all__: list[str] = [
17
17
  "Arguments",
@@ -1,6 +1,6 @@
1
1
  # DO NOT MODIFY -- This file is generated by type_spec
2
2
  # flake8: noqa: F821
3
- # ruff: noqa: E402
3
+ # ruff: noqa: E402 Q003
4
4
  # fmt: off
5
5
  # isort: skip_file
6
6
  from __future__ import annotations
@@ -8,9 +8,9 @@ import typing # noqa: F401
8
8
  import datetime # noqa: F401
9
9
  from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
- from ... import async_batch as async_batch_t
12
- from ... import entity as entity_t
13
- from ... import identifier as identifier_t
11
+ from ... import async_batch_t
12
+ from ... import entity_t
13
+ from ... import identifier_t
14
14
 
15
15
  __all__: list[str] = [
16
16
  "Arguments",
@@ -0,0 +1,37 @@
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
+ from dataclasses import dataclass
11
+ from ... import async_batch_t
12
+ from ... import base_t
13
+ from ... import identifier_t
14
+
15
+ __all__: list[str] = [
16
+ "Arguments",
17
+ "Data",
18
+ "ENDPOINT_METHOD",
19
+ "ENDPOINT_PATH",
20
+ ]
21
+
22
+ ENDPOINT_METHOD = "POST"
23
+ ENDPOINT_PATH = "api/external/equipment/associate_equipment_input"
24
+
25
+
26
+ # DO NOT MODIFY -- This file is generated by type_spec
27
+ @dataclass(kw_only=True)
28
+ class Arguments:
29
+ equipment_key: identifier_t.IdentifierKey
30
+ material_family_ids: list[base_t.ObjectId]
31
+
32
+
33
+ # DO NOT MODIFY -- This file is generated by type_spec
34
+ @dataclass(kw_only=True)
35
+ class Data(async_batch_t.AsyncBatchActionReturn):
36
+ pass
37
+ # DO NOT MODIFY -- This file is generated by type_spec
@@ -1,6 +1,6 @@
1
1
  # DO NOT MODIFY -- This file is generated by type_spec
2
2
  # flake8: noqa: F821
3
- # ruff: noqa: E402
3
+ # ruff: noqa: E402 Q003
4
4
  # fmt: off
5
5
  # isort: skip_file
6
6
  from __future__ import annotations
@@ -8,7 +8,7 @@ import typing # noqa: F401
8
8
  import datetime # noqa: F401
9
9
  from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
- from ... import identifier as identifier_t
11
+ from ... import identifier_t
12
12
 
13
13
  __all__: list[str] = [
14
14
  "Arguments",
@@ -1,6 +1,6 @@
1
1
  # DO NOT MODIFY -- This file is generated by type_spec
2
2
  # flake8: noqa: F821
3
- # ruff: noqa: E402
3
+ # ruff: noqa: E402 Q003
4
4
  # fmt: off
5
5
  # isort: skip_file
6
6
  from __future__ import annotations
@@ -8,8 +8,8 @@ import typing # noqa: F401
8
8
  import datetime # noqa: F401
9
9
  from decimal import Decimal # noqa: F401
10
10
  from dataclasses import dataclass
11
- from ... import base as base_t
12
- from ... import id_source as id_source_t
11
+ from ... import base_t
12
+ from ... import id_source_t
13
13
 
14
14
  __all__: list[str] = [
15
15
  "Arguments",