UncountablePythonSDK 0.0.37__tar.gz → 0.0.39__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 (201) hide show
  1. {uncountablepythonsdk-0.0.37/UncountablePythonSDK.egg-info → uncountablepythonsdk-0.0.39}/PKG-INFO +1 -1
  2. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39/UncountablePythonSDK.egg-info}/PKG-INFO +1 -1
  3. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/UncountablePythonSDK.egg-info/SOURCES.txt +2 -0
  4. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/emit_python.py +3 -1
  5. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/core/client.py +28 -22
  6. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/__init__.py +3 -1
  7. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/batch/execute_batch.py +1 -1
  8. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/batch/execute_batch_load_async.py +1 -1
  9. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/chemical/convert_chemical_formats.py +1 -1
  10. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/entity/create_entities.py +1 -1
  11. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/entity/create_entity.py +1 -1
  12. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/entity/get_entities_data.py +1 -1
  13. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/entity/list_entities.py +1 -1
  14. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/entity/lock_entity.py +1 -1
  15. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/entity/resolve_entity_ids.py +1 -1
  16. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/entity/set_values.py +1 -1
  17. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/entity/transition_entity_phase.py +1 -1
  18. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/entity/unlock_entity.py +1 -1
  19. uncountablepythonsdk-0.0.39/uncountable/types/api/equipment/associate_equipment_input.py +37 -0
  20. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/field_options/upsert_field_options.py +1 -1
  21. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/id_source/list_id_source.py +1 -1
  22. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/id_source/match_id_source.py +1 -1
  23. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/input_groups/get_input_group_names.py +1 -1
  24. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/inputs/create_inputs.py +1 -1
  25. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/inputs/get_input_data.py +1 -1
  26. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/inputs/get_input_names.py +1 -1
  27. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/inputs/get_inputs_data.py +1 -1
  28. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/inputs/set_input_attribute_values.py +1 -1
  29. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/inputs/set_input_category.py +1 -1
  30. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/inputs/set_input_subcategories.py +1 -1
  31. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/inputs/set_intermediate_type.py +1 -1
  32. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/material_families/update_entity_material_families.py +1 -1
  33. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/outputs/get_output_data.py +1 -1
  34. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/outputs/get_output_names.py +1 -1
  35. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/outputs/resolve_output_conditions.py +1 -1
  36. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/permissions/set_core_permissions.py +1 -1
  37. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/project/get_projects.py +1 -1
  38. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/project/get_projects_data.py +1 -1
  39. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipe_links/create_recipe_link.py +1 -1
  40. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipe_links/remove_recipe_link.py +1 -1
  41. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipe_metadata/get_recipe_metadata_data.py +1 -1
  42. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipes/add_recipe_to_project.py +1 -1
  43. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipes/archive_recipes.py +1 -1
  44. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipes/associate_recipe_as_input.py +1 -1
  45. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipes/associate_recipe_as_lot.py +1 -1
  46. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipes/create_recipe.py +1 -1
  47. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipes/create_recipes.py +1 -1
  48. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipes/disassociate_recipe_as_input.py +1 -1
  49. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipes/edit_recipe_inputs.py +1 -1
  50. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipes/get_curve.py +1 -1
  51. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipes/get_recipe_calculations.py +1 -1
  52. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipes/get_recipe_links.py +1 -1
  53. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipes/get_recipe_names.py +1 -1
  54. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipes/get_recipe_output_metadata.py +1 -1
  55. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipes/get_recipes_data.py +1 -1
  56. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipes/lock_recipes.py +1 -1
  57. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipes/remove_recipe_from_project.py +1 -1
  58. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipes/set_recipe_inputs.py +1 -1
  59. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipes/set_recipe_metadata.py +1 -1
  60. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipes/set_recipe_output_annotations.py +1 -1
  61. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipes/set_recipe_outputs.py +1 -1
  62. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipes/set_recipe_tags.py +1 -1
  63. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipes/unarchive_recipes.py +1 -1
  64. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/recipes/unlock_recipes.py +1 -1
  65. uncountablepythonsdk-0.0.39/uncountable/types/api/triggers/__init__.py +1 -0
  66. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/triggers/run_trigger.py +1 -1
  67. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/async_batch.py +2 -1
  68. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/async_batch_processor.py +37 -1
  69. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/base.py +1 -1
  70. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/calculations.py +1 -1
  71. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/chemical_structure.py +1 -1
  72. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/client_base.py +24 -1
  73. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/curves.py +1 -1
  74. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/entity.py +1 -1
  75. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/experiment_groups.py +1 -1
  76. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/field_values.py +1 -1
  77. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/fields.py +1 -1
  78. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/id_source.py +1 -1
  79. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/identifier.py +1 -1
  80. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/input_attributes.py +1 -1
  81. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/inputs.py +1 -1
  82. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/outputs.py +1 -1
  83. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/permissions.py +1 -1
  84. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/phases.py +1 -1
  85. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/post_base.py +1 -1
  86. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/recipe_identifiers.py +1 -1
  87. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/recipe_inputs.py +1 -1
  88. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/recipe_links.py +1 -1
  89. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/recipe_metadata.py +1 -1
  90. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/recipe_output_metadata.py +1 -1
  91. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/recipe_tags.py +1 -1
  92. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/recipe_workflow_steps.py +1 -1
  93. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/recipes.py +1 -1
  94. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/response.py +1 -1
  95. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/units.py +1 -1
  96. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/users.py +1 -1
  97. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/workflows.py +1 -1
  98. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/.github/workflows/documentation.yml +0 -0
  99. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/.github/workflows/publish.yml +0 -0
  100. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/.gitignore +0 -0
  101. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/README.md +0 -0
  102. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/UncountablePythonSDK.egg-info/dependency_links.txt +0 -0
  103. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/UncountablePythonSDK.egg-info/requires.txt +0 -0
  104. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/UncountablePythonSDK.egg-info/top_level.txt +0 -0
  105. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/docs/.gitignore +0 -0
  106. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/docs/conf.py +0 -0
  107. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/docs/index.md +0 -0
  108. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/docs/justfile +0 -0
  109. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/docs/quickstart.md +0 -0
  110. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/docs/requirements.txt +0 -0
  111. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/docs/static/favicons/android-chrome-192x192.png +0 -0
  112. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/docs/static/favicons/android-chrome-512x512.png +0 -0
  113. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/docs/static/favicons/apple-touch-icon.png +0 -0
  114. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/docs/static/favicons/browserconfig.xml +0 -0
  115. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/docs/static/favicons/favicon-16x16.png +0 -0
  116. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/docs/static/favicons/favicon-32x32.png +0 -0
  117. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/docs/static/favicons/manifest.json +0 -0
  118. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/docs/static/favicons/mstile-150x150.png +0 -0
  119. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/docs/static/favicons/safari-pinned-tab.svg +0 -0
  120. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/docs/static/logo_blue.png +0 -0
  121. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/examples/async_batch.py +0 -0
  122. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/examples/create_entity.py +0 -0
  123. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/examples/edit_recipe_inputs.py +0 -0
  124. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/examples/upload_files.py +0 -0
  125. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/__init__.py +0 -0
  126. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/argument_parser/__init__.py +0 -0
  127. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/argument_parser/_is_enum.py +0 -0
  128. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/argument_parser/_is_namedtuple.py +0 -0
  129. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/argument_parser/argument_parser.py +0 -0
  130. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/argument_parser/case_convert.py +0 -0
  131. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/serialization/__init__.py +0 -0
  132. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/serialization/missing_sentry.py +0 -0
  133. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/serialization/opaque_key.py +0 -0
  134. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/serialization/serial_class.py +0 -0
  135. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/serialization/serial_union.py +0 -0
  136. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/serialization_util/__init__.py +0 -0
  137. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/serialization_util/_get_type_for_serialization.py +0 -0
  138. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/serialization_util/convert_to_snakecase.py +0 -0
  139. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/serialization_util/serialization_helpers.py +0 -0
  140. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/strenum_compat/__init__.py +0 -0
  141. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/strenum_compat/strenum_compat.py +0 -0
  142. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/__init__.py +0 -0
  143. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/__main__.py +0 -0
  144. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/actions_registry/__init__.py +0 -0
  145. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/actions_registry/__main__.py +0 -0
  146. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/actions_registry/emit_typescript.py +0 -0
  147. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/builder.py +0 -0
  148. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/config.py +0 -0
  149. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/emit_io_ts.py +0 -0
  150. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/emit_open_api.py +0 -0
  151. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/emit_open_api_util.py +0 -0
  152. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/emit_typescript.py +0 -0
  153. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/emit_typescript_util.py +0 -0
  154. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/load_types.py +0 -0
  155. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/open_api_util.py +0 -0
  156. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/parts/base.py.prepart +0 -0
  157. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/parts/base.ts.prepart +0 -0
  158. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/test.py +0 -0
  159. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/type_info/__main__.py +0 -0
  160. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/type_info/emit_type_info.py +0 -0
  161. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/util.py +0 -0
  162. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/value_spec/__init__.py +0 -0
  163. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/value_spec/__main__.py +0 -0
  164. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/value_spec/convert_type.py +0 -0
  165. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/value_spec/emit_python.py +0 -0
  166. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pkgs/type_spec/value_spec/types.py +0 -0
  167. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/pyproject.toml +0 -0
  168. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/setup.cfg +0 -0
  169. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/__init__.py +0 -0
  170. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/core/__init__.py +0 -0
  171. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/core/async_batch.py +0 -0
  172. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/core/file_upload.py +0 -0
  173. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/core/types.py +0 -0
  174. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/integration/__init__.py +0 -0
  175. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/integration/construct_client.py +0 -0
  176. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/integration/cron.py +0 -0
  177. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/integration/db/__init__.py +0 -0
  178. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/integration/db/connect.py +0 -0
  179. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/integration/entrypoint.py +0 -0
  180. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/integration/executors/__init__.py +0 -0
  181. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/integration/executors/script_executor.py +0 -0
  182. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/integration/job.py +0 -0
  183. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/integration/server.py +0 -0
  184. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/integration/types.py +0 -0
  185. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/py.typed +0 -0
  186. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/__init__.py +0 -0
  187. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/batch/__init__.py +0 -0
  188. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/chemical/__init__.py +0 -0
  189. {uncountablepythonsdk-0.0.37 → uncountablepythonsdk-0.0.39}/uncountable/types/api/entity/__init__.py +0 -0
  190. {uncountablepythonsdk-0.0.37/uncountable/types/api/field_options → uncountablepythonsdk-0.0.39/uncountable/types/api/equipment}/__init__.py +0 -0
  191. {uncountablepythonsdk-0.0.37/uncountable/types/api/id_source → uncountablepythonsdk-0.0.39/uncountable/types/api/field_options}/__init__.py +0 -0
  192. {uncountablepythonsdk-0.0.37/uncountable/types/api/input_groups → uncountablepythonsdk-0.0.39/uncountable/types/api/id_source}/__init__.py +0 -0
  193. {uncountablepythonsdk-0.0.37/uncountable/types/api/inputs → uncountablepythonsdk-0.0.39/uncountable/types/api/input_groups}/__init__.py +0 -0
  194. {uncountablepythonsdk-0.0.37/uncountable/types/api/material_families → uncountablepythonsdk-0.0.39/uncountable/types/api/inputs}/__init__.py +0 -0
  195. {uncountablepythonsdk-0.0.37/uncountable/types/api/outputs → uncountablepythonsdk-0.0.39/uncountable/types/api/material_families}/__init__.py +0 -0
  196. {uncountablepythonsdk-0.0.37/uncountable/types/api/permissions → uncountablepythonsdk-0.0.39/uncountable/types/api/outputs}/__init__.py +0 -0
  197. {uncountablepythonsdk-0.0.37/uncountable/types/api/project → uncountablepythonsdk-0.0.39/uncountable/types/api/permissions}/__init__.py +0 -0
  198. {uncountablepythonsdk-0.0.37/uncountable/types/api/recipe_links → uncountablepythonsdk-0.0.39/uncountable/types/api/project}/__init__.py +0 -0
  199. {uncountablepythonsdk-0.0.37/uncountable/types/api/recipe_metadata → uncountablepythonsdk-0.0.39/uncountable/types/api/recipe_links}/__init__.py +0 -0
  200. {uncountablepythonsdk-0.0.37/uncountable/types/api/recipes → uncountablepythonsdk-0.0.39/uncountable/types/api/recipe_metadata}/__init__.py +0 -0
  201. {uncountablepythonsdk-0.0.37/uncountable/types/api/triggers → uncountablepythonsdk-0.0.39/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.37
3
+ Version: 0.0.39
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.37
3
+ Version: 0.0.39
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
@@ -137,6 +137,8 @@ uncountable/types/api/entity/resolve_entity_ids.py
137
137
  uncountable/types/api/entity/set_values.py
138
138
  uncountable/types/api/entity/transition_entity_phase.py
139
139
  uncountable/types/api/entity/unlock_entity.py
140
+ uncountable/types/api/equipment/__init__.py
141
+ uncountable/types/api/equipment/associate_equipment_input.py
140
142
  uncountable/types/api/field_options/__init__.py
141
143
  uncountable/types/api/field_options/upsert_field_options.py
142
144
  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"""
@@ -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
 
@@ -60,6 +60,8 @@ HTTPRequest = HTTPPostRequest | HTTPGetRequest
60
60
  @dataclass(kw_only=True)
61
61
  class ClientConfig:
62
62
  allow_insecure_tls: bool = False
63
+ extra_headers: dict[str, str] | None = None
64
+ transform_request: typing.Callable[[requests.Request], requests.Request] | None = None
63
65
 
64
66
 
65
67
  OAUTH_REFRESH_WINDOW_SECONDS = 60 * 5
@@ -144,6 +146,7 @@ class Client(ClientMethods):
144
146
  _file_uploader: FileUploader
145
147
  _cfg: ClientConfig
146
148
  _oauth_bearer_token_cache: OAuthBearerTokenCache | None = None
149
+ _session: requests.Session
147
150
 
148
151
  def __init__(
149
152
  self,
@@ -156,6 +159,8 @@ class Client(ClientMethods):
156
159
  self._base_url = base_url
157
160
  self._file_uploader = FileUploader(self._base_url, self._auth_details)
158
161
  self._cfg = config or ClientConfig()
162
+ self._session = requests.Session()
163
+ self._session.verify = not self._cfg.allow_insecure_tls
159
164
 
160
165
  def _get_response_json(
161
166
  self, response: requests.Response, request_id: str
@@ -176,6 +181,15 @@ class Client(ClientMethods):
176
181
  except JSONDecodeError as e:
177
182
  raise SDKError("unable to process response", request_id=request_id) from e
178
183
 
184
+ def _send_request(self, request: requests.Request) -> requests.Response:
185
+ if self._cfg.extra_headers is not None:
186
+ request.headers = {**request.headers, **self._cfg.extra_headers}
187
+ if self._cfg.transform_request is not None:
188
+ request = self._cfg.transform_request(request)
189
+ prepared_request = request.prepare()
190
+ response = self._session.send(prepared_request)
191
+ return response
192
+
179
193
  def do_request(self, *, api_request: APIRequest, return_type: type[DT]) -> DT:
180
194
  request_id = str(uuid4())
181
195
  http_request = self._build_http_request(
@@ -183,21 +197,15 @@ class Client(ClientMethods):
183
197
  )
184
198
  match http_request:
185
199
  case HTTPGetRequest():
186
- response = requests.get(
187
- http_request.url,
188
- headers=http_request.headers,
189
- params=http_request.query_params,
190
- verify=not self._cfg.allow_insecure_tls,
191
- )
200
+ request = requests.Request("GET", http_request.url)
201
+ request.params = http_request.query_params
192
202
  case HTTPPostRequest():
193
- response = requests.post(
194
- http_request.url,
195
- headers=http_request.headers,
196
- data=http_request.body,
197
- verify=not self._cfg.allow_insecure_tls,
198
- )
203
+ request = requests.Request("POST", http_request.url)
204
+ request.data = http_request.body
199
205
  case _:
200
206
  typing.assert_never(http_request)
207
+ request.headers = http_request.headers
208
+ response = self._send_request(request)
201
209
  response_data = self._get_response_json(response, request_id=request_id)
202
210
  cached_parser = self._get_cached_parser(return_type)
203
211
  try:
@@ -220,15 +228,13 @@ class Client(ClientMethods):
220
228
  < OAUTH_REFRESH_WINDOW_SECONDS
221
229
  ):
222
230
  refresh_url = urljoin(self._base_url, "/token/get_bearer_token")
223
- response = requests.post(
224
- refresh_url,
225
- data={
226
- "client_secret": oauth_details.refresh_token,
227
- "scope": oauth_details.scope,
228
- "grant_type": "client_credentials",
229
- },
230
- verify=not self._cfg.allow_insecure_tls,
231
- )
231
+ request = requests.Request("POST", refresh_url)
232
+ request.data = {
233
+ "client_secret": oauth_details.refresh_token,
234
+ "scope": oauth_details.scope,
235
+ "grant_type": "client_credentials",
236
+ }
237
+ response = self._send_request(request)
232
238
  data = self._get_response_json(response, request_id=str(uuid4()))
233
239
  token_data = oauth_bearer_token_data_parser.parse_storage(data)
234
240
  self._oauth_bearer_token_cache = OAuthBearerTokenCache(
@@ -1,10 +1,11 @@
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
11
  from . import async_batch as async_batch_t
@@ -95,6 +96,7 @@ from . import workflows as workflows_t
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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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 as async_batch_t
12
+ from ... import base as base_t
13
+ from ... import identifier as 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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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