Skip to content

Commit 0048d3e

Browse files
committed
inline all data fields in responses
1 parent e7558ef commit 0048d3e

File tree

7 files changed

+72
-78
lines changed

7 files changed

+72
-78
lines changed

src/apify_client/_resource_clients/dataset.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
from apify_shared.utils import create_storage_content_signature
99

10-
from apify_client._models import Dataset, DatasetResponse, GetDatasetStatisticsResponse
10+
from apify_client._models import Data11, Dataset, DatasetResponse, GetDatasetStatisticsResponse
1111
from apify_client._resource_clients.base import ResourceClient, ResourceClientAsync
1212
from apify_client._types import ListPage
1313
from apify_client._utils import (
@@ -566,7 +566,7 @@ def push_items(self, items: JsonSerializable) -> None:
566566
timeout_secs=_MEDIUM_TIMEOUT,
567567
)
568568

569-
def get_statistics(self) -> GetDatasetStatisticsResponse | None:
569+
def get_statistics(self) -> Data11 | None:
570570
"""Get the dataset statistics.
571571
572572
https://docs.apify.com/api/v2#tag/DatasetsStatistics/operation/dataset_statistics_get
@@ -582,7 +582,7 @@ def get_statistics(self) -> GetDatasetStatisticsResponse | None:
582582
timeout_secs=_SMALL_TIMEOUT,
583583
)
584584
result = response.json()
585-
return GetDatasetStatisticsResponse.model_validate(result) if result is not None else None
585+
return GetDatasetStatisticsResponse.model_validate(result).data if result is not None else None
586586
except ApifyApiError as exc:
587587
catch_not_found_or_throw(exc)
588588

@@ -1092,7 +1092,7 @@ async def push_items(self, items: JsonSerializable) -> None:
10921092
timeout_secs=_MEDIUM_TIMEOUT,
10931093
)
10941094

1095-
async def get_statistics(self) -> GetDatasetStatisticsResponse | None:
1095+
async def get_statistics(self) -> Data11 | None:
10961096
"""Get the dataset statistics.
10971097
10981098
https://docs.apify.com/api/v2#tag/DatasetsStatistics/operation/dataset_statistics_get
@@ -1108,7 +1108,7 @@ async def get_statistics(self) -> GetDatasetStatisticsResponse | None:
11081108
timeout_secs=_SMALL_TIMEOUT,
11091109
)
11101110
result = response.json()
1111-
return GetDatasetStatisticsResponse.model_validate(result) if result is not None else None
1111+
return GetDatasetStatisticsResponse.model_validate(result).data if result is not None else None
11121112
except ApifyApiError as exc:
11131113
catch_not_found_or_throw(exc)
11141114

src/apify_client/_resource_clients/key_value_store.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
from apify_shared.utils import create_hmac_signature, create_storage_content_signature
99

10-
from apify_client._models import GetStoreResponse, KeyValueStore, ListOfKeysResponse
10+
from apify_client._models import Data8, GetStoreResponse, KeyValueStore, ListOfKeysResponse
1111
from apify_client._resource_clients.base import ResourceClient, ResourceClientAsync
1212
from apify_client._utils import (
1313
catch_not_found_or_throw,
@@ -79,7 +79,7 @@ def list_keys(
7979
collection: str | None = None,
8080
prefix: str | None = None,
8181
signature: str | None = None,
82-
) -> ListOfKeysResponse:
82+
) -> Data8:
8383
"""List the keys in the key-value store.
8484
8585
https://docs.apify.com/api/v2#/reference/key-value-stores/key-collection/get-list-of-keys
@@ -110,7 +110,7 @@ def list_keys(
110110
)
111111

112112
result = response.json()
113-
return ListOfKeysResponse.model_validate(result)
113+
return ListOfKeysResponse.model_validate(result).data
114114

115115
def get_record(self, key: str, signature: str | None = None) -> dict | None:
116116
"""Retrieve the given record from the key-value store.
@@ -411,7 +411,7 @@ async def list_keys(
411411
collection: str | None = None,
412412
prefix: str | None = None,
413413
signature: str | None = None,
414-
) -> ListOfKeysResponse:
414+
) -> Data8:
415415
"""List the keys in the key-value store.
416416
417417
https://docs.apify.com/api/v2#/reference/key-value-stores/key-collection/get-list-of-keys
@@ -442,7 +442,7 @@ async def list_keys(
442442
)
443443

444444
result = response.json()
445-
return ListOfKeysResponse.model_validate(result)
445+
return ListOfKeysResponse.model_validate(result).data
446446

447447
async def get_record(self, key: str, signature: str | None = None) -> dict | None:
448448
"""Retrieve the given record from the key-value store.

