aiinbx 0.172.0__py3-none-any.whl → 0.205.1__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.
aiinbx/_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
aiinbx/_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__ = "aiinbx"
4
- __version__ = "0.172.0" # x-release-please-version
4
+ __version__ = "0.205.1" # x-release-please-version
@@ -93,6 +93,8 @@ class DomainsResource(SyncAPIResource):
93
93
  Retrieve a domain by its ID
94
94
 
95
95
  Args:
96
+ domain_id: The unique identifier of the domain
97
+
96
98
  extra_headers: Send extra headers
97
99
 
98
100
  extra_query: Add additional query parameters to the request
@@ -266,6 +268,8 @@ class AsyncDomainsResource(AsyncAPIResource):
266
268
  Retrieve a domain by its ID
267
269
 
268
270
  Args:
271
+ domain_id: The unique identifier of the domain
272
+
269
273
  extra_headers: Send extra headers
270
274
 
271
275
  extra_query: Add additional query parameters to the request
@@ -60,6 +60,8 @@ class EmailsResource(SyncAPIResource):
60
60
  Retrieve a specific email by its ID using API key authentication
61
61
 
62
62
  Args:
63
+ email_id: The unique identifier of the email
64
+
63
65
  extra_headers: Send extra headers
64
66
 
65
67
  extra_query: Add additional query parameters to the request
@@ -251,6 +253,8 @@ class AsyncEmailsResource(AsyncAPIResource):
251
253
  Retrieve a specific email by its ID using API key authentication
252
254
 
253
255
  Args:
256
+ email_id: The unique identifier of the email
257
+
254
258
  extra_headers: Send extra headers
255
259
 
256
260
  extra_query: Add additional query parameters to the request
@@ -62,6 +62,8 @@ class ThreadsResource(SyncAPIResource):
62
62
  authentication
63
63
 
64
64
  Args:
65
+ thread_id: The unique identifier of the thread
66
+
65
67
  extra_headers: Send extra headers
66
68
 
67
69
  extra_query: Add additional query parameters to the request
@@ -257,6 +259,8 @@ class AsyncThreadsResource(AsyncAPIResource):
257
259
  authentication
258
260
 
259
261
  Args:
262
+ thread_id: The unique identifier of the thread
263
+
260
264
  extra_headers: Send extra headers
261
265
 
262
266
  extra_query: Add additional query parameters to the request
@@ -1,8 +1,9 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  from typing import Union
4
- from typing_extensions import TypeAlias
4
+ from typing_extensions import Annotated, TypeAlias
5
5
 
6
+ from .._utils import PropertyInfo
6
7
  from .outbound_email_opened_webhook_event import OutboundEmailOpenedWebhookEvent
7
8
  from .inbound_email_received_webhook_event import InboundEmailReceivedWebhookEvent
8
9
  from .outbound_email_bounced_webhook_event import OutboundEmailBouncedWebhookEvent
@@ -13,12 +14,15 @@ from .outbound_email_complained_webhook_event import OutboundEmailComplainedWebh
13
14
 
14
15
  __all__ = ["UnwrapWebhookEvent"]
15
16
 
