scrapely-client-python 3.1.3__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.
Potentially problematic release.
This version of scrapely-client-python might be problematic. Click here for more details.
- scrapely_client/__init__.py +30 -0
- scrapely_client/_charging.py +186 -0
- scrapely_client/_client_registry.py +136 -0
- scrapely_client/_consts.py +96 -0
- scrapely_client/_docs.py +37 -0
- scrapely_client/_literals.py +539 -0
- scrapely_client/_logging.py +180 -0
- scrapely_client/_models.py +4172 -0
- scrapely_client/_pagination.py +220 -0
- scrapely_client/_resource_clients/__init__.py +84 -0
- scrapely_client/_resource_clients/_resource_client.py +567 -0
- scrapely_client/_resource_clients/actor.py +1042 -0
- scrapely_client/_resource_clients/actor_collection.py +377 -0
- scrapely_client/_resource_clients/actor_env_var.py +154 -0
- scrapely_client/_resource_clients/actor_env_var_collection.py +165 -0
- scrapely_client/_resource_clients/actor_version.py +254 -0
- scrapely_client/_resource_clients/actor_version_collection.py +232 -0
- scrapely_client/_resource_clients/build.py +244 -0
- scrapely_client/_resource_clients/build_collection.py +164 -0
- scrapely_client/_resource_clients/dataset.py +1151 -0
- scrapely_client/_resource_clients/dataset_collection.py +244 -0
- scrapely_client/_resource_clients/key_value_store.py +906 -0
- scrapely_client/_resource_clients/key_value_store_collection.py +243 -0
- scrapely_client/_resource_clients/log.py +225 -0
- scrapely_client/_resource_clients/request_queue.py +1167 -0
- scrapely_client/_resource_clients/request_queue_collection.py +240 -0
- scrapely_client/_resource_clients/run.py +875 -0
- scrapely_client/_resource_clients/run_collection.py +226 -0
- scrapely_client/_resource_clients/schedule.py +243 -0
- scrapely_client/_resource_clients/schedule_collection.py +260 -0
- scrapely_client/_resource_clients/store_collection.py +242 -0
- scrapely_client/_resource_clients/task.py +793 -0
- scrapely_client/_resource_clients/task_collection.py +322 -0
- scrapely_client/_resource_clients/user.py +262 -0
- scrapely_client/_resource_clients/webhook.py +292 -0
- scrapely_client/_resource_clients/webhook_collection.py +281 -0
- scrapely_client/_resource_clients/webhook_dispatch.py +84 -0
- scrapely_client/_resource_clients/webhook_dispatch_collection.py +158 -0
- scrapely_client/_scrapely_client.py +837 -0
- scrapely_client/_statistics.py +29 -0
- scrapely_client/_status_message_watcher.py +197 -0
- scrapely_client/_streamed_log.py +250 -0
- scrapely_client/_typeddicts.py +408 -0
- scrapely_client/_utils/__init__.py +0 -0
- scrapely_client/_utils/crypto.py +87 -0
- scrapely_client/_utils/encoding.py +133 -0
- scrapely_client/_utils/errors.py +33 -0
- scrapely_client/_utils/http.py +137 -0
- scrapely_client/_utils/time.py +32 -0
- scrapely_client/_utils/try_import.py +61 -0
- scrapely_client/errors.py +190 -0
- scrapely_client/http_clients/__init__.py +10 -0
- scrapely_client/http_clients/_base.py +430 -0
- scrapely_client/http_clients/_impit.py +598 -0
- scrapely_client/http_compressors/__init__.py +18 -0
- scrapely_client/http_compressors/_base.py +25 -0
- scrapely_client/http_compressors/_brotli.py +38 -0
- scrapely_client/http_compressors/_gzip.py +38 -0
- scrapely_client/http_compressors/_resolve.py +38 -0
- scrapely_client/py.typed +0 -0
- scrapely_client/types.py +52 -0
- scrapely_client_python-3.1.3.dist-info/METADATA +269 -0
- scrapely_client_python-3.1.3.dist-info/RECORD +65 -0
- scrapely_client_python-3.1.3.dist-info/WHEEL +4 -0
- scrapely_client_python-3.1.3.dist-info/licenses/LICENSE +201 -0
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import TYPE_CHECKING, Any
|
|
4
|
+
|
|
5
|
+
from scrapely_client._docs import docs_group
|
|
6
|
+
from scrapely_client._models import (
|
|
7
|
+
ListOfRequestQueues,
|
|
8
|
+
ListOfRequestQueuesResponse,
|
|
9
|
+
RequestQueue,
|
|
10
|
+
RequestQueueResponse,
|
|
11
|
+
)
|
|
12
|
+
from scrapely_client._pagination import get_items_iterator, get_items_iterator_async
|
|
13
|
+
from scrapely_client._resource_clients._resource_client import ResourceClient, ResourceClientAsync
|
|
14
|
+
|
|
15
|
+
if TYPE_CHECKING:
|
|
16
|
+
from collections.abc import AsyncIterator, Iterator
|
|
17
|
+
|
|
18
|
+
from scrapely_client._literals import StorageOwnership
|
|
19
|
+
from scrapely_client._models import RequestQueueShort
|
|
20
|
+
from scrapely_client.types import Timeout
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@docs_group('Resource clients')
|
|
24
|
+
class RequestQueueCollectionClient(ResourceClient):
|
|
25
|
+
"""Sub-client for the request queue collection.
|
|
26
|
+
|
|
27
|
+
Provides methods to manage the request queue collection, e.g. list or create request queues. Obtain an instance
|
|
28
|
+
via an appropriate method on the `ApifyClient` class.
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
def __init__(
|
|
32
|
+
self,
|
|
33
|
+
*,
|
|
34
|
+
resource_path: str = 'request-queues',
|
|
35
|
+
**kwargs: Any,
|
|
36
|
+
) -> None:
|
|
37
|
+
super().__init__(
|
|
38
|
+
resource_path=resource_path,
|
|
39
|
+
**kwargs,
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
def list(
|
|
43
|
+
self,
|
|
44
|
+
*,
|
|
45
|
+
unnamed: bool | None = None,
|
|
46
|
+
limit: int | None = None,
|
|
47
|
+
offset: int | None = None,
|
|
48
|
+
desc: bool | None = None,
|
|
49
|
+
ownership: StorageOwnership | None = None,
|
|
50
|
+
timeout: Timeout = 'medium',
|
|
51
|
+
) -> ListOfRequestQueues:
|
|
52
|
+
"""List the available request queues.
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
Args:
|
|
56
|
+
unnamed: Whether to include unnamed request queues in the list.
|
|
57
|
+
limit: How many request queues to retrieve.
|
|
58
|
+
offset: What request queue to include as first when retrieving the list.
|
|
59
|
+
desc: Whether to sort the request queues in descending order based on their modification date.
|
|
60
|
+
ownership: Filter by ownership. `'ownedByMe'` returns only user's own request queues,
|
|
61
|
+
`'sharedWithMe'` returns only request queues shared with the user.
|
|
62
|
+
timeout: Timeout for the API HTTP request.
|
|
63
|
+
|
|
64
|
+
Returns:
|
|
65
|
+
The list of available request queues matching the specified filters.
|
|
66
|
+
"""
|
|
67
|
+
result = self._list(
|
|
68
|
+
timeout=timeout,
|
|
69
|
+
unnamed=unnamed,
|
|
70
|
+
limit=limit,
|
|
71
|
+
offset=offset,
|
|
72
|
+
desc=desc,
|
|
73
|
+
ownership=ownership,
|
|
74
|
+
)
|
|
75
|
+
return ListOfRequestQueuesResponse.model_validate(result).data
|
|
76
|
+
|
|
77
|
+
def iterate(
|
|
78
|
+
self,
|
|
79
|
+
*,
|
|
80
|
+
unnamed: bool | None = None,
|
|
81
|
+
limit: int | None = None,
|
|
82
|
+
offset: int | None = None,
|
|
83
|
+
desc: bool | None = None,
|
|
84
|
+
ownership: StorageOwnership | None = None,
|
|
85
|
+
timeout: Timeout = 'medium',
|
|
86
|
+
) -> Iterator[RequestQueueShort]:
|
|
87
|
+
"""Iterate over the available request queues.
|
|
88
|
+
|
|
89
|
+
Simple `list` does only one API call, possibly not listing all items matching the criteria. This method
|
|
90
|
+
returns an iterator that is capable of making multiple API calls to retrieve all items matching the criteria.
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
Args:
|
|
94
|
+
unnamed: Whether to include unnamed request queues in the list.
|
|
95
|
+
limit: How many request queues to retrieve.
|
|
96
|
+
offset: What request queue to include as first when retrieving the list.
|
|
97
|
+
desc: Whether to sort the request queues in descending order based on their modification date.
|
|
98
|
+
ownership: Filter by ownership. 'ownedByMe' returns only user's own request queues,
|
|
99
|
+
'sharedWithMe' returns only request queues shared with the user.
|
|
100
|
+
timeout: Timeout for the API HTTP request.
|
|
101
|
+
|
|
102
|
+
Yields:
|
|
103
|
+
The available request queues matching the specified filters.
|
|
104
|
+
"""
|
|
105
|
+
|
|
106
|
+
def _callback(*, limit: int | None = None, offset: int | None = None) -> ListOfRequestQueues:
|
|
107
|
+
return self.list(
|
|
108
|
+
unnamed=unnamed, limit=limit, offset=offset, desc=desc, ownership=ownership, timeout=timeout
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
return get_items_iterator(_callback, limit=limit, offset=offset)
|
|
112
|
+
|
|
113
|
+
def get_or_create(
|
|
114
|
+
self,
|
|
115
|
+
*,
|
|
116
|
+
name: str | None = None,
|
|
117
|
+
timeout: Timeout = 'short',
|
|
118
|
+
) -> RequestQueue:
|
|
119
|
+
"""Retrieve a named request queue, or create a new one when it doesn't exist.
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
Args:
|
|
123
|
+
name: The name of the request queue to retrieve or create.
|
|
124
|
+
timeout: Timeout for the API HTTP request.
|
|
125
|
+
|
|
126
|
+
Returns:
|
|
127
|
+
The retrieved or newly-created request queue.
|
|
128
|
+
"""
|
|
129
|
+
result = self._get_or_create(timeout=timeout, name=name)
|
|
130
|
+
return RequestQueueResponse.model_validate(result).data
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
@docs_group('Resource clients')
|
|
134
|
+
class RequestQueueCollectionClientAsync(ResourceClientAsync):
|
|
135
|
+
"""Sub-client for the request queue collection.
|
|
136
|
+
|
|
137
|
+
Provides methods to manage the request queue collection, e.g. list or create request queues. Obtain an instance
|
|
138
|
+
via an appropriate method on the `ApifyClientAsync` class.
|
|
139
|
+
"""
|
|
140
|
+
|
|
141
|
+
def __init__(
|
|
142
|
+
self,
|
|
143
|
+
*,
|
|
144
|
+
resource_path: str = 'request-queues',
|
|
145
|
+
**kwargs: Any,
|
|
146
|
+
) -> None:
|
|
147
|
+
super().__init__(
|
|
148
|
+
resource_path=resource_path,
|
|
149
|
+
**kwargs,
|
|
150
|
+
)
|
|
151
|
+
|
|
152
|
+
async def list(
|
|
153
|
+
self,
|
|
154
|
+
*,
|
|
155
|
+
unnamed: bool | None = None,
|
|
156
|
+
limit: int | None = None,
|
|
157
|
+
offset: int | None = None,
|
|
158
|
+
desc: bool | None = None,
|
|
159
|
+
ownership: StorageOwnership | None = None,
|
|
160
|
+
timeout: Timeout = 'medium',
|
|
161
|
+
) -> ListOfRequestQueues:
|
|
162
|
+
"""List the available request queues.
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
Args:
|
|
166
|
+
unnamed: Whether to include unnamed request queues in the list.
|
|
167
|
+
limit: How many request queues to retrieve.
|
|
168
|
+
offset: What request queue to include as first when retrieving the list.
|
|
169
|
+
desc: Whether to sort the request queues in descending order based on their modification date.
|
|
170
|
+
ownership: Filter by ownership. `'ownedByMe'` returns only user's own request queues,
|
|
171
|
+
`'sharedWithMe'` returns only request queues shared with the user.
|
|
172
|
+
timeout: Timeout for the API HTTP request.
|
|
173
|
+
|
|
174
|
+
Returns:
|
|
175
|
+
The list of available request queues matching the specified filters.
|
|
176
|
+
"""
|
|
177
|
+
result = await self._list(
|
|
178
|
+
timeout=timeout,
|
|
179
|
+
unnamed=unnamed,
|
|
180
|
+
limit=limit,
|
|
181
|
+
offset=offset,
|
|
182
|
+
desc=desc,
|
|
183
|
+
ownership=ownership,
|
|
184
|
+
)
|
|
185
|
+
return ListOfRequestQueuesResponse.model_validate(result).data
|
|
186
|
+
|
|
187
|
+
def iterate(
|
|
188
|
+
self,
|
|
189
|
+
*,
|
|
190
|
+
unnamed: bool | None = None,
|
|
191
|
+
limit: int | None = None,
|
|
192
|
+
offset: int | None = None,
|
|
193
|
+
desc: bool | None = None,
|
|
194
|
+
ownership: StorageOwnership | None = None,
|
|
195
|
+
timeout: Timeout = 'medium',
|
|
196
|
+
) -> AsyncIterator[RequestQueueShort]:
|
|
197
|
+
"""Iterate over the available request queues.
|
|
198
|
+
|
|
199
|
+
Simple `list` does only one API call, possibly not listing all items matching the criteria. This method
|
|
200
|
+
returns an iterator that is capable of making multiple API calls to retrieve all items matching the criteria.
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
Args:
|
|
204
|
+
unnamed: Whether to include unnamed request queues in the list.
|
|
205
|
+
limit: How many request queues to retrieve.
|
|
206
|
+
offset: What request queue to include as first when retrieving the list.
|
|
207
|
+
desc: Whether to sort the request queues in descending order based on their modification date.
|
|
208
|
+
ownership: Filter by ownership. 'ownedByMe' returns only user's own request queues,
|
|
209
|
+
'sharedWithMe' returns only request queues shared with the user.
|
|
210
|
+
timeout: Timeout for the API HTTP request.
|
|
211
|
+
|
|
212
|
+
Yields:
|
|
213
|
+
The available request queues matching the specified filters.
|
|
214
|
+
"""
|
|
215
|
+
|
|
216
|
+
async def _callback(*, limit: int | None = None, offset: int | None = None) -> ListOfRequestQueues:
|
|
217
|
+
return await self.list(
|
|
218
|
+
unnamed=unnamed, limit=limit, offset=offset, desc=desc, ownership=ownership, timeout=timeout
|
|
219
|
+
)
|
|
220
|
+
|
|
221
|
+
return get_items_iterator_async(_callback, limit=limit, offset=offset)
|
|
222
|
+
|
|
223
|
+
async def get_or_create(
|
|
224
|
+
self,
|
|
225
|
+
*,
|
|
226
|
+
name: str | None = None,
|
|
227
|
+
timeout: Timeout = 'short',
|
|
228
|
+
) -> RequestQueue:
|
|
229
|
+
"""Retrieve a named request queue, or create a new one when it doesn't exist.
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
Args:
|
|
233
|
+
name: The name of the request queue to retrieve or create.
|
|
234
|
+
timeout: Timeout for the API HTTP request.
|
|
235
|
+
|
|
236
|
+
Returns:
|
|
237
|
+
The retrieved or newly-created request queue.
|
|
238
|
+
"""
|
|
239
|
+
result = await self._get_or_create(timeout=timeout, name=name)
|
|
240
|
+
return RequestQueueResponse.model_validate(result).data
|