bluehive 0.1.0a18__tar.gz → 0.1.0a20__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.
Files changed (141) hide show
  1. bluehive-0.1.0a20/.release-please-manifest.json +3 -0
  2. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/CHANGELOG.md +27 -0
  3. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/PKG-INFO +2 -1
  4. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/pyproject.toml +11 -8
  5. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/requirements-dev.lock +62 -50
  6. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/requirements.lock +20 -19
  7. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_streaming.py +12 -10
  8. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_types.py +3 -2
  9. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_version.py +1 -1
  10. bluehive-0.1.0a18/.release-please-manifest.json +0 -3
  11. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/.gitignore +0 -0
  12. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/CONTRIBUTING.md +0 -0
  13. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/LICENSE +0 -0
  14. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/README.md +0 -0
  15. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/SECURITY.md +0 -0
  16. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/api.md +0 -0
  17. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/bin/check-release-environment +0 -0
  18. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/bin/publish-pypi +0 -0
  19. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/examples/.keep +0 -0
  20. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/noxfile.py +0 -0
  21. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/release-please-config.json +0 -0
  22. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/__init__.py +0 -0
  23. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_base_client.py +0 -0
  24. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_client.py +0 -0
  25. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_compat.py +0 -0
  26. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_constants.py +0 -0
  27. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_exceptions.py +0 -0
  28. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_files.py +0 -0
  29. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_models.py +0 -0
  30. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_qs.py +0 -0
  31. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_resource.py +0 -0
  32. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_response.py +0 -0
  33. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_utils/__init__.py +0 -0
  34. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_utils/_compat.py +0 -0
  35. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_utils/_datetime_parse.py +0 -0
  36. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_utils/_logs.py +0 -0
  37. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_utils/_proxy.py +0 -0
  38. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_utils/_reflection.py +0 -0
  39. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_utils/_resources_proxy.py +0 -0
  40. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_utils/_streams.py +0 -0
  41. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_utils/_sync.py +0 -0
  42. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_utils/_transform.py +0 -0
  43. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_utils/_typing.py +0 -0
  44. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/_utils/_utils.py +0 -0
  45. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/lib/.keep +0 -0
  46. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/py.typed +0 -0
  47. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/resources/__init__.py +0 -0
  48. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/resources/database.py +0 -0
  49. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/resources/employees.py +0 -0
  50. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/resources/employers/__init__.py +0 -0
  51. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/resources/employers/employers.py +0 -0
  52. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/resources/employers/service_bundles.py +0 -0
  53. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/resources/fax.py +0 -0
  54. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/resources/health.py +0 -0
  55. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/resources/hl7.py +0 -0
  56. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/resources/integrations.py +0 -0
  57. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/resources/orders.py +0 -0
  58. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/resources/providers.py +0 -0
  59. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/resources/version.py +0 -0
  60. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/__init__.py +0 -0
  61. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/database_check_health_response.py +0 -0
  62. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/employee_create_params.py +0 -0
  63. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/employee_create_response.py +0 -0
  64. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/employee_delete_response.py +0 -0
  65. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/employee_link_user_params.py +0 -0
  66. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/employee_link_user_response.py +0 -0
  67. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/employee_list_params.py +0 -0
  68. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/employee_list_response.py +0 -0
  69. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/employee_retrieve_response.py +0 -0
  70. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/employee_unlink_user_params.py +0 -0
  71. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/employee_unlink_user_response.py +0 -0
  72. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/employee_update_params.py +0 -0
  73. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/employee_update_response.py +0 -0
  74. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/employer_create_params.py +0 -0
  75. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/employer_create_response.py +0 -0
  76. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/employer_list_response.py +0 -0
  77. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/employer_retrieve_response.py +0 -0
  78. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/employers/__init__.py +0 -0
  79. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/employers/service_bundle_create_params.py +0 -0
  80. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/employers/service_bundle_create_response.py +0 -0
  81. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/employers/service_bundle_list_response.py +0 -0
  82. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/employers/service_bundle_retrieve_response.py +0 -0
  83. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/employers/service_bundle_update_params.py +0 -0
  84. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/employers/service_bundle_update_response.py +0 -0
  85. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/fax_list_providers_response.py +0 -0
  86. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/fax_retrieve_status_response.py +0 -0
  87. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/fax_send_params.py +0 -0
  88. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/fax_send_response.py +0 -0
  89. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/health_check_response.py +0 -0
  90. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/hl7_send_results_params.py +0 -0
  91. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/hl7_send_results_response.py +0 -0
  92. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/integration_check_active_response.py +0 -0
  93. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/integration_list_response.py +0 -0
  94. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/order_create_params.py +0 -0
  95. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/order_create_response.py +0 -0
  96. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/order_retrieve_response.py +0 -0
  97. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/order_retrieve_results_params.py +0 -0
  98. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/order_retrieve_results_response.py +0 -0
  99. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/order_schedule_appointment_params.py +0 -0
  100. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/order_schedule_appointment_response.py +0 -0
  101. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/order_send_for_employee_params.py +0 -0
  102. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/order_send_for_employee_response.py +0 -0
  103. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/order_update_params.py +0 -0
  104. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/order_update_response.py +0 -0
  105. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/order_update_status_params.py +0 -0
  106. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/order_update_status_response.py +0 -0
  107. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/order_upload_results_params.py +0 -0
  108. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/order_upload_results_response.py +0 -0
  109. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/provider_lookup_params.py +0 -0
  110. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/provider_lookup_response.py +0 -0
  111. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/src/bluehive/types/version_retrieve_response.py +0 -0
  112. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/__init__.py +0 -0
  113. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/api_resources/__init__.py +0 -0
  114. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/api_resources/employers/__init__.py +0 -0
  115. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/api_resources/employers/test_service_bundles.py +0 -0
  116. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/api_resources/test_database.py +0 -0
  117. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/api_resources/test_employees.py +0 -0
  118. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/api_resources/test_employers.py +0 -0
  119. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/api_resources/test_fax.py +0 -0
  120. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/api_resources/test_health.py +0 -0
  121. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/api_resources/test_hl7.py +0 -0
  122. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/api_resources/test_integrations.py +0 -0
  123. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/api_resources/test_orders.py +0 -0
  124. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/api_resources/test_providers.py +0 -0
  125. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/api_resources/test_version.py +0 -0
  126. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/conftest.py +0 -0
  127. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/sample_file.txt +0 -0
  128. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/test_client.py +0 -0
  129. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/test_deepcopy.py +0 -0
  130. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/test_extract_files.py +0 -0
  131. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/test_files.py +0 -0
  132. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/test_models.py +0 -0
  133. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/test_qs.py +0 -0
  134. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/test_required_args.py +0 -0
  135. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/test_response.py +0 -0
  136. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/test_streaming.py +0 -0
  137. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/test_transform.py +0 -0
  138. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/test_utils/test_datetime_parse.py +0 -0
  139. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/test_utils/test_proxy.py +0 -0
  140. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/test_utils/test_typing.py +0 -0
  141. {bluehive-0.1.0a18 → bluehive-0.1.0a20}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.1.0-alpha.20"