16
- UnwrapWebhookEvent: TypeAlias = Union[
17
- InboundEmailReceivedWebhookEvent,
18
- OutboundEmailDeliveredWebhookEvent,
19
- OutboundEmailBouncedWebhookEvent,
20
- OutboundEmailComplainedWebhookEvent,
21
- OutboundEmailRejectedWebhookEvent,
22
- OutboundEmailOpenedWebhookEvent,
23
- OutboundEmailClickedWebhookEvent,
17
+ UnwrapWebhookEvent: TypeAlias = Annotated[
18
+ Union[
19
+ InboundEmailReceivedWebhookEvent,
20
+ OutboundEmailDeliveredWebhookEvent,
21
+ OutboundEmailBouncedWebhookEvent,
22
+ OutboundEmailComplainedWebhookEvent,
23
+ OutboundEmailRejectedWebhookEvent,
24
+ OutboundEmailOpenedWebhookEvent,
25
+ OutboundEmailClickedWebhookEvent,
26
+ ],
27
+ PropertyInfo(discriminator="event"),
24
28
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: aiinbx
3
- Version: 0.172.0
3
+ Version: 0.205.1
4
4
  Summary: The official Python library for the AIInbx API
5
5
  Project-URL: Homepage, https://github.com/aiinbx/aiinbx-py
6
6
  Project-URL: Repository, https://github.com/aiinbx/aiinbx-py
@@ -114,6 +114,7 @@ pip install aiinbx[aiohttp]
114
114
  Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:
115
115
 
116
116
  ```python
117
+ import os
117
118
  import asyncio
118
119
  from aiinbx import DefaultAioHttpClient
119
120
  from aiinbx import AsyncAIInbx
@@ -121,7 +122,7 @@ from aiinbx import AsyncAIInbx
121
122
 
122
123
  async def main() -> None:
123
124
  async with AsyncAIInbx(
124
- api_key="My API Key",
125
+ api_key=os.environ.get("AI_INBX_API_KEY"), # This is the default and can be omitted
125
126
  http_client=DefaultAioHttpClient(),
126
127
  ) as client:
127
128
  response = await client.threads.search()
@@ -10,8 +10,8 @@ aiinbx/_qs.py,sha256=craIKyvPktJ94cvf9zn8j8ekG9dWJzhWv0ob34lIOv4,4828
10
10
  aiinbx/_resource.py,sha256=R_-4UEtw4XqdaVP9kNZE-XgrsuRBrQeFB0x4vbgWM_k,1100
11
11
  aiinbx/_response.py,sha256=bN_uhJdOtEIu7WonnaRndk73_0N7bpUqEqUx_rZUxH8,28788
12
12
  aiinbx/_streaming.py,sha256=7AWeXwBPMgZiPlU6Z5quvQqDqHDkkt9j38z5L0CBk50,10221
13
- aiinbx/_types.py,sha256=k1TfzLVNmuxwSkopIgy03zuljyVxSEiekHlbSzCR9U0,7236
14
- aiinbx/_version.py,sha256=8k1gFffE8FYBgZoKef9xjSI8diVraFhREozSA03CXO8,160
13
+ aiinbx/_types.py,sha256=LZpO7LB3Jw41PC06Kop69F0oo8jXulYKCOylxrlYkis,7295
14
+ aiinbx/_version.py,sha256=MG1xerRimzf0L1alW1Px_47M5w1fFXBAfCmrpUjQwD4,160
15
15
  aiinbx/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  aiinbx/_utils/__init__.py,sha256=7fch0GT9zpNnErbciSpUNa-SjTxxjY6kxHxKMOM4AGs,2305
17
17
  aiinbx/_utils/_compat.py,sha256=D8gtAvjJQrDWt9upS0XaG9Rr5l1QhiAx_I_1utT_tt0,1195
@@ -27,10 +27,10 @@ aiinbx/_utils/_typing.py,sha256=N_5PPuFNsaygbtA_npZd98SVN1LQQvFTKL6bkWPBZGU,4786
27
27
  aiinbx/_utils/_utils.py,sha256=ugfUaneOK7I8h9b3656flwf5u_kthY0gvNuqvgOLoSU,12252
28
28
  aiinbx/lib/.keep,sha256=wuNrz-5SXo3jJaJOJgz4vFHM41YH_g20F5cRQo0vLes,224
29
29
  aiinbx/resources/__init__.py,sha256=A9igPOfiP9soOFOLpVfUBwR7looj88eofftT1jXV-jw,2017
30
- aiinbx/resources/domains.py,sha256=-MNGBG7p7acT_ck-47NDX2nOiJ_pH-9qUrVWjbbjmsk,17432
31
- aiinbx/resources/emails.py,sha256=MABHkkRly_2KdDK2IU3CHhx_gH2DUCci0lTG81AZeWU,17839
30
+ aiinbx/resources/domains.py,sha256=xY9R9UNLwo72X8XOHEVs7bb7samZqHR4uBEyzUNw2z8,17548
31
+ aiinbx/resources/emails.py,sha256=5_FexN9HgTP27_HyfZJuhJswlYiUji_H2Xavgl5EeIs,17951
32
32
  aiinbx/resources/meta.py,sha256=pG0ICZDnENRpvhVDPjoCZW509jhxgIpjhb8gG4hRusw,5464
33
- aiinbx/resources/threads.py,sha256=jjP_jR2Mi7W5bqweTy9ZBqgfYlIPX0mjFSKr13oKz_k,18845
33
+ aiinbx/resources/threads.py,sha256=2M68tKRV-hJU-ZszTCjVqaxY530GIvACO9ewwEH6Lbk,18961
34
34
  aiinbx/resources/webhooks.py,sha256=2aBYtHvVy4Ngpq_GEEMk0U6Vn_LKFwommXaguEjhhj0,962
35
35
  aiinbx/types/__init__.py,sha256=Nax8UISh-wdV5r4vKVb8h1DXCgEhtidtyIjX0ZcBcnE,2424
36
36
  aiinbx/types/domain_create_params.py,sha256=6VplEi2RZNbhYkfQ0E08gOYQ9nJyQvvOYu9yUsKfpq8,285
@@ -57,8 +57,8 @@ aiinbx/types/thread_forward_response.py,sha256=DmxnVB38C3R-fsNURfKMf5chNbKamQcx_
57
57
  aiinbx/types/thread_retrieve_response.py,sha256=s5jj2iwBfcoVPeybIOJUVwRhvnc_0NdEMcbDGJnheEw,2364
58
58
  aiinbx/types/thread_search_params.py,sha256=ZvlTTw4b_swhuC0VoLnU2QI1hYjROiEAyJ4HJXCrR9M,1939
59
59
  aiinbx/types/thread_search_response.py,sha256=lldugJNQuQ5tsD9BrgxoDNojAYs7Ks8iZDMxwhnjogY,908
60
- aiinbx/types/unwrap_webhook_event.py,sha256=6Hp4c5iHNs2lw3DYgRrgvRFBOmms0NADJ5XExEZrICI,1091
61
- aiinbx-0.172.0.dist-info/METADATA,sha256=xDR8UUJ_7fEhEx-k22y6h9Nv76HBN47x6Fa1zOgSbAU,13209
62
- aiinbx-0.172.0.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
63
- aiinbx-0.172.0.dist-info/licenses/LICENSE,sha256=i1rY5G0rFWpuWXv5WPoFrQEOrDWycksLhJxuLBF1tZw,11337
64
- aiinbx-0.172.0.dist-info/RECORD,,
60
+ aiinbx/types/unwrap_webhook_event.py,sha256=70k2BARL8N22tVhpaFHOXknzr1hnCjKfTssZxY7HLF4,1227
61
+ aiinbx-0.205.1.dist-info/METADATA,sha256=yeu8qKGWFbZ3CyfFlNkUlnAPUfLhHXFxJfdS4jqjQ1A,13282
62
+ aiinbx-0.205.1.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
63
+ aiinbx-0.205.1.dist-info/licenses/LICENSE,sha256=i1rY5G0rFWpuWXv5WPoFrQEOrDWycksLhJxuLBF1tZw,11337
64
+ aiinbx-0.205.1.dist-info/RECORD,,