src/apify_client/_resource_clients/request_queue.py

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@
1313
AddRequestResponse,
1414
BatchOperationResponse,
1515
Data13,
16+
Data14,
17+
Data15,
18+
Data16,
19+
Data17,
1620
GetHeadAndLockResponse,
1721
GetHeadResponse,
1822
GetRequestQueueResponse,
@@ -100,7 +104,7 @@ def delete(self) -> None:
100104
"""
101105
return self._delete(timeout_secs=_SMALL_TIMEOUT)
102106

103-
def list_head(self, *, limit: int | None = None) -> GetHeadResponse:
107+
def list_head(self, *, limit: int | None = None) -> Data15:
104108
"""Retrieve a given number of requests from the beginning of the queue.
105109
106110
https://docs.apify.com/api/v2#/reference/request-queues/queue-head/get-head
@@ -121,9 +125,9 @@ def list_head(self, *, limit: int | None = None) -> GetHeadResponse:
121125
)
122126

123127
result = response.json()
124-
return GetHeadResponse.model_validate(result)
128+
return GetHeadResponse.model_validate(result).data
125129

126-
def list_and_lock_head(self, *, lock_secs: int, limit: int | None = None) -> GetHeadAndLockResponse:
130+
def list_and_lock_head(self, *, lock_secs: int, limit: int | None = None) -> Data16:
127131
"""Retrieve a given number of unlocked requests from the beginning of the queue and lock them for a given time.
128132
129133
https://docs.apify.com/api/v2#/reference/request-queues/queue-head-with-locks/get-head-and-lock
@@ -145,7 +149,7 @@ def list_and_lock_head(self, *, lock_secs: int, limit: int | None = None) -> Get
145149
)
146150

147151
result = response.json()
148-
return GetHeadAndLockResponse.model_validate(result)
152+
return GetHeadAndLockResponse.model_validate(result).data
149153

150154
def add_request(self, request: dict, *, forefront: bool | None = None) -> RequestOperationInfo:
151155
"""Add a request to the queue.
@@ -250,7 +254,7 @@ def prolong_request_lock(
250254
*,
251255
forefront: bool | None = None,
252256
lock_secs: int,
253-
) -> ProlongRequestLockResponse:
257+
) -> Data17 | None:
254258
"""Prolong the lock on a request.
255259
256260
https://docs.apify.com/api/v2#/reference/request-queues/request-lock/prolong-request-lock
@@ -270,7 +274,7 @@ def prolong_request_lock(
270274
)
271275

272276
result = response.json()
273-
return ProlongRequestLockResponse.model_validate(result)
277+
return ProlongRequestLockResponse.model_validate(result).data
274278

275279
def delete_request_lock(self, request_id: str, *, forefront: bool | None = None) -> None:
276280
"""Delete the lock on a request.
@@ -371,7 +375,7 @@ def batch_add_requests(
371375
)
372376
)
373377

374-
def batch_delete_requests(self, requests: list[dict]) -> BatchOperationResponse:
378+
def batch_delete_requests(self, requests: list[dict]) -> Data13:
375379
"""Delete given requests from the queue.
376380
377381
https://docs.apify.com/api/v2#/reference/request-queues/batch-request-operations/delete-requests
@@ -390,14 +394,14 @@ def batch_delete_requests(self, requests: list[dict]) -> BatchOperationResponse:
390394
)
391395

392396
result = response.json()
393-
return BatchOperationResponse.model_validate(result)
397+
return BatchOperationResponse.model_validate(result).data
394398

395399
def list_requests(
396400
self,
397401
*,
398402
limit: int | None = None,
399403
exclusive_start_id: str | None = None,
400-
) -> ListRequestsResponse:
404+
) -> Data14:
401405
"""List requests in the queue.
402406
403407
https://docs.apify.com/api/v2#/reference/request-queues/request-collection/list-requests
@@ -416,9 +420,9 @@ def list_requests(
416420
)
417421