3
+ }
@@ -1,5 +1,32 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.20 (2025-12-09)
4
+
5
+ Full Changelog: [v0.1.0-alpha.19...v0.1.0-alpha.20](https://github.com/bluehive-health/bluehive-sdk-python/compare/v0.1.0-alpha.19...v0.1.0-alpha.20)
6
+
7
+ ### Bug Fixes
8
+
9
+ * **types:** allow pyright to infer TypedDict types within SequenceNotStr ([6751a7b](https://github.com/bluehive-health/bluehive-sdk-python/commit/6751a7bedafce25c6c29de3a266baf78ee70da28))
10
+
11
+
12
+ ### Chores
13
+
14
+ * update lockfile ([978ce50](https://github.com/bluehive-health/bluehive-sdk-python/commit/978ce50efcbed885fc4e51f84e99e5bdf4b7122d))
15
+
16
+ ## 0.1.0-alpha.19 (2025-11-28)
17
+
18
+ Full Changelog: [v0.1.0-alpha.18...v0.1.0-alpha.19](https://github.com/bluehive-health/bluehive-sdk-python/compare/v0.1.0-alpha.18...v0.1.0-alpha.19)
19
+
20
+ ### Bug Fixes
21
+
22
+ * ensure streams are always closed ([199cb37](https://github.com/bluehive-health/bluehive-sdk-python/commit/199cb37d2f1452bac63db30f1a958c8f8810873f))
23
+
24
+
25
+ ### Chores
26
+
27
+ * add Python 3.14 classifier and testing ([cf2cf5e](https://github.com/bluehive-health/bluehive-sdk-python/commit/cf2cf5eb4f9bf42a039e6d496ec7964b3afca0d1))
28
+ * **deps:** mypy 1.18.1 has a regression, pin to 1.17 ([67ddc37](https://github.com/bluehive-health/bluehive-sdk-python/commit/67ddc37871be48e2ca0b59486d3bab5b6786e93b))
29
+
3
30
  ## 0.1.0-alpha.18 (2025-11-17)
4
31
 
5
32
  Full Changelog: [v0.1.0-alpha.17...v0.1.0-alpha.18](https://github.com/bluehive-health/bluehive-sdk-python/compare/v0.1.0-alpha.17...v0.1.0-alpha.18)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bluehive
3
- Version: 0.1.0a18
3
+ Version: 0.1.0a20
4
4
  Summary: The official Python library for the bluehive API
5
5
  Project-URL: Homepage, https://github.com/bluehive-health/bluehive-sdk-python
6
6
  Project-URL: Repository, https://github.com/bluehive-health/bluehive-sdk-python
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3.10
18
18
  Classifier: Programming Language :: Python :: 3.11
19
19
  Classifier: Programming Language :: Python :: 3.12
20
20
  Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Programming Language :: Python :: 3.14
21
22
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
23
  Classifier: Typing :: Typed
23
24
  Requires-Python: >=3.9
@@ -1,20 +1,22 @@
1
1
  [project]
2
2
  name = "bluehive"
3
- version = "0.1.0-alpha.18"
3
+ version = "0.1.0-alpha.20"
4
4
  description = "The official Python library for the bluehive API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
7
7
  authors = [
8
8
  { name = "BlueHive", email = "wreiske@bluehive.com" },
9
9
  ]
10
+
10
11
  dependencies = [
11
- "httpx>=0.23.0, <1",
12
- "pydantic>=1.9.0, <3",
13
- "typing-extensions>=4.10, <5",
14
- "anyio>=3.5.0, <5",
15
- "distro>=1.7.0, <2",
16
- "sniffio",
12
+ "httpx>=0.23.0, <1",
13
+ "pydantic>=1.9.0, <3",
14
+ "typing-extensions>=4.10, <5",
15
+ "anyio>=3.5.0, <5",
16
+ "distro>=1.7.0, <2",
17
+ "sniffio",
17
18
  ]
19
+
18
20
  requires-python = ">= 3.9"
19
21
  classifiers = [
20
22
  "Typing :: Typed",
@@ -24,6 +26,7 @@ classifiers = [
24
26
  "Programming Language :: Python :: 3.11",
25
27
  "Programming Language :: Python :: 3.12",
26
28
  "Programming Language :: Python :: 3.13",
29
+ "Programming Language :: Python :: 3.14",
27
30
  "Operating System :: OS Independent",
28
31
  "Operating System :: POSIX",
29
32
  "Operating System :: MacOS",
@@ -45,7 +48,7 @@ managed = true
45
48
  # version pins are in requirements-dev.lock
46
49
  dev-dependencies = [
47
50
  "pyright==1.1.399",
48
- "mypy",
51
+ "mypy==1.17",
49
52
  "respx",
50
53
  "pytest",
51
54
  "pytest-asyncio",
@@ -12,40 +12,45 @@
12
12
  -e file:.
13
13
  aiohappyeyeballs==2.6.1
14
14
  # via aiohttp
15
- aiohttp==3.12.8
15
+ aiohttp==3.13.2
16
16
  # via bluehive
17
17
  # via httpx-aiohttp
18
- aiosignal==1.3.2
18
+ aiosignal==1.4.0
19
19
  # via aiohttp
20
- annotated-types==0.6.0
20
+ annotated-types==0.7.0
21
21
  # via pydantic
22
- anyio==4.4.0
22
+ anyio==4.12.0
23
23
  # via bluehive
24
24
  # via httpx
25
- argcomplete==3.1.2
25
+ argcomplete==3.6.3
26
26
  # via nox
27
27
  async-timeout==5.0.1
28
28
  # via aiohttp
29
- attrs==25.3.0
29
+ attrs==25.4.0
30
30
  # via aiohttp
31
- certifi==2023.7.22
31
+ # via nox
32
+ backports-asyncio-runner==1.2.0
33
+ # via pytest-asyncio
34
+ certifi==2025.11.12
32
35
  # via httpcore
33
36
  # via httpx
34
- colorlog==6.7.0
37
+ colorlog==6.10.1
38
+ # via nox
39
+ dependency-groups==1.3.1
35
40
  # via nox
36
- dirty-equals==0.6.0
37
- distlib==0.3.7
41
+ dirty-equals==0.11
42
+ distlib==0.4.0
38
43
  # via virtualenv
39
- distro==1.8.0
44
+ distro==1.9.0
40
45
  # via bluehive
41
- exceptiongroup==1.2.2
46
+ exceptiongroup==1.3.1
42
47
  # via anyio
43
48
  # via pytest
44
- execnet==2.1.1
49
+ execnet==2.1.2
45
50
  # via pytest-xdist
46
- filelock==3.12.4
51
+ filelock==3.19.1
47
52
  # via virtualenv
48
- frozenlist==1.6.2
53
+ frozenlist==1.8.0
49
54
  # via aiohttp
50
55
  # via aiosignal
51
56
  h11==0.16.0
@@ -58,80 +63,87 @@ httpx==0.28.1
58
63
  # via respx
59
64
  httpx-aiohttp==0.1.9
60
65
  # via bluehive
61
- idna==3.4
66
+ humanize==4.13.0
67
+ # via nox
68
+ idna==3.11
62
69
  # via anyio
63
70
  # via httpx
64
71
  # via yarl
65
- importlib-metadata==7.0.0
66
- iniconfig==2.0.0
72
+ importlib-metadata==8.7.0
73
+ iniconfig==2.1.0
67
74
  # via pytest
68
75
  markdown-it-py==3.0.0
69
76
  # via rich
70
77
  mdurl==0.1.2
71
78
  # via markdown-it-py
72
- multidict==6.4.4
79
+ multidict==6.7.0
73
80
  # via aiohttp
74
81
  # via yarl
75
- mypy==1.14.1
76
- mypy-extensions==1.0.0
82
+ mypy==1.17.0
83
+ mypy-extensions==1.1.0
77
84
  # via mypy
78
- nodeenv==1.8.0
85
+ nodeenv==1.9.1
79
86
  # via pyright
80
- nox==2023.4.22
81
- packaging==23.2
87
+ nox==2025.11.12
88
+ packaging==25.0
89
+ # via dependency-groups
82
90
  # via nox
83
91
  # via pytest
84
- platformdirs==3.11.0
92
+ pathspec==0.12.1
93
+ # via mypy
94
+ platformdirs==4.4.0
85
95
  # via virtualenv
86
- pluggy==1.5.0
96
+ pluggy==1.6.0
87
97
  # via pytest
88
- propcache==0.3.1
98
+ propcache==0.4.1
89
99
  # via aiohttp
90
100
  # via yarl
91
- pydantic==2.11.9
101
+ pydantic==2.12.5
92
102
  # via bluehive
93
- pydantic-core==2.33.2
103
+ pydantic-core==2.41.5
94
104
  # via pydantic
95
- pygments==2.18.0
105
+ pygments==2.19.2
106
+ # via pytest
96
107
  # via rich
97
108
  pyright==1.1.399
98
- pytest==8.3.3
109
+ pytest==8.4.2
99
110
  # via pytest-asyncio
100
111
  # via pytest-xdist
101
- pytest-asyncio==0.24.0
102
- pytest-xdist==3.7.0
103
- python-dateutil==2.8.2
112
+ pytest-asyncio==1.2.0
113
+ pytest-xdist==3.8.0
114
+ python-dateutil==2.9.0.post0
104
115
  # via time-machine
105
- pytz==2023.3.post1
106
- # via dirty-equals
107
116
  respx==0.22.0
108
- rich==13.7.1
109
- ruff==0.9.4
110
- setuptools==68.2.2
111
- # via nodeenv
112
- six==1.16.0
117
+ rich==14.2.0
118
+ ruff==0.14.7
119
+ six==1.17.0
113
120
  # via python-dateutil
114
- sniffio==1.3.0
115
- # via anyio
121
+ sniffio==1.3.1
116
122
  # via bluehive
117
- time-machine==2.9.0
118
- tomli==2.0.2
123
+ time-machine==2.19.0
124
+ tomli==2.3.0
125
+ # via dependency-groups
119
126
  # via mypy
127
+ # via nox
120
128
  # via pytest
121
- typing-extensions==4.12.2
129
+ typing-extensions==4.15.0
130
+ # via aiosignal
122
131
  # via anyio
123
132
  # via bluehive
133
+ # via exceptiongroup
124
134
  # via multidict
125
135
  # via mypy
126
136
  # via pydantic
127
137
  # via pydantic-core
128
138
  # via pyright
139
+ # via pytest-asyncio
129
140
  # via typing-inspection
130
- typing-inspection==0.4.1
141
+ # via virtualenv
142
+ typing-inspection==0.4.2
131
143
  # via pydantic
132
- virtualenv==20.24.5
144
+ virtualenv==20.35.4
133
145
  # via nox
134
- yarl==1.20.0
146
+ yarl==1.22.0
135
147
  # via aiohttp
136
- zipp==3.17.0
148
+ zipp==3.23.0
137
149
  # via importlib-metadata
@@ -12,28 +12,28 @@
12
12
  -e file:.
13
13
  aiohappyeyeballs==2.6.1
14
14
  # via aiohttp
15
- aiohttp==3.12.8
15
+ aiohttp==3.13.2
16
16
  # via bluehive
17
17
  # via httpx-aiohttp
18
- aiosignal==1.3.2
18
+ aiosignal==1.4.0
19
19
  # via aiohttp
20
- annotated-types==0.6.0
20
+ annotated-types==0.7.0
21
21
  # via pydantic
22
- anyio==4.4.0
22
+ anyio==4.12.0
23
23
  # via bluehive
24
24
  # via httpx
25
25
  async-timeout==5.0.1
26
26
  # via aiohttp
27
- attrs==25.3.0
27
+ attrs==25.4.0
28
28
  # via aiohttp
29
- certifi==2023.7.22
29
+ certifi==2025.11.12
30
30
  # via httpcore
31
31
  # via httpx
32
- distro==1.8.0
32
+ distro==1.9.0
33
33
  # via bluehive
34
- exceptiongroup==1.2.2
34
+ exceptiongroup==1.3.1
35
35
  # via anyio
36
- frozenlist==1.6.2
36
+ frozenlist==1.8.0
37
37
  # via aiohttp
38
38
  # via aiosignal
39
39
  h11==0.16.0
@@ -45,31 +45,32 @@ httpx==0.28.1
45
45
  # via httpx-aiohttp
46
46
  httpx-aiohttp==0.1.9
47
47
  # via bluehive
48
- idna==3.4
48
+ idna==3.11
49
49
  # via anyio
50
50
  # via httpx
51
51
  # via yarl
52
- multidict==6.4.4
52
+ multidict==6.7.0
53
53
  # via aiohttp
54
54
  # via yarl
55
- propcache==0.3.1
55
+ propcache==0.4.1
56
56
  # via aiohttp
57
57
  # via yarl
58
- pydantic==2.11.9
58
+ pydantic==2.12.5
59
59
  # via bluehive
60
- pydantic-core==2.33.2
60
+ pydantic-core==2.41.5
61
61
  # via pydantic
62
- sniffio==1.3.0
63
- # via anyio
62
+ sniffio==1.3.1
64
63
  # via bluehive
65
- typing-extensions==4.12.2
64
+ typing-extensions==4.15.0
65
+ # via aiosignal
66
66
  # via anyio
67
67
  # via bluehive
68
+ # via exceptiongroup
68
69
  # via multidict
69
70
  # via pydantic
70
71
  # via pydantic-core
71
72
  # via typing-inspection
72
- typing-inspection==0.4.1
73
+ typing-inspection==0.4.2
73
74
  # via pydantic
74
- yarl==1.20.0
75
+ yarl==1.22.0
75
76
  # via aiohttp
@@ -54,11 +54,12 @@ class Stream(Generic[_T]):
54
54
  process_data = self._client._process_response_data
55
55
  iterator = self._iter_events()
56
56
 
57
- for sse in iterator:
58
- yield process_data(data=sse.json(), cast_to=cast_to, response=response)
59
-
60
- # As we might not fully consume the response stream, we need to close it explicitly
61
- response.close()
57
+ try:
58
+ for sse in iterator:
59
+ yield process_data(data=sse.json(), cast_to=cast_to, response=response)
60
+ finally:
61
+ # Ensure the response is closed even if the consumer doesn't read all data
62
+ response.close()
62
63
 
63
64
  def __enter__(self) -> Self:
64
65
  return self
@@ -117,11 +118,12 @@ class AsyncStream(Generic[_T]):
117
118
  process_data = self._client._process_response_data
118
119
  iterator = self._iter_events()
119
120
 
120
- async for sse in iterator:
121
- yield process_data(data=sse.json(), cast_to=cast_to, response=response)
122
-
123
- # As we might not fully consume the response stream, we need to close it explicitly
124
- await response.aclose()
121
+ try:
122
+ async for sse in iterator:
123
+ yield process_data(data=sse.json(), cast_to=cast_to, response=response)
124
+ finally:
125
+ # Ensure the response is closed even if the consumer doesn't read all data
126
+ await response.aclose()
125
127
 
126
128
  async def __aenter__(self) -> Self:
127
129
  return self
@@ -243,6 +243,9 @@ _T_co = TypeVar("_T_co", covariant=True)
243
243
  if TYPE_CHECKING:
244
244
  # This works because str.__contains__ does not accept object (either in typeshed or at runtime)
245
245
  # https://github.com/hauntsaninja/useful_types/blob/5e9710f3875107d068e7679fd7fec9cfab0eff3b/useful_types/__init__.py#L285
246
+ #
247
+ # Note: index() and count() methods are intentionally omitted to allow pyright to properly
248
+ # infer TypedDict types when dict literals are used in lists assigned to SequenceNotStr.
246
249
  class SequenceNotStr(Protocol[_T_co]):
247
250
  @overload
248
251
  def __getitem__(self, index: SupportsIndex, /) -> _T_co: ...
@@ -251,8 +254,6 @@ if TYPE_CHECKING:
251
254
  def __contains__(self, value: object, /) -> bool: ...
252
255
  def __len__(self) -> int: ...
253
256
  def __iter__(self) -> Iterator[_T_co]: ...
254
- def index(self, value: Any, start: int = 0, stop: int = ..., /) -> int: ...
255
- def count(self, value: Any, /) -> int: ...
256
257
  def __reversed__(self) -> Iterator[_T_co]: ...
257
258
  else:
258
259
  # just point this to a normal `Sequence` at runtime to avoid having to special case
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "bluehive"
4
- __version__ = "0.1.0-alpha.18" # x-release-please-version
4
+ __version__ = "0.1.0-alpha.20" # x-release-please-version
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.1.0-alpha.18"
3
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes