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 +3 -2
- aiinbx/_version.py +1 -1
- aiinbx/resources/domains.py +4 -0
- aiinbx/resources/emails.py +4 -0
- aiinbx/resources/threads.py +4 -0
- aiinbx/types/unwrap_webhook_event.py +13 -9
- {aiinbx-0.172.0.dist-info → aiinbx-0.205.1.dist-info}/METADATA +3 -2
- {aiinbx-0.172.0.dist-info → aiinbx-0.205.1.dist-info}/RECORD +10 -10
- {aiinbx-0.172.0.dist-info → aiinbx-0.205.1.dist-info}/WHEEL +0 -0
- {aiinbx-0.172.0.dist-info → aiinbx-0.205.1.dist-info}/licenses/LICENSE +0 -0
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
aiinbx/resources/domains.py
CHANGED
|
@@ -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
|
aiinbx/resources/emails.py
CHANGED
|
@@ -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
|
aiinbx/resources/threads.py
CHANGED
|
@@ -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 =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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.
|
|
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="
|
|
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=
|
|
14
|
-
aiinbx/_version.py,sha256=
|
|
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
|
|
31
|
-
aiinbx/resources/emails.py,sha256=
|
|
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=
|
|
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=
|
|
61
|
-
aiinbx-0.
|
|
62
|
-
aiinbx-0.
|
|
63
|
-
aiinbx-0.
|
|
64
|
-
aiinbx-0.
|
|
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,,
|
|
File without changes
|
|
File without changes
|