418422
result = response.json()
419-
return ListRequestsResponse.model_validate(result)
423+
return ListRequestsResponse.model_validate(result).data
420424

421-
def unlock_requests(self: RequestQueueClient) -> BatchOperationResponse:
425+
def unlock_requests(self: RequestQueueClient) -> Data13:
422426
"""Unlock all requests in the queue, which were locked by the same clientKey or from the same Actor run.
423427
424428
https://docs.apify.com/api/v2#/reference/request-queues/request-collection/unlock-requests
@@ -435,7 +439,7 @@ def unlock_requests(self: RequestQueueClient) -> BatchOperationResponse:
435439
)
436440

437441
result = response.json()
438-
return BatchOperationResponse.model_validate(result)
442+
return BatchOperationResponse.model_validate(result).data
439443

440444

441445
class RequestQueueClientAsync(ResourceClientAsync):
@@ -499,7 +503,7 @@ async def delete(self) -> None:
499503
"""
500504
return await self._delete(timeout_secs=_SMALL_TIMEOUT)
501505

502-
async def list_head(self, *, limit: int | None = None) -> GetHeadResponse:
506+
async def list_head(self, *, limit: int | None = None) -> Data15:
503507
"""Retrieve a given number of requests from the beginning of the queue.
504508
505509
https://docs.apify.com/api/v2#/reference/request-queues/queue-head/get-head
@@ -520,9 +524,9 @@ async def list_head(self, *, limit: int | None = None) -> GetHeadResponse:
520524
)
521525

522526
result = response.json()
523-
return GetHeadResponse.model_validate(result)
527+
return GetHeadResponse.model_validate(result).data
524528

525-
async def list_and_lock_head(self, *, lock_secs: int, limit: int | None = None) -> GetHeadAndLockResponse:
529+
async def list_and_lock_head(self, *, lock_secs: int, limit: int | None = None) -> Data16:
526530
"""Retrieve a given number of unlocked requests from the beginning of the queue and lock them for a given time.
527531
528532
https://docs.apify.com/api/v2#/reference/request-queues/queue-head-with-locks/get-head-and-lock
@@ -544,7 +548,7 @@ async def list_and_lock_head(self, *, lock_secs: int, limit: int | None = None)
544548
)
545549

546550
result = response.json()
547-
return GetHeadAndLockResponse.model_validate(result)
551+
return GetHeadAndLockResponse.model_validate(result).data
548552

549553
async def add_request(self, request: dict, *, forefront: bool | None = None) -> RequestOperationInfo:
550554
"""Add a request to the queue.
@@ -647,7 +651,7 @@ async def prolong_request_lock(
647651
*,
648652
forefront: bool | None = None,
649653
lock_secs: int,
650-
) -> ProlongRequestLockResponse:
654+
) -> Data17 | None:
651655
"""Prolong the lock on a request.
652656
653657
https://docs.apify.com/api/v2#/reference/request-queues/request-lock/prolong-request-lock
@@ -667,7 +671,7 @@ async def prolong_request_lock(
667671
)
668672

669673
result = response.json()
670-
return ProlongRequestLockResponse.model_validate(result)
674+
return ProlongRequestLockResponse.model_validate(result).data
671675

672676
async def delete_request_lock(
673677
self,
@@ -821,7 +825,7 @@ async def batch_add_requests(
821825
)
822826
)
823827

824-
async def batch_delete_requests(self, requests: list[dict]) -> BatchOperationResponse:
828+
async def batch_delete_requests(self, requests: list[dict]) -> Data13:
825829
"""Delete given requests from the queue.
826830
827831
https://docs.apify.com/api/v2#/reference/request-queues/batch-request-operations/delete-requests
@@ -839,14 +843,14 @@ async def batch_delete_requests(self, requests: list[dict]) -> BatchOperationRes
839843
timeout_secs=_SMALL_TIMEOUT,
840844
)
841845
result = response.json()
842-
return BatchOperationResponse.model_validate(result)
846+
return BatchOperationResponse.model_validate(result).data
843847

844848
async def list_requests(
845849
self,
846850
*,
847851
limit: int | None = None,
848852
exclusive_start_id: str | None = None,
849-
) -> ListRequestsResponse:
853+
) -> Data14:
850854
"""List requests in the queue.
851855
852856
https://docs.apify.com/api/v2#/reference/request-queues/request-collection/list-requests
@@ -865,9 +869,9 @@ async def list_requests(
865869
)
866870

