bluehive 0.1.0a9__tar.gz → 0.1.0a11__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 (144) hide show
  1. bluehive-0.1.0a11/.release-please-manifest.json +3 -0
  2. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/CHANGELOG.md +28 -0
  3. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/PKG-INFO +3 -10
  4. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/README.md +2 -9
  5. bluehive-0.1.0a11/api.md +175 -0
  6. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/pyproject.toml +53 -2
  7. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/requirements-dev.lock +5 -3
  8. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/requirements.lock +5 -2
  9. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/__init__.py +3 -1
  10. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/_base_client.py +12 -12
  11. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/_client.py +50 -9
  12. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/_compat.py +48 -48
  13. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/_models.py +50 -44
  14. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/_qs.py +7 -7
  15. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/_types.py +53 -12
  16. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/_utils/__init__.py +9 -2
  17. bluehive-0.1.0a11/src/bluehive/_utils/_compat.py +45 -0
  18. bluehive-0.1.0a11/src/bluehive/_utils/_datetime_parse.py +136 -0
  19. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/_utils/_transform.py +13 -3
  20. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/_utils/_typing.py +6 -1
  21. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/_utils/_utils.py +4 -5
  22. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/_version.py +1 -1
  23. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/resources/__init__.py +70 -0
  24. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/resources/database.py +3 -3
  25. bluehive-0.1.0a11/src/bluehive/resources/employees.py +836 -0
  26. bluehive-0.1.0a11/src/bluehive/resources/employers/__init__.py +33 -0
  27. bluehive-0.1.0a11/src/bluehive/resources/employers/employers.py +405 -0
  28. bluehive-0.1.0a11/src/bluehive/resources/employers/service_bundles.py +554 -0
  29. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/resources/fax.py +13 -13
  30. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/resources/health.py +3 -3
  31. bluehive-0.1.0a11/src/bluehive/resources/hl7.py +184 -0
  32. bluehive-0.1.0a11/src/bluehive/resources/integrations.py +248 -0
  33. bluehive-0.1.0a11/src/bluehive/resources/orders.py +1502 -0
  34. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/resources/providers.py +11 -11
  35. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/resources/version.py +3 -3
  36. bluehive-0.1.0a11/src/bluehive/types/__init__.py +48 -0
  37. bluehive-0.1.0a11/src/bluehive/types/employee_create_params.py +65 -0
  38. bluehive-0.1.0a11/src/bluehive/types/employee_create_response.py +16 -0
  39. bluehive-0.1.0a11/src/bluehive/types/employee_delete_response.py +11 -0
  40. bluehive-0.1.0a11/src/bluehive/types/employee_link_user_params.py +18 -0
  41. bluehive-0.1.0a11/src/bluehive/types/employee_link_user_response.py +16 -0
  42. bluehive-0.1.0a11/src/bluehive/types/employee_list_params.py +20 -0
  43. bluehive-0.1.0a11/src/bluehive/types/employee_list_response.py +115 -0
  44. bluehive-0.1.0a11/src/bluehive/types/employee_retrieve_response.py +112 -0
  45. bluehive-0.1.0a11/src/bluehive/types/employee_unlink_user_params.py +17 -0
  46. bluehive-0.1.0a11/src/bluehive/types/employee_unlink_user_response.py +11 -0
  47. bluehive-0.1.0a11/src/bluehive/types/employee_update_params.py +67 -0
  48. bluehive-0.1.0a11/src/bluehive/types/employee_update_response.py +11 -0
  49. bluehive-0.1.0a11/src/bluehive/types/employer_create_params.py +62 -0
  50. bluehive-0.1.0a11/src/bluehive/types/employer_create_response.py +33 -0
  51. bluehive-0.1.0a11/src/bluehive/types/employer_list_response.py +8 -0
  52. bluehive-0.1.0a11/src/bluehive/types/employer_retrieve_response.py +8 -0
  53. bluehive-0.1.0a11/src/bluehive/types/employers/__init__.py +10 -0
  54. bluehive-0.1.0a11/src/bluehive/types/employers/service_bundle_create_params.py +21 -0
  55. bluehive-0.1.0a11/src/bluehive/types/employers/service_bundle_create_response.py +29 -0
  56. bluehive-0.1.0a11/src/bluehive/types/employers/service_bundle_list_response.py +33 -0
  57. bluehive-0.1.0a11/src/bluehive/types/employers/service_bundle_retrieve_response.py +29 -0
  58. bluehive-0.1.0a11/src/bluehive/types/employers/service_bundle_update_params.py +23 -0
  59. bluehive-0.1.0a11/src/bluehive/types/employers/service_bundle_update_response.py +29 -0
  60. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/types/fax_retrieve_status_response.py +2 -2
  61. bluehive-0.1.0a11/src/bluehive/types/hl7_send_results_params.py +28 -0
  62. bluehive-0.1.0a11/src/bluehive/types/hl7_send_results_response.py +7 -0
  63. bluehive-0.1.0a11/src/bluehive/types/integration_check_active_response.py +9 -0
  64. bluehive-0.1.0a11/src/bluehive/types/integration_list_response.py +21 -0
  65. bluehive-0.1.0a11/src/bluehive/types/order_create_params.py +357 -0
  66. bluehive-0.1.0a11/src/bluehive/types/order_create_response.py +45 -0
  67. bluehive-0.1.0a11/src/bluehive/types/order_retrieve_response.py +17 -0
  68. bluehive-0.1.0a11/src/bluehive/types/order_retrieve_results_params.py +25 -0
  69. bluehive-0.1.0a11/src/bluehive/types/order_retrieve_results_response.py +56 -0
  70. bluehive-0.1.0a11/src/bluehive/types/order_schedule_appointment_params.py +56 -0
  71. bluehive-0.1.0a11/src/bluehive/types/order_schedule_appointment_response.py +11 -0
  72. bluehive-0.1.0a11/src/bluehive/types/order_send_for_employee_params.py +59 -0
  73. bluehive-0.1.0a11/src/bluehive/types/order_send_for_employee_response.py +41 -0
  74. bluehive-0.1.0a11/src/bluehive/types/order_update_params.py +35 -0
  75. bluehive-0.1.0a11/src/bluehive/types/order_update_response.py +22 -0
  76. bluehive-0.1.0a11/src/bluehive/types/order_update_status_params.py +17 -0
  77. bluehive-0.1.0a11/src/bluehive/types/order_update_status_response.py +13 -0
  78. bluehive-0.1.0a11/src/bluehive/types/order_upload_results_params.py +36 -0
  79. bluehive-0.1.0a11/src/bluehive/types/order_upload_results_response.py +13 -0
  80. bluehive-0.1.0a11/tests/api_resources/employers/__init__.py +1 -0
  81. bluehive-0.1.0a11/tests/api_resources/employers/test_service_bundles.py +595 -0
  82. bluehive-0.1.0a11/tests/api_resources/test_employees.py +754 -0
  83. bluehive-0.1.0a11/tests/api_resources/test_employers.py +370 -0
  84. bluehive-0.1.0a11/tests/api_resources/test_hl7.py +121 -0
  85. bluehive-0.1.0a11/tests/api_resources/test_integrations.py +184 -0
  86. bluehive-0.1.0a11/tests/api_resources/test_orders.py +1768 -0
  87. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/tests/test_client.py +6 -47
  88. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/tests/test_models.py +24 -24
  89. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/tests/test_transform.py +17 -10
  90. bluehive-0.1.0a11/tests/test_utils/test_datetime_parse.py +110 -0
  91. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/tests/utils.py +13 -5
  92. bluehive-0.1.0a9/.release-please-manifest.json +0 -3
  93. bluehive-0.1.0a9/api.md +0 -61
  94. bluehive-0.1.0a9/mypy.ini +0 -50
  95. bluehive-0.1.0a9/src/bluehive/types/__init__.py +0 -13
  96. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/.gitignore +0 -0
  97. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/CONTRIBUTING.md +0 -0
  98. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/LICENSE +0 -0
  99. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/SECURITY.md +0 -0
  100. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/bin/check-release-environment +0 -0
  101. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/bin/publish-pypi +0 -0
  102. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/examples/.keep +0 -0
  103. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/noxfile.py +0 -0
  104. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/release-please-config.json +0 -0
  105. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/_constants.py +0 -0
  106. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/_exceptions.py +0 -0
  107. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/_files.py +0 -0
  108. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/_resource.py +0 -0
  109. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/_response.py +0 -0
  110. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/_streaming.py +0 -0
  111. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/_utils/_logs.py +0 -0
  112. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/_utils/_proxy.py +0 -0
  113. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/_utils/_reflection.py +0 -0
  114. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/_utils/_resources_proxy.py +0 -0
  115. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/_utils/_streams.py +0 -0
  116. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/_utils/_sync.py +0 -0
  117. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/lib/.keep +0 -0
  118. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/py.typed +0 -0
  119. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/types/database_check_health_response.py +0 -0
  120. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/types/fax_list_providers_response.py +0 -0
  121. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/types/fax_send_params.py +0 -0
  122. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/types/fax_send_response.py +0 -0
  123. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/types/health_check_response.py +0 -0
  124. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/types/provider_lookup_params.py +0 -0
  125. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/types/provider_lookup_response.py +0 -0
  126. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/src/bluehive/types/version_retrieve_response.py +0 -0
  127. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/tests/__init__.py +0 -0
  128. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/tests/api_resources/__init__.py +0 -0
  129. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/tests/api_resources/test_database.py +0 -0
  130. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/tests/api_resources/test_fax.py +0 -0
  131. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/tests/api_resources/test_health.py +0 -0
  132. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/tests/api_resources/test_providers.py +0 -0
  133. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/tests/api_resources/test_version.py +0 -0
  134. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/tests/conftest.py +0 -0
  135. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/tests/sample_file.txt +0 -0
  136. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/tests/test_deepcopy.py +0 -0
  137. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/tests/test_extract_files.py +0 -0
  138. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/tests/test_files.py +0 -0
  139. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/tests/test_qs.py +0 -0
  140. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/tests/test_required_args.py +0 -0
  141. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/tests/test_response.py +0 -0
  142. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/tests/test_streaming.py +0 -0
  143. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/tests/test_utils/test_proxy.py +0 -0
  144. {bluehive-0.1.0a9 → bluehive-0.1.0a11}/tests/test_utils/test_typing.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.1.0-alpha.11"
