Skip to content

Commit d93f43f

Browse files
Release 0.0.76
1 parent 15c610b commit d93f43f

34 files changed

Lines changed: 1016 additions & 283 deletions

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,14 @@ client = AgentMail(
8080
response = client.inboxes.with_raw_response.create(...)
8181
print(response.headers) # access the response headers
8282
print(response.data) # access the underlying object
83+
pager = client.inboxes.list(...)
84+
print(pager.response.headers) # access the response headers for the first page
85+
for item in pager:
86+
print(item) # access the underlying object(s)
87+
for page in pager.iter_pages():
88+
print(page.response.headers) # access the response headers for each page
89+
for item in page:
90+
print(item) # access the underlying object(s)
8391
```
8492

8593
### Retries

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name = "agentmail"
33

44
[tool.poetry]
55
name = "agentmail"
6-
version = "0.0.75"
6+
version = "0.0.76"
77
description = ""
88
readme = "README.md"
99
authors = []

reference.md

Lines changed: 84 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,12 @@ from agentmail import AgentMail
1818
client = AgentMail(
1919
api_key="YOUR_API_KEY",
2020
)
21-
client.inboxes.list()
21+
response = client.inboxes.list()
22+
for item in response:
23+
yield item
24+
# alternatively, you can paginate page-by-page
25+
for page in response.iter_pages():
26+
yield page
2227

2328
```
2429
</dd>
@@ -271,7 +276,12 @@ from agentmail import AgentMail
271276
client = AgentMail(
272277
api_key="YOUR_API_KEY",
273278
)
274-
client.pods.list()
279+
response = client.pods.list()
280+
for item in response:
281+
yield item
282+
# alternatively, you can paginate page-by-page
283+
for page in response.iter_pages():
284+
yield page
275285

276286
```
277287
</dd>
@@ -508,7 +518,12 @@ from agentmail import AgentMail
508518
client = AgentMail(
509519
api_key="YOUR_API_KEY",
510520
)
511-
client.webhooks.list()
521+
response = client.webhooks.list()
522+
for item in response:
523+
yield item
524+
# alternatively, you can paginate page-by-page
525+
for page in response.iter_pages():
526+
yield page
512527

513528
```
514529
</dd>
@@ -764,7 +779,12 @@ from agentmail import AgentMail
764779
client = AgentMail(
765780
api_key="YOUR_API_KEY",
766781
)
767-
client.api_keys.list()
782+
response = client.api_keys.list()
783+
for item in response:
784+
yield item
785+
# alternatively, you can paginate page-by-page
786+
for page in response.iter_pages():
787+
yield page
768788

769789
```
770790
</dd>
@@ -939,7 +959,12 @@ from agentmail import AgentMail
939959
client = AgentMail(
940960
api_key="YOUR_API_KEY",
941961
)
942-
client.domains.list()
962+
response = client.domains.list()
963+
for item in response:
964+
yield item
965+
# alternatively, you can paginate page-by-page
966+
for page in response.iter_pages():
967+
yield page
943968

944969
```
945970
</dd>
@@ -1291,7 +1316,12 @@ from agentmail import AgentMail
12911316
client = AgentMail(
12921317
api_key="YOUR_API_KEY",
12931318
)
1294-
client.drafts.list()
1319+
response = client.drafts.list()
1320+
for item in response:
1321+
yield item
1322+
# alternatively, you can paginate page-by-page
1323+
for page in response.iter_pages():
1324+
yield page
12951325

12961326
```
12971327
</dd>
@@ -1442,9 +1472,14 @@ from agentmail import AgentMail
14421472
client = AgentMail(
14431473
api_key="YOUR_API_KEY",
14441474
)
1445-
client.inboxes.drafts.list(
1475+
response = client.inboxes.drafts.list(
14461476
inbox_id="inbox_id",
14471477
)
1478+
for item in response:
1479+
yield item
1480+
# alternatively, you can paginate page-by-page
1481+
for page in response.iter_pages():
1482+
yield page
14481483

14491484
```
14501485
</dd>
@@ -2031,9 +2066,14 @@ from agentmail import AgentMail
20312066
client = AgentMail(
20322067
api_key="YOUR_API_KEY",
20332068
)
2034-
client.inboxes.messages.list(
2069+
response = client.inboxes.messages.list(
20352070
inbox_id="inbox_id",
20362071
)
2072+
for item in response:
2073+
yield item
2074+
# alternatively, you can paginate page-by-page
2075+
for page in response.iter_pages():
2076+
yield page
20372077

20382078
```
20392079
</dd>
@@ -2767,9 +2807,14 @@ from agentmail import AgentMail
27672807
client = AgentMail(
27682808
api_key="YOUR_API_KEY",
27692809
)
2770-
client.inboxes.threads.list(
2810+
response = client.inboxes.threads.list(
27712811
inbox_id="inbox_id",
27722812
)
2813+
for item in response:
2814+
yield item
2815+
# alternatively, you can paginate page-by-page
2816+
for page in response.iter_pages():
2817+
yield page
27732818

27742819
```
27752820
</dd>
@@ -3156,9 +3201,14 @@ from agentmail import AgentMail
31563201
client = AgentMail(
31573202
api_key="YOUR_API_KEY",
31583203
)
3159-
client.pods.domains.list(
3204+
response = client.pods.domains.list(
31603205
pod_id="pod_id",
31613206
)
3207+
for item in response:
3208+
yield item
3209+
# alternatively, you can paginate page-by-page
3210+
for page in response.iter_pages():
3211+
yield page
31623212

31633213
```
31643214
</dd>
@@ -3400,9 +3450,14 @@ from agentmail import AgentMail
34003450
client = AgentMail(
34013451
api_key="YOUR_API_KEY",
34023452
)
3403-
client.pods.drafts.list(
3453+
response = client.pods.drafts.list(
34043454
pod_id="pod_id",
34053455
)
3456+
for item in response:
3457+
yield item
3458+
# alternatively, you can paginate page-by-page
3459+
for page in response.iter_pages():
3460+
yield page
34063461

34073462
```
34083463
</dd>
@@ -3570,9 +3625,14 @@ from agentmail import AgentMail
35703625
client = AgentMail(
35713626
api_key="YOUR_API_KEY",
35723627
)
3573-
client.pods.inboxes.list(
3628+
response = client.pods.inboxes.list(
35743629
pod_id="pod_id",
35753630
)
3631+
for item in response:
3632+
yield item
3633+
# alternatively, you can paginate page-by-page
3634+
for page in response.iter_pages():
3635+
yield page
35763636

35773637
```
35783638
</dd>
@@ -3893,9 +3953,14 @@ from agentmail import AgentMail
38933953
client = AgentMail(
38943954
api_key="YOUR_API_KEY",
38953955
)
3896-
client.pods.threads.list(
3956+
response = client.pods.threads.list(
38973957
pod_id="pod_id",
38983958
)
3959+
for item in response:
3960+
yield item
3961+
# alternatively, you can paginate page-by-page
3962+
for page in response.iter_pages():
3963+
yield page
38993964

39003965
```
39013966
</dd>
@@ -4137,7 +4202,12 @@ from agentmail import AgentMail
41374202
client = AgentMail(
41384203
api_key="YOUR_API_KEY",
41394204
)
4140-
client.threads.list()
4205+
response = client.threads.list()
4206+
for item in response:
4207+
yield item
4208+
# alternatively, you can paginate page-by-page
4209+
for page in response.iter_pages():
4210+
yield page
41414211

41424212
```
41434213
</dd>

src/agentmail/api_keys/client.py

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,14 @@
33
import typing
44

55
from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6+
from ..core.pagination import AsyncPager, SyncPager
67
from ..core.request_options import RequestOptions
78
from ..types.limit import Limit
89
from ..types.page_token import PageToken
910
from .raw_client import AsyncRawApiKeysClient, RawApiKeysClient
11+
from .types.api_key import ApiKey
1012
from .types.api_key_id import ApiKeyId
1113
from .types.create_api_key_response import CreateApiKeyResponse
12-
from .types.list_api_keys_response import ListApiKeysResponse
1314
from .types.name import Name
1415

1516
# this is used as the default value for optional parameters
@@ -37,7 +38,7 @@ def list(
3738
limit: typing.Optional[Limit] = None,
3839
page_token: typing.Optional[PageToken] = None,
3940
request_options: typing.Optional[RequestOptions] = None,
40-
) -> ListApiKeysResponse:
41+
) -> SyncPager[ApiKey]:
4142
"""
4243
Parameters
4344
----------
@@ -50,7 +51,7 @@ def list(
5051
5152
Returns
5253
-------
53-
ListApiKeysResponse
54+
SyncPager[ApiKey]
5455
5556
Examples
5657
--------
@@ -59,10 +60,14 @@ def list(
5960
client = AgentMail(
6061
api_key="YOUR_API_KEY",
6162
)
62-
client.api_keys.list()
63+
response = client.api_keys.list()
64+
for item in response:
65+
yield item
66+
# alternatively, you can paginate page-by-page
67+
for page in response.iter_pages():
68+
yield page
6369
"""
64-
_response = self._raw_client.list(limit=limit, page_token=page_token, request_options=request_options)
65-
return _response.data
70+
return self._raw_client.list(limit=limit, page_token=page_token, request_options=request_options)
6671

6772
def create(self, *, name: Name, request_options: typing.Optional[RequestOptions] = None) -> CreateApiKeyResponse:
6873
"""
@@ -140,7 +145,7 @@ async def list(
140145
limit: typing.Optional[Limit] = None,
141146
page_token: typing.Optional[PageToken] = None,
142147
request_options: typing.Optional[RequestOptions] = None,
143-
) -> ListApiKeysResponse:
148+
) -> AsyncPager[ApiKey]:
144149
"""
145150
Parameters
146151
----------
@@ -153,7 +158,7 @@ async def list(
153158
154159
Returns
155160
-------
156-
ListApiKeysResponse
161+
AsyncPager[ApiKey]
157162
158163
Examples
159164
--------
@@ -167,13 +172,18 @@ async def list(
167172
168173
169174
async def main() -> None:
170-
await client.api_keys.list()
175+
response = await client.api_keys.list()
176+
async for item in response:
177+
yield item
178+
179+
# alternatively, you can paginate page-by-page
180+
async for page in response.iter_pages():
181+
yield page
171182
172183
173184
asyncio.run(main())
174185
"""
175-
_response = await self._raw_client.list(limit=limit, page_token=page_token, request_options=request_options)
176-
return _response.data
186+
return await self._raw_client.list(limit=limit, page_token=page_token, request_options=request_options)
177187

178188
async def create(
179189
self, *, name: Name, request_options: typing.Optional[RequestOptions] = None

0 commit comments

Comments
 (0)