bluehive 0.1.0a19__py3-none-any.whl → 0.1.0a21__py3-none-any.whl

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.
bluehive/_base_client.py CHANGED
@@ -1247,9 +1247,12 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
1247
1247
  *,
1248
1248
  cast_to: Type[ResponseT],
1249
1249
  body: Body | None = None,
1250
+ files: RequestFiles | None = None,
1250
1251
  options: RequestOptions = {},
1251
1252
  ) -> ResponseT:
1252
- opts = FinalRequestOptions.construct(method="patch", url=path, json_data=body, **options)
1253
+ opts = FinalRequestOptions.construct(
1254
+ method="patch", url=path, json_data=body, files=to_httpx_files(files), **options
1255
+ )
1253
1256
  return self.request(cast_to, opts)
1254
1257
 
1255
1258
  def put(
@@ -1767,9 +1770,12 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1767
1770
  *,
1768
1771
  cast_to: Type[ResponseT],
1769
1772
  body: Body | None = None,
1773
+ files: RequestFiles | None = None,
1770
1774
  options: RequestOptions = {},
1771
1775
  ) -> ResponseT:
1772
- opts = FinalRequestOptions.construct(method="patch", url=path, json_data=body, **options)
1776
+ opts = FinalRequestOptions.construct(
1777
+ method="patch", url=path, json_data=body, files=await async_to_httpx_files(files), **options
1778
+ )
1773
1779
  return await self.request(cast_to, opts)
1774
1780
 