867871
result = response.json()
868-
return ListRequestsResponse.model_validate(result)
872+
return ListRequestsResponse.model_validate(result).data
869873

870-
async def unlock_requests(self: RequestQueueClientAsync) -> BatchOperationResponse:
874+
async def unlock_requests(self: RequestQueueClientAsync) -> Data13:
871875
"""Unlock all requests in the queue, which were locked by the same clientKey or from the same Actor run.
872876
873877
https://docs.apify.com/api/v2#/reference/request-queues/request-collection/unlock-requests
@@ -884,4 +888,4 @@ async def unlock_requests(self: RequestQueueClientAsync) -> BatchOperationRespon
884888
)
885889

886890
result = response.json()
887-
return BatchOperationResponse.model_validate(result)
891+
return BatchOperationResponse.model_validate(result).data

tests/integration/test_key_value_store.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ def test_list_keys_signature(apify_client: ApifyClient, test_kvs_of_another_user
144144

145145
# Kvs content retrieved with correct signature
146146
response = kvs.list_keys(signature=test_kvs_of_another_user.signature)
147-
raw_items = response.data.items
147+
raw_items = response.items
148148

149149
assert set(test_kvs_of_another_user.expected_content) == {item.key for item in raw_items}
150150

@@ -323,11 +323,10 @@ def test_key_value_store_list_keys(apify_client: ApifyClient) -> None:
323323
# List keys
324324
keys_response = store_client.list_keys()
325325
assert keys_response is not None
326-
assert keys_response.data is not None
327-
assert len(keys_response.data.items) == 5
326+
assert len(keys_response.items) == 5
328327

329328
# Verify key names
330-
key_names = [item.key for item in keys_response.data.items]
329+
key_names = [item.key for item in keys_response.items]
331330
for i in range(5):
332331
assert f'key-{i}' in key_names
333332

@@ -352,8 +351,7 @@ def test_key_value_store_list_keys_with_limit(apify_client: ApifyClient) -> None
352351
# List with limit
353352
keys_response = store_client.list_keys(limit=5)
354353
assert keys_response is not None
355-
assert keys_response.data is not None
356-
assert len(keys_response.data.items) == 5
354+
assert len(keys_response.items) == 5
357355

358356
# Cleanup
359357
store_client.delete()

tests/integration/test_key_value_store_async.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ async def test_list_keys_signature(apify_client_async: ApifyClientAsync, test_kv
150150

151151
# Kvs content retrieved with correct signature
152152
response = await kvs.list_keys(signature=test_kvs_of_another_user.signature)
153-
raw_items = response.data.items
153+
raw_items = response.items
154154

155155
assert set(test_kvs_of_another_user.expected_content) == {item.key for item in raw_items}
156156

@@ -329,11 +329,10 @@ async def test_key_value_store_list_keys(apify_client_async: ApifyClientAsync) -
329329
# List keys
330330
keys_response = await store_client.list_keys()
331331
assert keys_response is not None
332-
assert keys_response.data is not None
333-
assert len(keys_response.data.items) == 5
332+
assert len(keys_response.items) == 5
334333

335334
# Verify key names
336-
key_names = [item.key for item in keys_response.data.items]
335+
key_names = [item.key for item in keys_response.items]
337336
for i in range(5):
338337
assert f'key-{i}' in key_names
339338

@@ -358,8 +357,7 @@ async def test_key_value_store_list_keys_with_limit(apify_client_async: ApifyCli
358357
# List with limit
359358
keys_response = await store_client.list_keys(limit=5)
360359
assert keys_response is not None
361-
assert keys_response.data is not None
362-
assert len(keys_response.data.items) == 5
360+
assert len(keys_response.items) == 5
363361

364362
# Cleanup
365363
await store_client.delete()

0 commit comments

Comments
 (0)