10
10
11
11
from crawlee ._request import Request
12
12
from crawlee ._types import HttpMethod
13
+ from crawlee ._utils .docs import docs_group
13
14
from crawlee ._utils .urls import validate_http_url
14
15
15
16
KvsValueType = TypeVar ('KvsValueType' , default = Any )
@@ -27,6 +28,7 @@ class _BaseStorageMetadata(BaseModel):
27
28
modified_at : Annotated [datetime , Field (alias = 'modifiedAt' )]
28
29
29
30
31
+ @docs_group ('Data structures' )
30
32
class DatasetMetadata (_BaseStorageMetadata ):
31
33
"""Model for a dataset metadata."""
32
34
@@ -35,6 +37,7 @@ class DatasetMetadata(_BaseStorageMetadata):
35
37
item_count : Annotated [int , Field (alias = 'itemCount' )]
36
38
37
39
40
+ @docs_group ('Data structures' )
38
41
class KeyValueStoreMetadata (_BaseStorageMetadata ):
39
42
"""Model for a key-value store metadata."""
40
43
@@ -43,6 +46,7 @@ class KeyValueStoreMetadata(_BaseStorageMetadata):
43
46
user_id : Annotated [str , Field (alias = 'userId' )]
44
47
45
48
49
+ @docs_group ('Data structures' )
46
50
class RequestQueueMetadata (_BaseStorageMetadata ):
47
51
"""Model for a request queue metadata."""
48
52
@@ -57,6 +61,7 @@ class RequestQueueMetadata(_BaseStorageMetadata):
57
61
resource_directory : Annotated [str , Field (alias = 'resourceDirectory' )]
58
62
59
63
64
+ @docs_group ('Data structures' )
60
65
class KeyValueStoreRecord (BaseModel , Generic [KvsValueType ]):
61
66
"""Model for a key-value store record."""
62
67
@@ -68,6 +73,7 @@ class KeyValueStoreRecord(BaseModel, Generic[KvsValueType]):
68
73
filename : Annotated [str | None , Field (alias = 'filename' , default = None )]
69
74
70
75
76
+ @docs_group ('Data structures' )
71
77
class KeyValueStoreRecordMetadata (BaseModel ):
72
78
"""Model for a key-value store record metadata."""
73
79
@@ -77,6 +83,7 @@ class KeyValueStoreRecordMetadata(BaseModel):
77
83
content_type : Annotated [str , Field (alias = 'contentType' )]
78
84
79
85
86
+ @docs_group ('Data structures' )
80
87
class KeyValueStoreKeyInfo (BaseModel ):
81
88
"""Model for a key-value store key info."""
82
89
@@ -86,6 +93,7 @@ class KeyValueStoreKeyInfo(BaseModel):
86
93
size : Annotated [int , Field (alias = 'size' )]
87
94
88
95
96
+ @docs_group ('Data structures' )
89
97
class KeyValueStoreListKeysPage (BaseModel ):
90
98
"""Model for listing keys in the key-value store."""
91
99
@@ -99,6 +107,7 @@ class KeyValueStoreListKeysPage(BaseModel):
99
107
next_exclusive_start_key : Annotated [str | None , Field (alias = 'nextExclusiveStartKey' , default = None )]
100
108
101
109
110
+ @docs_group ('Data structures' )
102
111
class RequestQueueHeadState (BaseModel ):
103
112
"""Model for the request queue head state."""
104
113
@@ -111,6 +120,7 @@ class RequestQueueHeadState(BaseModel):
111
120
had_multiple_clients : Annotated [bool , Field (alias = 'hadMultipleClients' )]
112
121
113
122
123
+ @docs_group ('Data structures' )
114
124
class RequestQueueHead (BaseModel ):
115
125
"""Model for the request queue head."""
116
126
@@ -122,6 +132,7 @@ class RequestQueueHead(BaseModel):
122
132
items : Annotated [list [Request ], Field (alias = 'items' , default_factory = list )]
123
133
124
134
135
+ @docs_group ('Data structures' )
125
136
class RequestQueueHeadWithLocks (RequestQueueHead ):
126
137
"""Model for request queue head with locks."""
127
138
@@ -149,34 +160,39 @@ class _BaseListPage(BaseModel):
149
160
"""Indicates if the returned list is in descending order."""
150
161
151
162
163
+ @docs_group ('Data structures' )
152
164
class DatasetListPage (_BaseListPage ):
153
165
"""Model for a single page of dataset items returned from a collection list method."""
154
166
155
167
items : Annotated [list [DatasetMetadata ], Field (default_factory = list )]
156
168
"""The list of dataset items returned on this page."""
157
169
158
170
171
+ @docs_group ('Data structures' )
159
172
class KeyValueStoreListPage (_BaseListPage ):
160
173
"""Model for a single page of key-value store items returned from a collection list method."""
161
174
162
175
items : Annotated [list [KeyValueStoreMetadata ], Field (default_factory = list )]
163
176
"""The list of key-value store items returned on this page."""
164
177
165
178
179
+ @docs_group ('Data structures' )
166
180
class RequestQueueListPage (_BaseListPage ):
167
181
"""Model for a single page of request queue items returned from a collection list method."""
168
182
169
183
items : Annotated [list [RequestQueueMetadata ], Field (default_factory = list )]
170
184
"""The list of request queue items returned on this page."""
171
185
172
186
187
+ @docs_group ('Data structures' )
173
188
class DatasetItemsListPage (_BaseListPage ):
174
189
"""Model for a single page of dataset items returned from a collection list method."""
175
190
176
191
items : Annotated [list [dict ], Field (default_factory = list )]
177
192
"""The list of dataset items returned on this page."""
178
193
179
194
195
+ @docs_group ('Data structures' )
180
196
class ProlongRequestLockResponse (BaseModel ):
181
197
"""Response to prolong request lock calls."""
182
198
@@ -185,6 +201,7 @@ class ProlongRequestLockResponse(BaseModel):
185
201
lock_expires_at : Annotated [datetime , Field (alias = 'lockExpiresAt' )]
186
202
187
203
204
+ @docs_group ('Data structures' )
188
205
class ProcessedRequest (BaseModel ):
189
206
"""Represents a processed request."""
190
207
@@ -196,6 +213,7 @@ class ProcessedRequest(BaseModel):
196
213
was_already_handled : Annotated [bool , Field (alias = 'wasAlreadyHandled' )]
197
214
198
215
216
+ @docs_group ('Data structures' )
199
217
class UnprocessedRequest (BaseModel ):
200
218
"""Represents an unprocessed request."""
201
219
@@ -206,6 +224,7 @@ class UnprocessedRequest(BaseModel):
206
224
method : Annotated [HttpMethod | None , Field ()] = None
207
225
208
226
227
+ @docs_group ('Data structures' )
209
228
class BatchRequestsOperationResponse (BaseModel ):
210
229
"""Response to batch request deletion calls."""
211
230
0 commit comments