1775
1781
  async def put(
bluehive/_client.py CHANGED
@@ -3,7 +3,7 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  import os
6
- from typing import Any, Mapping
6
+ from typing import TYPE_CHECKING, Any, Mapping
7
7
  from typing_extensions import Self, override
8
8
 
9
9
  import httpx
@@ -20,8 +20,8 @@ from ._types import (
20
20
  not_given,
21
21
  )
22
22
  from ._utils import is_given, get_async_library
23
+ from ._compat import cached_property
23
24
  from ._version import __version__
24
- from .resources import fax, hl7, health, orders, version, database, employees, providers, integrations
25
25
  from ._streaming import Stream as Stream, AsyncStream as AsyncStream
26
26
  from ._exceptions import BlueHiveError, APIStatusError
27
27
  from ._base_client import (
@@ -29,7 +29,19 @@ from ._base_client import (
29
29
  SyncAPIClient,
30
30
  AsyncAPIClient,
31
31
  )
32
- from .resources.employers import employers
32
+
33
+ if TYPE_CHECKING:
34
+ from .resources import fax, hl7, health, orders, version, database, employees, employers, providers, integrations
35
+ from .resources.fax import FaxResource, AsyncFaxResource
36
+ from .resources.hl7 import Hl7Resource, AsyncHl7Resource
37
+ from .resources.health import HealthResource, AsyncHealthResource
38
+ from .resources.orders import OrdersResource, AsyncOrdersResource
39
+ from .resources.version import VersionResource, AsyncVersionResource
40
+ from .resources.database import DatabaseResource, AsyncDatabaseResource
41
+ from .resources.employees import EmployeesResource, AsyncEmployeesResource
42
+ from .resources.providers import ProvidersResource, AsyncProvidersResource
43
+ from .resources.integrations import IntegrationsResource, AsyncIntegrationsResource
44
+ from .resources.employers.employers import EmployersResource, AsyncEmployersResource
33
45
 
34
46
  __all__ = [
35
47
  "Timeout",
@@ -44,19 +56,6 @@ __all__ = [
44
56
 
45
57
 
46
58
  class BlueHive(SyncAPIClient):
47
- health: health.HealthResource
48
- version: version.VersionResource
49
- providers: providers.ProvidersResource
50
- database: database.DatabaseResource
51
- fax: fax.FaxResource
52
- employers: employers.EmployersResource
53
- hl7: hl7.Hl7Resource
54
- orders: orders.OrdersResource
55
- employees: employees.EmployeesResource
56
- integrations: integrations.IntegrationsResource
57
- with_raw_response: BlueHiveWithRawResponse
58
- with_streaming_response: BlueHiveWithStreamedResponse
59
-
60
59
  # client options
61
60
  api_key: str
62
61
 
@@ -111,18 +110,73 @@ class BlueHive(SyncAPIClient):
111
110
  _strict_response_validation=_strict_response_validation,
112
111
  )
113
112
 
114
- self.health = health.HealthResource(self)
115
- self.version = version.VersionResource(self)
116
- self.providers = providers.ProvidersResource(self)
117
- self.database = database.DatabaseResource(self)
118
- self.fax = fax.FaxResource(self)
119
- self.employers = employers.EmployersResource(self)
120
- self.hl7 = hl7.Hl7Resource(self)
121
- self.orders = orders.OrdersResource(self)
122
- self.employees = employees.EmployeesResource(self)
123
- self.integrations = integrations.IntegrationsResource(self)
124
- self.with_raw_response = BlueHiveWithRawResponse(self)
125
- self.with_streaming_response = BlueHiveWithStreamedResponse(self)
113
+ @cached_property
114
+ def health(self) -> HealthResource:
115
+ from .resources.health import HealthResource
116
+
117
+ return HealthResource(self)
118
+
119
+ @cached_property
120
+ def version(self) -> VersionResource:
121
+ from .resources.version import VersionResource
122
+
123
+ return VersionResource(self)
124
+
125
+ @cached_property
126
+ def providers(self) -> ProvidersResource:
127
+ from .resources.providers import ProvidersResource
128
+
129
+ return ProvidersResource(self)
130
+
131
+ @cached_property
132
+ def database(self) -> DatabaseResource:
133
+ from .resources.database import DatabaseResource
134
+
135
+ return DatabaseResource(self)
136
+
137
+ @cached_property
138
+ def fax(self) -> FaxResource:
139
+ from .resources.fax import FaxResource
140
+
141
+ return FaxResource(self)
142
+
143
+ @cached_property
144
+ def employers(self) -> EmployersResource:
145
+ from .resources.employers import EmployersResource
146
+
147
+ return EmployersResource(self)
148
+
149
+ @cached_property
150
+ def hl7(self) -> Hl7Resource:
151
+ from .resources.hl7 import Hl7Resource
152
+
153
+ return Hl7Resource(self)
154
+
155
+ @cached_property
156
+ def orders(self) -> OrdersResource:
157
+ from .resources.orders import OrdersResource
158
+
159
+ return OrdersResource(self)
160
+
161
+ @cached_property
162
+ def employees(self) -> EmployeesResource:
163
+ from .resources.employees import EmployeesResource
164
+
165
+ return EmployeesResource(self)
166
+
167
+ @cached_property
168
+ def integrations(self) -> IntegrationsResource:
169
+ from .resources.integrations import IntegrationsResource
170
+
171
+ return IntegrationsResource(self)
172
+
173
+ @cached_property
174
+ def with_raw_response(self) -> BlueHiveWithRawResponse:
175
+ return BlueHiveWithRawResponse(self)
176
+
177
+ @cached_property
178
+ def with_streaming_response(self) -> BlueHiveWithStreamedResponse:
179
+ return BlueHiveWithStreamedResponse(self)
126
180
 
127
181
  @property
128
182
  @override
@@ -230,19 +284,6 @@ class BlueHive(SyncAPIClient):
230
284
 
231
285
 
232
286
  class AsyncBlueHive(AsyncAPIClient):
233
- health: health.AsyncHealthResource
234
- version: version.AsyncVersionResource
235
- providers: providers.AsyncProvidersResource
236
- database: database.AsyncDatabaseResource
237
- fax: fax.AsyncFaxResource
238
- employers: employers.AsyncEmployersResource
239
- hl7: hl7.AsyncHl7Resource
240
- orders: orders.AsyncOrdersResource
241
- employees: employees.AsyncEmployeesResource
242
- integrations: integrations.AsyncIntegrationsResource
243
- with_raw_response: AsyncBlueHiveWithRawResponse
244
- with_streaming_response: AsyncBlueHiveWithStreamedResponse
245
-
246
287
  # client options
247
288
  api_key: str
248
289
 
@@ -297,18 +338,73 @@ class AsyncBlueHive(AsyncAPIClient):
297
338
  _strict_response_validation=_strict_response_validation,
298
339
  )
299
340
 
300
- self.health = health.AsyncHealthResource(self)
301
- self.version = version.AsyncVersionResource(self)
302
- self.providers = providers.AsyncProvidersResource(self)
303
- self.database = database.AsyncDatabaseResource(self)
304
- self.fax = fax.AsyncFaxResource(self)
305
- self.employers = employers.AsyncEmployersResource(self)
306
- self.hl7 = hl7.AsyncHl7Resource(self)
307
- self.orders = orders.AsyncOrdersResource(self)
308
- self.employees = employees.AsyncEmployeesResource(self)
309
- self.integrations = integrations.AsyncIntegrationsResource(self)
310
- self.with_raw_response = AsyncBlueHiveWithRawResponse(self)
311
- self.with_streaming_response = AsyncBlueHiveWithStreamedResponse(self)
341
+ @cached_property
342
+ def health(self) -> AsyncHealthResource:
343
+ from .resources.health import AsyncHealthResource
344
+
345
+ return AsyncHealthResource(self)
346
+
347
+ @cached_property
348
+ def version(self) -> AsyncVersionResource:
349
+ from .resources.version import AsyncVersionResource
350
+
351
+ return AsyncVersionResource(self)
352
+
353
+ @cached_property
354
+ def providers(self) -> AsyncProvidersResource:
355
+ from .resources.providers import AsyncProvidersResource
356
+
357
+ return AsyncProvidersResource(self)
358
+
359
+ @cached_property
360
+ def database(self) -> AsyncDatabaseResource:
361
+ from .resources.database import AsyncDatabaseResource
362
+
363
+ return AsyncDatabaseResource(self)
364
+
365
+ @cached_property
366
+ def fax(self) -> AsyncFaxResource:
367
+ from .resources.fax import AsyncFaxResource
368
+
369
+ return AsyncFaxResource(self)
370
+
371
+ @cached_property
372
+ def employers(self) -> AsyncEmployersResource:
373
+ from .resources.employers import AsyncEmployersResource
374
+
375
+ return AsyncEmployersResource(self)
376
+
377
+ @cached_property
378
+ def hl7(self) -> AsyncHl7Resource:
379
+ from .resources.hl7 import AsyncHl7Resource
380
+
381
+ return AsyncHl7Resource(self)
382
+
383
+ @cached_property
384
+ def orders(self) -> AsyncOrdersResource:
385
+ from .resources.orders import AsyncOrdersResource
386
+
387
+ return AsyncOrdersResource(self)
388
+
389
+ @cached_property
390
+ def employees(self) -> AsyncEmployeesResource:
391
+ from .resources.employees import AsyncEmployeesResource
392
+
393
+ return AsyncEmployeesResource(self)
394
+
395
+ @cached_property
396
+ def integrations(self) -> AsyncIntegrationsResource:
397
+ from .resources.integrations import AsyncIntegrationsResource
398
+
399
+ return AsyncIntegrationsResource(self)
400
+
401
+ @cached_property
402
+ def with_raw_response(self) -> AsyncBlueHiveWithRawResponse:
403
+ return AsyncBlueHiveWithRawResponse(self)
404
+
405
+ @cached_property
406
+ def with_streaming_response(self) -> AsyncBlueHiveWithStreamedResponse:
407
+ return AsyncBlueHiveWithStreamedResponse(self)
312
408
 
313
409
  @property
314
410
  @override
@@ -416,59 +512,271 @@ class AsyncBlueHive(AsyncAPIClient):
416
512
 
417
513
 
418
514
  class BlueHiveWithRawResponse:
515
+ _client: BlueHive
516
+
419
517
  def __init__(self, client: BlueHive) -> None:
420
- self.health = health.HealthResourceWithRawResponse(client.health)
421
- self.version = version.VersionResourceWithRawResponse(client.version)
422
- self.providers = providers.ProvidersResourceWithRawResponse(client.providers)
423
- self.database = database.DatabaseResourceWithRawResponse(client.database)
424
- self.fax = fax.FaxResourceWithRawResponse(client.fax)
425
- self.employers = employers.EmployersResourceWithRawResponse(client.employers)
426
- self.hl7 = hl7.Hl7ResourceWithRawResponse(client.hl7)
427
- self.orders = orders.OrdersResourceWithRawResponse(client.orders)
428
- self.employees = employees.EmployeesResourceWithRawResponse(client.employees)
429
- self.integrations = integrations.IntegrationsResourceWithRawResponse(client.integrations)
518
+ self._client = client
519
+
520
+ @cached_property
521
+ def health(self) -> health.HealthResourceWithRawResponse:
522
+ from .resources.health import HealthResourceWithRawResponse
523
+
524
+ return HealthResourceWithRawResponse(self._client.health)
525
+
526
+ @cached_property
527
+ def version(self) -> version.VersionResourceWithRawResponse:
528
+ from .resources.version import VersionResourceWithRawResponse
529
+
530
+ return VersionResourceWithRawResponse(self._client.version)
531
+
532
+ @cached_property
533
+ def providers(self) -> providers.ProvidersResourceWithRawResponse:
534
+ from .resources.providers import ProvidersResourceWithRawResponse
535
+
536
+ return ProvidersResourceWithRawResponse(self._client.providers)
537
+
538
+ @cached_property
539
+ def database(self) -> database.DatabaseResourceWithRawResponse:
540
+ from .resources.database import DatabaseResourceWithRawResponse
541
+
542
+ return DatabaseResourceWithRawResponse(self._client.database)
543
+
544
+ @cached_property
545
+ def fax(self) -> fax.FaxResourceWithRawResponse:
546
+ from .resources.fax import FaxResourceWithRawResponse
547
+
548
+ return FaxResourceWithRawResponse(self._client.fax)
549
+
550
+ @cached_property
551
+ def employers(self) -> employers.EmployersResourceWithRawResponse:
552
+ from .resources.employers import EmployersResourceWithRawResponse
553
+
554
+ return EmployersResourceWithRawResponse(self._client.employers)
555
+
556
+ @cached_property
557
+ def hl7(self) -> hl7.Hl7ResourceWithRawResponse:
558
+ from .resources.hl7 import Hl7ResourceWithRawResponse
559
+
560
+ return Hl7ResourceWithRawResponse(self._client.hl7)
561
+
562
+ @cached_property
563
+ def orders(self) -> orders.OrdersResourceWithRawResponse:
564
+ from .resources.orders import OrdersResourceWithRawResponse
565
+
566
+ return OrdersResourceWithRawResponse(self._client.orders)
567
+
568
+ @cached_property
569
+ def employees(self) -> employees.EmployeesResourceWithRawResponse:
570
+ from .resources.employees import EmployeesResourceWithRawResponse
571
+
572
+ return EmployeesResourceWithRawResponse(self._client.employees)
573
+
574
+ @cached_property
575
+ def integrations(self) -> integrations.IntegrationsResourceWithRawResponse:
576
+ from .resources.integrations import IntegrationsResourceWithRawResponse
577
+
578
+ return IntegrationsResourceWithRawResponse(self._client.integrations)
430
579
 
431
580
 
432
581
  class AsyncBlueHiveWithRawResponse:
582
+ _client: AsyncBlueHive
583
+
433
584
  def __init__(self, client: AsyncBlueHive) -> None:
434
- self.health = health.AsyncHealthResourceWithRawResponse(client.health)
435
- self.version = version.AsyncVersionResourceWithRawResponse(client.version)
436
- self.providers = providers.AsyncProvidersResourceWithRawResponse(client.providers)
437
- self.database = database.AsyncDatabaseResourceWithRawResponse(client.database)
438
- self.fax = fax.AsyncFaxResourceWithRawResponse(client.fax)
439
- self.employers = employers.AsyncEmployersResourceWithRawResponse(client.employers)
440
- self.hl7 = hl7.AsyncHl7ResourceWithRawResponse(client.hl7)
441
- self.orders = orders.AsyncOrdersResourceWithRawResponse(client.orders)
442
- self.employees = employees.AsyncEmployeesResourceWithRawResponse(client.employees)
443
- self.integrations = integrations.AsyncIntegrationsResourceWithRawResponse(client.integrations)
585
+ self._client = client
586
+
587
+ @cached_property
588
+ def health(self) -> health.AsyncHealthResourceWithRawResponse:
589
+ from .resources.health import AsyncHealthResourceWithRawResponse
590
+
591
+ return AsyncHealthResourceWithRawResponse(self._client.health)
592
+
593
+ @cached_property
594
+ def version(self) -> version.AsyncVersionResourceWithRawResponse:
595
+ from .resources.version import AsyncVersionResourceWithRawResponse
596
+
597
+ return AsyncVersionResourceWithRawResponse(self._client.version)
598
+
599
+ @cached_property
600
+ def providers(self) -> providers.AsyncProvidersResourceWithRawResponse:
601
+ from .resources.providers import AsyncProvidersResourceWithRawResponse
602
+
603
+ return AsyncProvidersResourceWithRawResponse(self._client.providers)
604
+
605
+ @cached_property
606
+ def database(self) -> database.AsyncDatabaseResourceWithRawResponse:
607
+ from .resources.database import AsyncDatabaseResourceWithRawResponse
608
+
609
+ return AsyncDatabaseResourceWithRawResponse(self._client.database)
610
+
611
+ @cached_property
612
+ def fax(self) -> fax.AsyncFaxResourceWithRawResponse:
613
+ from .resources.fax import AsyncFaxResourceWithRawResponse
614
+
615
+ return AsyncFaxResourceWithRawResponse(self._client.fax)
616
+
617
+ @cached_property
618
+ def employers(self) -> employers.AsyncEmployersResourceWithRawResponse:
619
+ from .resources.employers import AsyncEmployersResourceWithRawResponse
620
+
621
+ return AsyncEmployersResourceWithRawResponse(self._client.employers)
622
+
623
+ @cached_property
624
+ def hl7(self) -> hl7.AsyncHl7ResourceWithRawResponse:
625
+ from .resources.hl7 import AsyncHl7ResourceWithRawResponse
626
+
627
+ return AsyncHl7ResourceWithRawResponse(self._client.hl7)
628
+
629
+ @cached_property
630
+ def orders(self) -> orders.AsyncOrdersResourceWithRawResponse:
631
+ from .resources.orders import AsyncOrdersResourceWithRawResponse
632
+
633
+ return AsyncOrdersResourceWithRawResponse(self._client.orders)
634
+
635
+ @cached_property
636
+ def employees(self) -> employees.AsyncEmployeesResourceWithRawResponse:
637
+ from .resources.employees import AsyncEmployeesResourceWithRawResponse
638
+
639
+ return AsyncEmployeesResourceWithRawResponse(self._client.employees)
640
+
641
+ @cached_property
642
+ def integrations(self) -> integrations.AsyncIntegrationsResourceWithRawResponse:
643
+ from .resources.integrations import AsyncIntegrationsResourceWithRawResponse
644
+
645
+ return AsyncIntegrationsResourceWithRawResponse(self._client.integrations)
444
646
 
445
647
 
446
648
  class BlueHiveWithStreamedResponse:
649
+ _client: BlueHive
650
+
447
651
  def __init__(self, client: BlueHive) -> None:
448
- self.health = health.HealthResourceWithStreamingResponse(client.health)
449
- self.version = version.VersionResourceWithStreamingResponse(client.version)
450
- self.providers = providers.ProvidersResourceWithStreamingResponse(client.providers)
451
- self.database = database.DatabaseResourceWithStreamingResponse(client.database)
452
- self.fax = fax.FaxResourceWithStreamingResponse(client.fax)
453
- self.employers = employers.EmployersResourceWithStreamingResponse(client.employers)
454
- self.hl7 = hl7.Hl7ResourceWithStreamingResponse(client.hl7)
455
- self.orders = orders.OrdersResourceWithStreamingResponse(client.orders)
456
- self.employees = employees.EmployeesResourceWithStreamingResponse(client.employees)
457
- self.integrations = integrations.IntegrationsResourceWithStreamingResponse(client.integrations)
652
+ self._client = client
653
+
654
+ @cached_property
655
+ def health(self) -> health.HealthResourceWithStreamingResponse:
656
+ from .resources.health import HealthResourceWithStreamingResponse
657
+
658
+ return HealthResourceWithStreamingResponse(self._client.health)
659
+
660
+ @cached_property
661
+ def version(self) -> version.VersionResourceWithStreamingResponse:
662
+ from .resources.version import VersionResourceWithStreamingResponse
663
+
664
+ return VersionResourceWithStreamingResponse(self._client.version)
665
+
666
+ @cached_property
667
+ def providers(self) -> providers.ProvidersResourceWithStreamingResponse:
668
+ from .resources.providers import ProvidersResourceWithStreamingResponse
669
+
670
+ return ProvidersResourceWithStreamingResponse(self._client.providers)
671
+
672
+ @cached_property
673
+ def database(self) -> database.DatabaseResourceWithStreamingResponse:
674
+ from .resources.database import DatabaseResourceWithStreamingResponse
675
+
676
+ return DatabaseResourceWithStreamingResponse(self._client.database)
677
+
678
+ @cached_property
679
+ def fax(self) -> fax.FaxResourceWithStreamingResponse:
680
+ from .resources.fax import FaxResourceWithStreamingResponse
681
+
682
+ return FaxResourceWithStreamingResponse(self._client.fax)
683
+
684
+ @cached_property
685
+ def employers(self) -> employers.EmployersResourceWithStreamingResponse:
686
+ from .resources.employers import EmployersResourceWithStreamingResponse
687
+
688
+ return EmployersResourceWithStreamingResponse(self._client.employers)
689
+
690
+ @cached_property
691
+ def hl7(self) -> hl7.Hl7ResourceWithStreamingResponse:
692
+ from .resources.hl7 import Hl7ResourceWithStreamingResponse
693
+
694
+ return Hl7ResourceWithStreamingResponse(self._client.hl7)
695
+
696
+ @cached_property
697
+ def orders(self) -> orders.OrdersResourceWithStreamingResponse:
698
+ from .resources.orders import OrdersResourceWithStreamingResponse
699
+
700
+ return OrdersResourceWithStreamingResponse(self._client.orders)
701
+
702
+ @cached_property
703
+ def employees(self) -> employees.EmployeesResourceWithStreamingResponse:
704
+ from .resources.employees import EmployeesResourceWithStreamingResponse
705
+
706
+ return EmployeesResourceWithStreamingResponse(self._client.employees)
707
+
708
+ @cached_property
709
+ def integrations(self) -> integrations.IntegrationsResourceWithStreamingResponse:
710
+ from .resources.integrations import IntegrationsResourceWithStreamingResponse
711
+
712
+ return IntegrationsResourceWithStreamingResponse(self._client.integrations)
458
713
 
459
714
 
460
715
  class AsyncBlueHiveWithStreamedResponse:
716
+ _client: AsyncBlueHive
717
+
461
718
  def __init__(self, client: AsyncBlueHive) -> None:
462
- self.health = health.AsyncHealthResourceWithStreamingResponse(client.health)
463
- self.version = version.AsyncVersionResourceWithStreamingResponse(client.version)
464
- self.providers = providers.AsyncProvidersResourceWithStreamingResponse(client.providers)
465
- self.database = database.AsyncDatabaseResourceWithStreamingResponse(client.database)
466
- self.fax = fax.AsyncFaxResourceWithStreamingResponse(client.fax)
467
- self.employers = employers.AsyncEmployersResourceWithStreamingResponse(client.employers)
468
- self.hl7 = hl7.AsyncHl7ResourceWithStreamingResponse(client.hl7)
469
- self.orders = orders.AsyncOrdersResourceWithStreamingResponse(client.orders)
470
- self.employees = employees.AsyncEmployeesResourceWithStreamingResponse(client.employees)
471
- self.integrations = integrations.AsyncIntegrationsResourceWithStreamingResponse(client.integrations)
719
+ self._client = client
720
+
721
+ @cached_property
722
+ def health(self) -> health.AsyncHealthResourceWithStreamingResponse:
723
+ from .resources.health import AsyncHealthResourceWithStreamingResponse
724
+
725
+ return AsyncHealthResourceWithStreamingResponse(self._client.health)
726
+
727
+ @cached_property
728
+ def version(self) -> version.AsyncVersionResourceWithStreamingResponse:
729
+ from .resources.version import AsyncVersionResourceWithStreamingResponse
730
+
731
+ return AsyncVersionResourceWithStreamingResponse(self._client.version)
732
+
733
+ @cached_property
734
+ def providers(self) -> providers.AsyncProvidersResourceWithStreamingResponse:
735
+ from .resources.providers import AsyncProvidersResourceWithStreamingResponse
736
+
737
+ return AsyncProvidersResourceWithStreamingResponse(self._client.providers)
738
+
739
+ @cached_property
740
+ def database(self) -> database.AsyncDatabaseResourceWithStreamingResponse:
741
+ from .resources.database import AsyncDatabaseResourceWithStreamingResponse
742
+
743
+ return AsyncDatabaseResourceWithStreamingResponse(self._client.database)
744
+
745
+ @cached_property
746
+ def fax(self) -> fax.AsyncFaxResourceWithStreamingResponse:
747
+ from .resources.fax import AsyncFaxResourceWithStreamingResponse
748
+
749
+ return AsyncFaxResourceWithStreamingResponse(self._client.fax)
750
+
751
+ @cached_property
752
+ def employers(self) -> employers.AsyncEmployersResourceWithStreamingResponse:
753
+ from .resources.employers import AsyncEmployersResourceWithStreamingResponse
754
+
755
+ return AsyncEmployersResourceWithStreamingResponse(self._client.employers)
756
+
757
+ @cached_property
758
+ def hl7(self) -> hl7.AsyncHl7ResourceWithStreamingResponse:
759
+ from .resources.hl7 import AsyncHl7ResourceWithStreamingResponse
760
+
761
+ return AsyncHl7ResourceWithStreamingResponse(self._client.hl7)
762
+
763
+ @cached_property
764
+ def orders(self) -> orders.AsyncOrdersResourceWithStreamingResponse:
765
+ from .resources.orders import AsyncOrdersResourceWithStreamingResponse
766
+
767
+ return AsyncOrdersResourceWithStreamingResponse(self._client.orders)
768
+
769
+ @cached_property
770
+ def employees(self) -> employees.AsyncEmployeesResourceWithStreamingResponse:
771
+ from .resources.employees import AsyncEmployeesResourceWithStreamingResponse
772
+
773
+ return AsyncEmployeesResourceWithStreamingResponse(self._client.employees)
774
+
775
+ @cached_property
776
+ def integrations(self) -> integrations.AsyncIntegrationsResourceWithStreamingResponse:
777
+ from .resources.integrations import AsyncIntegrationsResourceWithStreamingResponse
778
+
779
+ return AsyncIntegrationsResourceWithStreamingResponse(self._client.integrations)
472
780
 
473
781
 
474
782
  Client = BlueHive
bluehive/_types.py CHANGED
@@ -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
bluehive/_version.py CHANGED
@@ -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.19" # x-release-please-version
4
+ __version__ = "0.1.0-alpha.21" # x-release-please-version
@@ -11,6 +11,8 @@ __all__ = ["DatabaseCheckHealthResponse", "Stats"]
11
11
 
12
12
 
13
13
  class Stats(BaseModel):
14
+ """Database statistics (not available in production)"""
15
+
14
16
  collections: Optional[float] = None
15
17
  """Number of collections"""
16
18
 
@@ -8,6 +8,8 @@ __all__ = ["EmployeeCreateResponse"]
8
8
 
9
9
 
10
10
  class EmployeeCreateResponse(BaseModel):
11
+ """Employee created successfully"""
12
+
11
13
  employee_id: str = FieldInfo(alias="employeeId")
12
14
  """ID of the created employee"""
13
15
 
@@ -6,6 +6,8 @@ __all__ = ["EmployeeDeleteResponse"]
6
6
 
7
7
 
8
8
  class EmployeeDeleteResponse(BaseModel):
9
+ """Employee deleted successfully"""
10
+
9
11
  message: str
10
12
 
11
13
  success: bool
@@ -8,6 +8,8 @@ __all__ = ["EmployeeLinkUserResponse"]
8
8
 
9
9
 
10
10
  class EmployeeLinkUserResponse(BaseModel):
11
+ """Employee linked successfully"""
12
+
11
13
  link_id: str = FieldInfo(alias="linkId")
12
14
  """ID of the created link"""
13
15
 
@@ -12,6 +12,8 @@ __all__ = ["EmployeeListResponse", "Employee", "EmployeeAddress", "EmployeeExten
12
12
 
13
13
 
14
14
  class EmployeeAddress(BaseModel):
15
+ """Employee address"""
16
+
15
17
  city: str
16
18
  """City"""
17
19
 
@@ -51,6 +53,8 @@ class EmployeePhone(BaseModel):
51
53
 
52
54
 
53
55
  class Employee(BaseModel):
56
+ """Employee details"""
57
+
54
58
  api_id: str = FieldInfo(alias="_id")
55
59
  """Unique identifier"""
56
60
 
@@ -104,6 +108,8 @@ class Employee(BaseModel):
104
108
 
105
109
 
106
110
  class EmployeeListResponse(BaseModel):
111
+ """Employees retrieved successfully"""
112
+
107
113
  employees: List[Employee]
108
114
  """List of employees"""
109
115
 
@@ -12,6 +12,8 @@ __all__ = ["EmployeeRetrieveResponse", "Employee", "EmployeeAddress", "EmployeeE
12
12
 
13
13
 
14
14
  class EmployeeAddress(BaseModel):
15
+ """Employee address"""
16
+
15
17
  city: str
16
18
  """City"""
17
19
 
@@ -51,6 +53,8 @@ class EmployeePhone(BaseModel):
51
53
 
52
54
 
53
55
  class Employee(BaseModel):
56
+ """Employee details"""
57
+
54
58
  api_id: str = FieldInfo(alias="_id")
55
59
  """Unique identifier"""
56
60
 
@@ -104,6 +108,8 @@ class Employee(BaseModel):
104
108
 
105
109
 
106
110
  class EmployeeRetrieveResponse(BaseModel):
111
+ """Employee found successfully"""
112
+
107
113
  employee: Employee
108
114
  """Employee details"""
109
115
 
@@ -6,6 +6,8 @@ __all__ = ["EmployeeUnlinkUserResponse"]
6
6
 
7
7
 
8
8
  class EmployeeUnlinkUserResponse(BaseModel):
9
+ """Employee unlinked successfully"""
10
+
9
11
  message: str
10
12
 
11
13
  success: bool
@@ -6,6 +6,8 @@ __all__ = ["EmployeeUpdateResponse"]
6
6
 
7
7
 
8
8
  class EmployeeUpdateResponse(BaseModel):
9
+ """Employee updated successfully"""
10
+
9
11
  message: str
10
12
 
11
13
  success: bool
@@ -18,6 +18,8 @@ class Hl7SendResultsParams(TypedDict, total=False):
18
18
 
19
19
 
20
20
  class File(TypedDict, total=False):
21
+ """File containing the results"""
22
+
21
23
  base64: Required[str]
22
24
  """Base64 encoded file content"""
23
25
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bluehive
3
- Version: 0.1.0a19
3
+ Version: 0.1.0a21
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
@@ -1,6 +1,6 @@
1
1
  bluehive/__init__.py,sha256=r7geg3adw0joOxuZsSgIeZlSQOU6ao3zkI2Rrsml6x0,2683
2
- bluehive/_base_client.py,sha256=FHGSOPPXSI0iBMqMUQwjAcxtiVSmvA5HmW6ZNc9qQ-c,67049
3
- bluehive/_client.py,sha256=rKkew9M8iyh4ydDrmqGRYxvxml86wLamHk2hwB4c3PA,19887
2
+ bluehive/_base_client.py,sha256=a2JH2-7eQV53IuKBWPq9J9zzYyk9uATIGow9-GrWuAY,67249
3
+ bluehive/_client.py,sha256=suRJhomJFF8iQQEjDw41DHFiSxYoPfnwXVrBqb0oieI,28720
4
4
  bluehive/_compat.py,sha256=DQBVORjFb33zch24jzkhM14msvnzY7mmSmgDLaVFUM8,6562
5
5
  bluehive/_constants.py,sha256=S14PFzyN9-I31wiV7SmIlL5Ga0MLHxdvegInGdXH7tM,462
6
6
  bluehive/_exceptions.py,sha256=QOhLZv_tev7t7XO_pk0NoT7nzwA5VU6wtZdVWarToqo,3224
@@ -10,8 +10,8 @@ bluehive/_qs.py,sha256=craIKyvPktJ94cvf9zn8j8ekG9dWJzhWv0ob34lIOv4,4828
10
10
  bluehive/_resource.py,sha256=MI2mGktYiePpr3PUh2uCPn1ubEsju6JkKoMupdTaqtc,1112
11
11
  bluehive/_response.py,sha256=u3wZ9ksvCqcP549TZTsozw0LNZmHf1yPVWPo1hxMNDg,28800
12
12
  bluehive/_streaming.py,sha256=XdfOw0CK5YOWsYw0YebCWmglGspKi9NOzjkR3Krj9To,10229
13
- bluehive/_types.py,sha256=9h31eihqlGo3KevS5EpSAWg-hJWTZW4wsWCrlTkVC_4,7238
14
- bluehive/_version.py,sha256=NwkWmornUCT5co_EIWMATwpQhk0NjK57-Ia3TCd7VEs,169
13
+ bluehive/_types.py,sha256=a8wHSA7q6T1mqY4qaWJYzAfVCjO6Vm8UOIgCOc4EMhQ,7297
14
+ bluehive/_version.py,sha256=GK0J0TwLNJAJIbM05rWFLUjfh9ioP3FpEsxRsEYsiFw,169
15
15
  bluehive/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  bluehive/_utils/__init__.py,sha256=7fch0GT9zpNnErbciSpUNa-SjTxxjY6kxHxKMOM4AGs,2305
17
17
  bluehive/_utils/_compat.py,sha256=D8gtAvjJQrDWt9upS0XaG9Rr5l1QhiAx_I_1utT_tt0,1195
@@ -40,19 +40,19 @@ bluehive/resources/employers/__init__.py,sha256=-ovT4pUPpmcAS2DPbKjmVXA7AkTPtnYj
40
40
  bluehive/resources/employers/employers.py,sha256=y1ntoaxVC0ItOoJvJKoZFZvUlyaOSdgwnMxaKPSFhII,15415
41
41
  bluehive/resources/employers/service_bundles.py,sha256=EOKYyHZFLX_8w989a_DxLqiFrJ6mfcHNvgpW1R0LHZE,23160
42
42
  bluehive/types/__init__.py,sha256=Hi8LR0U2r8dB-9tZRTF7ar_p2sK9sYIcR_VP2HbbcuY,4051
43
- bluehive/types/database_check_health_response.py,sha256=zLlcDlDzrebwMLjVVwLtYLt-s9v5s-ogQoKOhLDgfeA,986
43
+ bluehive/types/database_check_health_response.py,sha256=CUYPCysskB9HYVxuBujxPWw5Q_HYtHDCnUpg_ja2FIA,1047
44
44
  bluehive/types/employee_create_params.py,sha256=sDBBCKkTyuDobdh8aKuWo_nH1oi2PwKmS8UVkAp4KVI,1415
45
- bluehive/types/employee_create_response.py,sha256=8SsQXkwJvfJhcVr-ISBPskEqtptSFK8dZA6BQsrVyXE,368
46
- bluehive/types/employee_delete_response.py,sha256=6XPSH2M0_xfuB3MflcIGiiuZeEwIxzhqpcbcCANBY-c,236
45
+ bluehive/types/employee_create_response.py,sha256=sAtYkDdY5XJru1K4FLp25Jig3FCoKKNXefx2fYl3WAY,409
46
+ bluehive/types/employee_delete_response.py,sha256=tnUYLcnD5K833J0uuX9emcIX-0Ka4gWKMm96SFiqH78,277
47
47
  bluehive/types/employee_link_user_params.py,sha256=joLgsTE_AdPXnkzMvSB_9wvh0VtDBT_416PTT-m70x0,525
48
- bluehive/types/employee_link_user_response.py,sha256=1qtjsBJq3EVUPRa7ncka2d2sHjJzou0UIAd7m24be18,360
48
+ bluehive/types/employee_link_user_response.py,sha256=TDxxXURT9JtdIKDdHHISsS_nijUDI_33we46WQjmhGs,400
49
49
  bluehive/types/employee_list_params.py,sha256=qQrXZb2wUxOExAYW9-yFlQGMae1OOkAOzThJRos-m7E,578
50
- bluehive/types/employee_list_response.py,sha256=FSHkwPzSGv0E1YHZoLAQkaXTI8ZnZZlnjHQ45v-p5kY,2738
51
- bluehive/types/employee_retrieve_response.py,sha256=j6gJXujtZTg2Y4kdcW1W_ZtUJAX1vCoDR0foADr1QCc,2675
50
+ bluehive/types/employee_list_response.py,sha256=c1OjU_zIKODFf4R_gefOMdFkFsp76-AhG3Ihn4frIaE,2838
51
+ bluehive/types/employee_retrieve_response.py,sha256=WDg66AlAgDNPSRgrI5spQlI2DuPFTha0HGts10yJRU4,2770
52
52
  bluehive/types/employee_unlink_user_params.py,sha256=avms6rnR0HiTp2C5brQsfgDP_9FvqXOBOyt4WpOdvV4,541
53
- bluehive/types/employee_unlink_user_response.py,sha256=UiXg_yue69NkwsnMHD6z7z3uIQW6r1wDsuCxAGK9xfA,244
53
+ bluehive/types/employee_unlink_user_response.py,sha256=Lzgu4IJsV07UtfMTIdN9cD0dlP5XuoxXZZmRorSJP4Y,286
54
54
  bluehive/types/employee_update_params.py,sha256=dyVSS4er6Pa3fwLTgDlK3KOsRpokEMeI_L4vm1HT7dM,1409
55
- bluehive/types/employee_update_response.py,sha256=kQkUDxhf1dhb4WtjzDecdules-73W4ffQQQS3gA4V7c,236
55
+ bluehive/types/employee_update_response.py,sha256=hkELB-dcMnsZihkWUZUqNABTTY9YicLiFi5-fYCbB7k,277
56
56
  bluehive/types/employer_create_params.py,sha256=DFsB8Vtaoyg8aqhvh3D877F31uSuPwP3P1ufE6imraQ,1224
57
57
  bluehive/types/employer_create_response.py,sha256=Af4aHm6Y_S2tP4o7-hKsAUl671-lKqWwrgEnj-ukfrY,815
58
58
  bluehive/types/employer_list_response.py,sha256=8PBOBuAFEUyyGhTyTu0mplilm9fbYybU2F9JT1TX2A0,252
@@ -62,7 +62,7 @@ bluehive/types/fax_retrieve_status_response.py,sha256=KU1eCgg0vvFMKLLmuUhq3KEMry
62
62
  bluehive/types/fax_send_params.py,sha256=u_mEjVxij6F0le0HCLDYOjzRgskE6O8ipwBZj6vgs-s,1136
63
63
  bluehive/types/fax_send_response.py,sha256=rv9t-MWLKKasWPETSn__QurGBXd5DWJdbAdZuQkTfH0,880
64
64
  bluehive/types/health_check_response.py,sha256=WILSpTguVO6DHPF0TK-zKx9xz5ECurna_Mu0hrQ7zK4,259
65
- bluehive/types/hl7_send_results_params.py,sha256=GWdDKQcMyul9jZKH6ouNJ9UIKRAzUWRXrysJsLsIMwo,703
65
+ bluehive/types/hl7_send_results_params.py,sha256=ROC75aywYlB35oonGFng6f8k7xOPcRgudxnT6J2A8gc,742
66
66
  bluehive/types/hl7_send_results_response.py,sha256=KmOB5ULQtdPVvLu0bpiDFd8ABqygvvWx8borj9e9yGI,206
67
67
  bluehive/types/integration_check_active_response.py,sha256=-07-eOa1xFat1JcO8DE6YKNePIgIq8SC7W0CENPbDyc,233
68
68
  bluehive/types/integration_list_response.py,sha256=vx8WGfEzFBJNXPmNy9GLVkVX-3daPFAuXxZeXK8TwZI,490
@@ -91,7 +91,7 @@ bluehive/types/employers/service_bundle_list_response.py,sha256=vnZlYv7KObJ0OSSY
91
91
  bluehive/types/employers/service_bundle_retrieve_response.py,sha256=9nwdzfgErAQFzqwivKhKCLqA9k7ZsMj4YbNig09-Eho,1030
92
92
  bluehive/types/employers/service_bundle_update_params.py,sha256=gxRnvCSsBsUqi1M91nhEXgj-2l03xlrnPeXOPAQ1ujA,812
93
93
  bluehive/types/employers/service_bundle_update_response.py,sha256=zUR_nYflDEmLSmTcFb4EaTELCInqZZI-VIBHgcPq7G4,1026
94
- bluehive-0.1.0a19.dist-info/METADATA,sha256=9lOuAC4qJFsGpz9UPlxOkncOLgcSAau5BVIg7X7Md1I,13680
95
- bluehive-0.1.0a19.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
96
- bluehive-0.1.0a19.dist-info/licenses/LICENSE,sha256=Q2LP5YQQAGzyScIIkgum9Z19KCG4jZvZHMgDQ_vOOqM,11338
97
- bluehive-0.1.0a19.dist-info/RECORD,,
94
+ bluehive-0.1.0a21.dist-info/METADATA,sha256=qChSv1kwEUh_ZItugMY-LH6tbQBjievIJVu_DVaoZ-g,13680
95
+ bluehive-0.1.0a21.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
96
+ bluehive-0.1.0a21.dist-info/licenses/LICENSE,sha256=Q2LP5YQQAGzyScIIkgum9Z19KCG4jZvZHMgDQ_vOOqM,11338
97
+ bluehive-0.1.0a21.dist-info/RECORD,,