3
+ }
@@ -1,5 +1,33 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.11 (2025-10-05)
4
+
5
+ Full Changelog: [v0.1.0-alpha.10...v0.1.0-alpha.11](https://github.com/bluehive-health/bluehive-sdk-python/compare/v0.1.0-alpha.10...v0.1.0-alpha.11)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([779bcbd](https://github.com/bluehive-health/bluehive-sdk-python/commit/779bcbda462b257321bd3d0d07a9b2b5cef4cd2e))
10
+
11
+ ## 0.1.0-alpha.10 (2025-10-05)
12
+
13
+ Full Changelog: [v0.1.0-alpha.9...v0.1.0-alpha.10](https://github.com/bluehive-health/bluehive-sdk-python/compare/v0.1.0-alpha.9...v0.1.0-alpha.10)
14
+
15
+ ### Features
16
+
17
+ * **api:** api update ([9d744ca](https://github.com/bluehive-health/bluehive-sdk-python/commit/9d744caeab82a0ecedbbc952049c66dd3d17108f))
18
+ * improve future compat with pydantic v3 ([6bfbee9](https://github.com/bluehive-health/bluehive-sdk-python/commit/6bfbee94feae482a33366bc32249e0be8fb87a18))
19
+ * **types:** replace List[str] with SequenceNotStr in params ([4626a19](https://github.com/bluehive-health/bluehive-sdk-python/commit/4626a19ca1b46dd544b7f404519c30d4c595cd5d))
20
+
21
+
22
+ ### Chores
23
+
24
+ * do not install brew dependencies in ./scripts/bootstrap by default ([4339c62](https://github.com/bluehive-health/bluehive-sdk-python/commit/4339c62ca013f8c1f3039011dc9433c04ee16e8b))
25
+ * **internal:** add Sequence related utils ([8cd442c](https://github.com/bluehive-health/bluehive-sdk-python/commit/8cd442cfa017bb5b8907c9e0a1828c8162629c0f))
26
+ * **internal:** move mypy configurations to `pyproject.toml` file ([0d4c86c](https://github.com/bluehive-health/bluehive-sdk-python/commit/0d4c86c1da12bf297fac299bbf36b7489d0e1421))
27
+ * **internal:** update pydantic dependency ([4d7dd02](https://github.com/bluehive-health/bluehive-sdk-python/commit/4d7dd0265c301da40e4c41761287e9ead841261a))
28
+ * **tests:** simplify `get_platform` test ([dcf2239](https://github.com/bluehive-health/bluehive-sdk-python/commit/dcf223975077ef67c796bf1c5eeb9374b8958771))
29
+ * **types:** change optional parameter type from NotGiven to Omit ([6ae1819](https://github.com/bluehive-health/bluehive-sdk-python/commit/6ae18194926e69fc615d51add1aadf8808842267))
30
+
3
31
  ## 0.1.0-alpha.9 (2025-08-27)
4
32
 
5
33
  Full Changelog: [v0.1.0-alpha.8...v0.1.0-alpha.9](https://github.com/bluehive-health/bluehive-sdk-python/compare/v0.1.0-alpha.8...v0.1.0-alpha.9)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bluehive
3
- Version: 0.1.0a9
3
+ Version: 0.1.0a11
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
@@ -60,12 +60,9 @@ pip install --pre bluehive
60
60
  The full API of this library can be found in [api.md](https://github.com/bluehive-health/bluehive-sdk-python/tree/main/api.md).
61
61
 
62
62
  ```python
63
- import os
64
63
  from bluehive import BlueHive
65
64
 
66
- client = BlueHive(
67
- api_key=os.environ.get("BLUEHIVE_API_KEY"), # This is the default and can be omitted
68
- )
65
+ client = BlueHive()
69
66
 
70
67
  response = client.health.check()
71
68
  print(response.status)
@@ -81,13 +78,10 @@ so that your API Key is not stored in source control.
81
78
  Simply import `AsyncBlueHive` instead of `BlueHive` and use `await` with each API call:
82
79
 
83
80
  ```python
84
- import os
85
81
  import asyncio
86
82
  from bluehive import AsyncBlueHive
87
83
 
88
- client = AsyncBlueHive(
89
- api_key=os.environ.get("BLUEHIVE_API_KEY"), # This is the default and can be omitted
90
- )
84
+ client = AsyncBlueHive()
91
85
 
92
86
 
93
87
  async def main() -> None:
@@ -121,7 +115,6 @@ from bluehive import AsyncBlueHive
121
115
 
122
116
  async def main() -> None:
123
117
  async with AsyncBlueHive(
124
- api_key="My API Key",
125
118
  http_client=DefaultAioHttpClient(),
126
119
  ) as client:
127
120
  response = await client.health.check()
@@ -25,12 +25,9 @@ pip install --pre bluehive
25
25
  The full API of this library can be found in [api.md](api.md).
26
26
 
27
27
  ```python
28
- import os
29
28
  from bluehive import BlueHive
30
29
 
31
- client = BlueHive(
32
- api_key=os.environ.get("BLUEHIVE_API_KEY"), # This is the default and can be omitted
33
- )
30
+ client = BlueHive()
34
31
 
35
32
  response = client.health.check()
36
33
  print(response.status)
@@ -46,13 +43,10 @@ so that your API Key is not stored in source control.
46
43
  Simply import `AsyncBlueHive` instead of `BlueHive` and use `await` with each API call:
47
44
 
48
45
  ```python
49
- import os
50
46
  import asyncio
51
47
  from bluehive import AsyncBlueHive
52
48
 
53
- client = AsyncBlueHive(
54
- api_key=os.environ.get("BLUEHIVE_API_KEY"), # This is the default and can be omitted
55
- )
49
+ client = AsyncBlueHive()
56
50
 
57
51
 
58
52
  async def main() -> None:
@@ -86,7 +80,6 @@ from bluehive import AsyncBlueHive
86
80
 
87
81
  async def main() -> None:
88
82
  async with AsyncBlueHive(
89
- api_key="My API Key",
90
83
  http_client=DefaultAioHttpClient(),
91
84
  ) as client:
92
85
  response = await client.health.check()
@@ -0,0 +1,175 @@
1
+ # Health
2
+
3
+ Types:
4
+
5
+ ```python
6
+ from bluehive.types import HealthCheckResponse
7
+ ```
8
+
9
+ Methods:
10
+
11
+ - <code title="get /v1/health">client.health.<a href="./src/bluehive/resources/health.py">check</a>() -> <a href="./src/bluehive/types/health_check_response.py">HealthCheckResponse</a></code>
12
+
13
+ # Version
14
+
15
+ Types:
16
+
17
+ ```python
18
+ from bluehive.types import VersionRetrieveResponse
19
+ ```
20
+
21
+ Methods:
22
+
23
+ - <code title="get /v1/version">client.version.<a href="./src/bluehive/resources/version.py">retrieve</a>() -> <a href="./src/bluehive/types/version_retrieve_response.py">VersionRetrieveResponse</a></code>
24
+
25
+ # Providers
26
+
27
+ Types:
28
+
29
+ ```python
30
+ from bluehive.types import ProviderLookupResponse
31
+ ```
32
+
33
+ Methods:
34
+
35
+ - <code title="get /v1/providers/lookup">client.providers.<a href="./src/bluehive/resources/providers.py">lookup</a>(\*\*<a href="src/bluehive/types/provider_lookup_params.py">params</a>) -> <a href="./src/bluehive/types/provider_lookup_response.py">ProviderLookupResponse</a></code>
36
+
37
+ # Database
38
+
39
+ Types:
40
+
41
+ ```python
42
+ from bluehive.types import DatabaseCheckHealthResponse
43
+ ```
44
+
45
+ Methods:
46
+
47
+ - <code title="get /v1/database/health">client.database.<a href="./src/bluehive/resources/database.py">check_health</a>() -> <a href="./src/bluehive/types/database_check_health_response.py">DatabaseCheckHealthResponse</a></code>
48
+
49
+ # Fax
50
+
51
+ Types:
52
+
53
+ ```python
54
+ from bluehive.types import FaxListProvidersResponse, FaxRetrieveStatusResponse, FaxSendResponse
55
+ ```
56
+
57
+ Methods:
58
+
59
+ - <code title="get /v1/fax/providers">client.fax.<a href="./src/bluehive/resources/fax.py">list_providers</a>() -> <a href="./src/bluehive/types/fax_list_providers_response.py">FaxListProvidersResponse</a></code>
60
+ - <code title="get /v1/fax/status/{id}">client.fax.<a href="./src/bluehive/resources/fax.py">retrieve_status</a>(id) -> <a href="./src/bluehive/types/fax_retrieve_status_response.py">FaxRetrieveStatusResponse</a></code>
61
+ - <code title="post /v1/fax/send">client.fax.<a href="./src/bluehive/resources/fax.py">send</a>(\*\*<a href="src/bluehive/types/fax_send_params.py">params</a>) -> <a href="./src/bluehive/types/fax_send_response.py">FaxSendResponse</a></code>
62
+
63
+ # Employers
64
+
65
+ Types:
66
+
67
+ ```python
68
+ from bluehive.types import EmployerCreateResponse, EmployerRetrieveResponse, EmployerListResponse
69
+ ```
70
+
71
+ Methods:
72
+
73
+ - <code title="post /v1/employers">client.employers.<a href="./src/bluehive/resources/employers/employers.py">create</a>(\*\*<a href="src/bluehive/types/employer_create_params.py">params</a>) -> <a href="./src/bluehive/types/employer_create_response.py">EmployerCreateResponse</a></code>
74
+ - <code title="get /v1/employers/{employerId}">client.employers.<a href="./src/bluehive/resources/employers/employers.py">retrieve</a>(employer_id) -> <a href="./src/bluehive/types/employer_retrieve_response.py">EmployerRetrieveResponse</a></code>
75
+ - <code title="get /v1/employers/list">client.employers.<a href="./src/bluehive/resources/employers/employers.py">list</a>() -> <a href="./src/bluehive/types/employer_list_response.py">EmployerListResponse</a></code>
76
+
77
+ ## ServiceBundles
78
+
79
+ Types:
80
+
81
+ ```python
82
+ from bluehive.types.employers import (
83
+ ServiceBundleCreateResponse,
84
+ ServiceBundleRetrieveResponse,
85
+ ServiceBundleUpdateResponse,
86
+ ServiceBundleListResponse,
87
+ )
88
+ ```
89
+
90
+ Methods:
91
+
92
+ - <code title="post /v1/employers/{employerId}/service-bundles">client.employers.service_bundles.<a href="./src/bluehive/resources/employers/service_bundles.py">create</a>(employer_id, \*\*<a href="src/bluehive/types/employers/service_bundle_create_params.py">params</a>) -> <a href="./src/bluehive/types/employers/service_bundle_create_response.py">ServiceBundleCreateResponse</a></code>
93
+ - <code title="get /v1/employers/{employerId}/service-bundles/{id}">client.employers.service_bundles.<a href="./src/bluehive/resources/employers/service_bundles.py">retrieve</a>(id, \*, employer_id) -> <a href="./src/bluehive/types/employers/service_bundle_retrieve_response.py">ServiceBundleRetrieveResponse</a></code>
94
+ - <code title="put /v1/employers/{employerId}/service-bundles/{id}">client.employers.service_bundles.<a href="./src/bluehive/resources/employers/service_bundles.py">update</a>(id, \*, employer_id, \*\*<a href="src/bluehive/types/employers/service_bundle_update_params.py">params</a>) -> <a href="./src/bluehive/types/employers/service_bundle_update_response.py">ServiceBundleUpdateResponse</a></code>
95
+ - <code title="get /v1/employers/{employerId}/service-bundles">client.employers.service_bundles.<a href="./src/bluehive/resources/employers/service_bundles.py">list</a>(employer_id) -> <a href="./src/bluehive/types/employers/service_bundle_list_response.py">ServiceBundleListResponse</a></code>
96
+ - <code title="delete /v1/employers/{employerId}/service-bundles/{id}">client.employers.service_bundles.<a href="./src/bluehive/resources/employers/service_bundles.py">delete</a>(id, \*, employer_id) -> None</code>
97
+
98
+ # Hl7
99
+
100
+ Types:
101
+
102
+ ```python
103
+ from bluehive.types import Hl7SendResultsResponse
104
+ ```
105
+
106
+ Methods:
107
+
108
+ - <code title="post /v1/hl7/results">client.hl7.<a href="./src/bluehive/resources/hl7.py">send_results</a>(\*\*<a href="src/bluehive/types/hl7_send_results_params.py">params</a>) -> str</code>
109
+
110
+ # Orders
111
+
112
+ Types:
113
+
114
+ ```python
115
+ from bluehive.types import (
116
+ OrderCreateResponse,
117
+ OrderRetrieveResponse,
118
+ OrderUpdateResponse,
119
+ OrderRetrieveResultsResponse,
120
+ OrderScheduleAppointmentResponse,
121
+ OrderSendForEmployeeResponse,
122
+ OrderUpdateStatusResponse,
123
+ OrderUploadResultsResponse,
124
+ )
125
+ ```
126
+
127
+ Methods:
128
+
129
+ - <code title="post /v1/orders">client.orders.<a href="./src/bluehive/resources/orders.py">create</a>(\*\*<a href="src/bluehive/types/order_create_params.py">params</a>) -> <a href="./src/bluehive/types/order_create_response.py">OrderCreateResponse</a></code>
130
+ - <code title="get /v1/orders/{orderId}">client.orders.<a href="./src/bluehive/resources/orders.py">retrieve</a>(order_id) -> <a href="./src/bluehive/types/order_retrieve_response.py">OrderRetrieveResponse</a></code>
131
+ - <code title="post /v1/orders/{orderId}">client.orders.<a href="./src/bluehive/resources/orders.py">update</a>(order_id, \*\*<a href="src/bluehive/types/order_update_params.py">params</a>) -> <a href="./src/bluehive/types/order_update_response.py">OrderUpdateResponse</a></code>
132
+ - <code title="get /v1/orders/{orderId}/results">client.orders.<a href="./src/bluehive/resources/orders.py">retrieve_results</a>(order_id, \*\*<a href="src/bluehive/types/order_retrieve_results_params.py">params</a>) -> <a href="./src/bluehive/types/order_retrieve_results_response.py">OrderRetrieveResultsResponse</a></code>
133
+ - <code title="post /v1/orders/{orderId}/schedule-appointment">client.orders.<a href="./src/bluehive/resources/orders.py">schedule_appointment</a>(order_id, \*\*<a href="src/bluehive/types/order_schedule_appointment_params.py">params</a>) -> <a href="./src/bluehive/types/order_schedule_appointment_response.py">OrderScheduleAppointmentResponse</a></code>
134
+ - <code title="post /v1/orders/send">client.orders.<a href="./src/bluehive/resources/orders.py">send_for_employee</a>(\*\*<a href="src/bluehive/types/order_send_for_employee_params.py">params</a>) -> <a href="./src/bluehive/types/order_send_for_employee_response.py">OrderSendForEmployeeResponse</a></code>
135
+ - <code title="put /v1/orders/{orderId}/status">client.orders.<a href="./src/bluehive/resources/orders.py">update_status</a>(order_id, \*\*<a href="src/bluehive/types/order_update_status_params.py">params</a>) -> <a href="./src/bluehive/types/order_update_status_response.py">OrderUpdateStatusResponse</a></code>
136
+ - <code title="post /v1/orders/{orderId}/upload-results">client.orders.<a href="./src/bluehive/resources/orders.py">upload_results</a>(order_id, \*\*<a href="src/bluehive/types/order_upload_results_params.py">params</a>) -> <a href="./src/bluehive/types/order_upload_results_response.py">OrderUploadResultsResponse</a></code>
137
+
138
+ # Employees
139
+
140
+ Types:
141
+
142
+ ```python
143
+ from bluehive.types import (
144
+ EmployeeCreateResponse,
145
+ EmployeeRetrieveResponse,
146
+ EmployeeUpdateResponse,
147
+ EmployeeListResponse,
148
+ EmployeeDeleteResponse,
149
+ EmployeeLinkUserResponse,
150
+ EmployeeUnlinkUserResponse,
151
+ )
152
+ ```
153
+
154
+ Methods:
155
+
156
+ - <code title="post /v1/employees">client.employees.<a href="./src/bluehive/resources/employees.py">create</a>(\*\*<a href="src/bluehive/types/employee_create_params.py">params</a>) -> <a href="./src/bluehive/types/employee_create_response.py">EmployeeCreateResponse</a></code>
157
+ - <code title="get /v1/employees/{employeeId}">client.employees.<a href="./src/bluehive/resources/employees.py">retrieve</a>(employee_id) -> <a href="./src/bluehive/types/employee_retrieve_response.py">EmployeeRetrieveResponse</a></code>
158
+ - <code title="put /v1/employees">client.employees.<a href="./src/bluehive/resources/employees.py">update</a>(\*\*<a href="src/bluehive/types/employee_update_params.py">params</a>) -> <a href="./src/bluehive/types/employee_update_response.py">EmployeeUpdateResponse</a></code>
159
+ - <code title="get /v1/employees">client.employees.<a href="./src/bluehive/resources/employees.py">list</a>(\*\*<a href="src/bluehive/types/employee_list_params.py">params</a>) -> <a href="./src/bluehive/types/employee_list_response.py">EmployeeListResponse</a></code>
160
+ - <code title="delete /v1/employees/{employeeId}">client.employees.<a href="./src/bluehive/resources/employees.py">delete</a>(employee_id) -> <a href="./src/bluehive/types/employee_delete_response.py">EmployeeDeleteResponse</a></code>
161
+ - <code title="post /v1/employees/link-user">client.employees.<a href="./src/bluehive/resources/employees.py">link_user</a>(\*\*<a href="src/bluehive/types/employee_link_user_params.py">params</a>) -> <a href="./src/bluehive/types/employee_link_user_response.py">EmployeeLinkUserResponse</a></code>
162
+ - <code title="delete /v1/employees/unlink-user">client.employees.<a href="./src/bluehive/resources/employees.py">unlink_user</a>(\*\*<a href="src/bluehive/types/employee_unlink_user_params.py">params</a>) -> <a href="./src/bluehive/types/employee_unlink_user_response.py">EmployeeUnlinkUserResponse</a></code>
163
+
164
+ # Integrations
165
+
166
+ Types:
167
+
168
+ ```python
169
+ from bluehive.types import IntegrationListResponse, IntegrationCheckActiveResponse
170
+ ```
171
+
172
+ Methods:
173
+
174
+ - <code title="get /v1/integrations">client.integrations.<a href="./src/bluehive/resources/integrations.py">list</a>() -> <a href="./src/bluehive/types/integration_list_response.py">IntegrationListResponse</a></code>
175
+ - <code title="get /v1/integrations/{name}">client.integrations.<a href="./src/bluehive/resources/integrations.py">check_active</a>(name) -> <a href="./src/bluehive/types/integration_check_active_response.py">IntegrationCheckActiveResponse</a></code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "bluehive"
3
- version = "0.1.0-alpha.9"
3
+ version = "0.1.0-alpha.11"
4
4
  description = "The official Python library for the bluehive API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -56,7 +56,6 @@ dev-dependencies = [
56
56
  "dirty-equals>=0.6.0",
57
57
  "importlib-metadata>=6.7.0",
58
58
  "rich>=13.7.1",
59
- "nest_asyncio==1.6.0",
60
59
  "pytest-xdist>=3.6.1",
61
60
  ]
62
61
 
@@ -157,6 +156,58 @@ reportOverlappingOverload = false
157
156
  reportImportCycles = false
158
157
  reportPrivateUsage = false
159
158
 
159
+ [tool.mypy]
160
+ pretty = true
161
+ show_error_codes = true
162
+
163
+ # Exclude _files.py because mypy isn't smart enough to apply
164
+ # the correct type narrowing and as this is an internal module
165
+ # it's fine to just use Pyright.
166
+ #
167
+ # We also exclude our `tests` as mypy doesn't always infer
168
+ # types correctly and Pyright will still catch any type errors.
169
+ exclude = ['src/bluehive/_files.py', '_dev/.*.py', 'tests/.*']
170
+
171
+ strict_equality = true
172
+ implicit_reexport = true
173
+ check_untyped_defs = true
174
+ no_implicit_optional = true
175
+
176
+ warn_return_any = true
177
+ warn_unreachable = true
178
+ warn_unused_configs = true
179
+
180
+ # Turn these options off as it could cause conflicts
181
+ # with the Pyright options.
182
+ warn_unused_ignores = false
183
+ warn_redundant_casts = false
184
+
185
+ disallow_any_generics = true
186
+ disallow_untyped_defs = true
187
+ disallow_untyped_calls = true
188
+ disallow_subclassing_any = true
189
+ disallow_incomplete_defs = true
190
+ disallow_untyped_decorators = true
191
+ cache_fine_grained = true
192
+
193
+ # By default, mypy reports an error if you assign a value to the result
194
+ # of a function call that doesn't return anything. We do this in our test
195
+ # cases:
196
+ # ```
197
+ # result = ...
198
+ # assert result is None
199
+ # ```
200
+ # Changing this codegen to make mypy happy would increase complexity
201
+ # and would not be worth it.
202
+ disable_error_code = "func-returns-value,overload-cannot-match"
203
+
204
+ # https://github.com/python/mypy/issues/12162
205
+ [[tool.mypy.overrides]]
206
+ module = "black.files.*"
207
+ ignore_errors = true
208
+ ignore_missing_imports = true
209
+
210
+
160
211
  [tool.ruff]
161
212
  line-length = 120
162
213
  output-format = "grouped"
@@ -75,7 +75,6 @@ multidict==6.4.4
75
75
  mypy==1.14.1
76
76
  mypy-extensions==1.0.0
77
77
  # via mypy
78
- nest-asyncio==1.6.0
79
78
  nodeenv==1.8.0
80
79
  # via pyright
81
80
  nox==2023.4.22
@@ -89,9 +88,9 @@ pluggy==1.5.0
89
88
  propcache==0.3.1
90
89
  # via aiohttp
91
90
  # via yarl
92
- pydantic==2.10.3
91
+ pydantic==2.11.9
93
92
  # via bluehive
94
- pydantic-core==2.27.1
93
+ pydantic-core==2.33.2
95
94
  # via pydantic
96
95
  pygments==2.18.0
97
96
  # via rich
@@ -127,6 +126,9 @@ typing-extensions==4.12.2
127
126
  # via pydantic
128
127
  # via pydantic-core
129
128
  # via pyright
129
+ # via typing-inspection
130
+ typing-inspection==0.4.1
131
+ # via pydantic
130
132
  virtualenv==20.24.5
131
133
  # via nox
132
134
  yarl==1.20.0
@@ -55,9 +55,9 @@ multidict==6.4.4
55
55
  propcache==0.3.1
56
56
  # via aiohttp
57
57
  # via yarl
58
- pydantic==2.10.3
58
+ pydantic==2.11.9
59
59
  # via bluehive
60
- pydantic-core==2.27.1
60
+ pydantic-core==2.33.2
61
61
  # via pydantic
62
62
  sniffio==1.3.0
63
63
  # via anyio
@@ -68,5 +68,8 @@ typing-extensions==4.12.2
68
68
  # via multidict
69
69
  # via pydantic
70
70
  # via pydantic-core
71
+ # via typing-inspection
72
+ typing-inspection==0.4.1
73
+ # via pydantic
71
74
  yarl==1.20.0
72
75
  # via aiohttp
@@ -3,7 +3,7 @@
3
3
  import typing as _t
4
4
 
5
5
  from . import types
6
- from ._types import NOT_GIVEN, Omit, NoneType, NotGiven, Transport, ProxiesTypes
6
+ from ._types import NOT_GIVEN, Omit, NoneType, NotGiven, Transport, ProxiesTypes, omit, not_given
7
7
  from ._utils import file_from_path
8
8
  from ._client import (
9
9
  Client,
@@ -48,7 +48,9 @@ __all__ = [
48
48
  "ProxiesTypes",
49
49
  "NotGiven",
50
50
  "NOT_GIVEN",
51
+ "not_given",
51
52
  "Omit",
53
+ "omit",
52
54
  "BlueHiveError",
53
55
  "APIError",
54
56
  "APIStatusError",
@@ -42,7 +42,6 @@ from . import _exceptions
42
42
  from ._qs import Querystring
43
43
  from ._files import to_httpx_files, async_to_httpx_files
44
44
  from ._types import (
45
- NOT_GIVEN,
46
45
  Body,
47
46
  Omit,
48
47
  Query,
@@ -57,9 +56,10 @@ from ._types import (
57
56
  RequestOptions,
58
57
  HttpxRequestFiles,
59
58
  ModelBuilderProtocol,
59
+ not_given,
60
60
  )
61
61
  from ._utils import is_dict, is_list, asyncify, is_given, lru_cache, is_mapping
62
- from ._compat import PYDANTIC_V2, model_copy, model_dump
62
+ from ._compat import PYDANTIC_V1, model_copy, model_dump
63
63
  from ._models import GenericModel, FinalRequestOptions, validate_type, construct_type
64
64
  from ._response import (
65
65
  APIResponse,
@@ -145,9 +145,9 @@ class PageInfo:
145
145
  def __init__(
146
146
  self,
147
147
  *,
148
- url: URL | NotGiven = NOT_GIVEN,
149
- json: Body | NotGiven = NOT_GIVEN,
150
- params: Query | NotGiven = NOT_GIVEN,
148
+ url: URL | NotGiven = not_given,
149
+ json: Body | NotGiven = not_given,
150
+ params: Query | NotGiven = not_given,
151
151
  ) -> None:
152
152
  self.url = url
153
153
  self.json = json
@@ -232,7 +232,7 @@ class BaseSyncPage(BasePage[_T], Generic[_T]):
232
232
  model: Type[_T],
233
233
  options: FinalRequestOptions,
234
234
  ) -> None:
235
- if PYDANTIC_V2 and getattr(self, "__pydantic_private__", None) is None:
235
+ if (not PYDANTIC_V1) and getattr(self, "__pydantic_private__", None) is None:
236
236
  self.__pydantic_private__ = {}
237
237
 
238
238
  self._model = model
@@ -320,7 +320,7 @@ class BaseAsyncPage(BasePage[_T], Generic[_T]):
320
320
  client: AsyncAPIClient,
321
321
  options: FinalRequestOptions,
322
322
  ) -> None:
323
- if PYDANTIC_V2 and getattr(self, "__pydantic_private__", None) is None:
323
+ if (not PYDANTIC_V1) and getattr(self, "__pydantic_private__", None) is None:
324
324
  self.__pydantic_private__ = {}
325
325
 
326
326
  self._model = model
@@ -595,7 +595,7 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
595
595
  # we internally support defining a temporary header to override the
596
596
  # default `cast_to` type for use with `.with_raw_response` and `.with_streaming_response`
597
597
  # see _response.py for implementation details
598
- override_cast_to = headers.pop(OVERRIDE_CAST_TO_HEADER, NOT_GIVEN)
598
+ override_cast_to = headers.pop(OVERRIDE_CAST_TO_HEADER, not_given)
599
599
  if is_given(override_cast_to):
600
600
  options.headers = headers
601
601
  return cast(Type[ResponseT], override_cast_to)
@@ -825,7 +825,7 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
825
825
  version: str,
826
826
  base_url: str | URL,
827
827
  max_retries: int = DEFAULT_MAX_RETRIES,
828
- timeout: float | Timeout | None | NotGiven = NOT_GIVEN,
828
+ timeout: float | Timeout | None | NotGiven = not_given,
829
829
  http_client: httpx.Client | None = None,
830
830
  custom_headers: Mapping[str, str] | None = None,
831
831
  custom_query: Mapping[str, object] | None = None,
@@ -1356,7 +1356,7 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1356
1356
  base_url: str | URL,
1357
1357
  _strict_response_validation: bool,
1358
1358
  max_retries: int = DEFAULT_MAX_RETRIES,
1359
- timeout: float | Timeout | None | NotGiven = NOT_GIVEN,
1359
+ timeout: float | Timeout | None | NotGiven = not_given,
1360
1360
  http_client: httpx.AsyncClient | None = None,
1361
1361
  custom_headers: Mapping[str, str] | None = None,
1362
1362
  custom_query: Mapping[str, object] | None = None,
@@ -1818,8 +1818,8 @@ def make_request_options(
1818
1818
  extra_query: Query | None = None,
1819
1819
  extra_body: Body | None = None,
1820
1820
  idempotency_key: str | None = None,
1821
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1822
- post_parser: PostParser | NotGiven = NOT_GIVEN,
1821
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
1822
+ post_parser: PostParser | NotGiven = not_given,
1823
1823
  ) -> RequestOptions:
1824
1824
  """Create a dict of type RequestOptions without keys of NotGiven values."""
1825
1825
  options: RequestOptions = {}