bytekit-sdk 0.3.0__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.
Files changed (227) hide show
  1. bytekit/__init__.py +8 -0
  2. bytekit/api/__init__.py +1 -0
  3. bytekit/api/account/__init__.py +1 -0
  4. bytekit/api/account/get_account.py +157 -0
  5. bytekit/api/bulk/__init__.py +1 -0
  6. bytekit/api/bulk/create_bulk.py +204 -0
  7. bytekit/api/bulk/delete_bulk.py +177 -0
  8. bytekit/api/bulk/get_bulk.py +157 -0
  9. bytekit/api/bulk/list_bulk_screenshots.py +152 -0
  10. bytekit/api/fetch/__init__.py +1 -0
  11. bytekit/api/fetch/get_fetch.py +254 -0
  12. bytekit/api/fetch/post_fetch.py +178 -0
  13. bytekit/api/fetch_bulk/__init__.py +1 -0
  14. bytekit/api/fetch_bulk/create_fetch_bulk.py +180 -0
  15. bytekit/api/fetch_bulk/get_fetch_bulk.py +157 -0
  16. bytekit/api/monitors/__init__.py +1 -0
  17. bytekit/api/monitors/create_monitor.py +180 -0
  18. bytekit/api/monitors/delete_monitor.py +155 -0
  19. bytekit/api/monitors/get_monitor.py +157 -0
  20. bytekit/api/monitors/list_monitor_captures.py +188 -0
  21. bytekit/api/monitors/list_monitors.py +193 -0
  22. bytekit/api/monitors/update_monitor.py +191 -0
  23. bytekit/api/scrape/__init__.py +1 -0
  24. bytekit/api/scrape/create_scrape.py +197 -0
  25. bytekit/api/scrape/get_scrape.py +231 -0
  26. bytekit/api/scrape_bulk/__init__.py +1 -0
  27. bytekit/api/scrape_bulk/create_scrape_bulk.py +188 -0
  28. bytekit/api/scrape_bulk/get_scrape_bulk.py +157 -0
  29. bytekit/api/screenshots/__init__.py +1 -0
  30. bytekit/api/screenshots/create_screenshot.py +208 -0
  31. bytekit/api/screenshots/get_screenshot.py +177 -0
  32. bytekit/api/search/__init__.py +1 -0
  33. bytekit/api/search/create_search.py +225 -0
  34. bytekit/api/sitemap/__init__.py +1 -0
  35. bytekit/api/sitemap/create_sitemap.py +192 -0
  36. bytekit/api/sitemap/get_sitemap.py +157 -0
  37. bytekit/api/usage/__init__.py +1 -0
  38. bytekit/api/usage/get_usage.py +126 -0
  39. bytekit/api/usage/get_usage_by_endpoint.py +215 -0
  40. bytekit/api/usage/get_usage_daily.py +203 -0
  41. bytekit/api/webhooks/__init__.py +1 -0
  42. bytekit/api/webhooks/list_webhook_deliveries.py +214 -0
  43. bytekit/api/webhooks/retry_webhook_delivery.py +165 -0
  44. bytekit/client.py +418 -0
  45. bytekit/errors.py +18 -0
  46. bytekit/models/__init__.py +401 -0
  47. bytekit/models/account_bearer_response.py +207 -0
  48. bytekit/models/account_bearer_response_api_key.py +134 -0
  49. bytekit/models/account_bearer_response_api_key_environment.py +8 -0
  50. bytekit/models/account_bearer_response_auto_topup.py +83 -0
  51. bytekit/models/account_bearer_response_plan.py +150 -0
  52. bytekit/models/account_bearer_response_subscription.py +85 -0
  53. bytekit/models/account_bearer_response_subscription_plan.py +99 -0
  54. bytekit/models/account_bearer_response_subscription_status.py +10 -0
  55. bytekit/models/account_session_response.py +164 -0
  56. bytekit/models/account_session_response_notifications.py +51 -0
  57. bytekit/models/account_session_response_plan.py +150 -0
  58. bytekit/models/bandwidth_balance.py +91 -0
  59. bytekit/models/capture_response.py +216 -0
  60. bytekit/models/capture_response_outcome.py +10 -0
  61. bytekit/models/clip.py +83 -0
  62. bytekit/models/cookie.py +90 -0
  63. bytekit/models/create_bulk_body.py +155 -0
  64. bytekit/models/create_bulk_body_defaults.py +423 -0
  65. bytekit/models/create_bulk_body_defaults_device.py +9 -0
  66. bytekit/models/create_bulk_body_defaults_device_scale_factor_type_1.py +9 -0
  67. bytekit/models/create_bulk_body_defaults_device_scale_factor_type_2_type_1.py +9 -0
  68. bytekit/models/create_bulk_body_defaults_device_scale_factor_type_3_type_1.py +9 -0
  69. bytekit/models/create_bulk_body_defaults_formats_item.py +12 -0
  70. bytekit/models/create_bulk_body_defaults_type.py +9 -0
  71. bytekit/models/create_bulk_body_defaults_viewport_type_0.py +67 -0
  72. bytekit/models/create_bulk_body_defaults_wait_until.py +10 -0
  73. bytekit/models/create_bulk_body_items_item.py +380 -0
  74. bytekit/models/create_bulk_body_items_item_device.py +9 -0
  75. bytekit/models/create_bulk_body_items_item_formats_item.py +12 -0
  76. bytekit/models/create_bulk_body_items_item_scenario.py +10 -0
  77. bytekit/models/create_bulk_body_items_item_type.py +9 -0
  78. bytekit/models/create_bulk_body_items_item_viewport_type_0.py +67 -0
  79. bytekit/models/create_bulk_body_items_item_wait_until.py +10 -0
  80. bytekit/models/create_bulk_response_202.py +164 -0
  81. bytekit/models/create_bulk_response_202_status.py +10 -0
  82. bytekit/models/create_fetch_bulk_body.py +161 -0
  83. bytekit/models/create_fetch_bulk_body_defaults.py +91 -0
  84. bytekit/models/create_fetch_bulk_body_defaults_format.py +9 -0
  85. bytekit/models/create_fetch_bulk_body_metadata.py +44 -0
  86. bytekit/models/create_fetch_bulk_body_urls_item_type_1.py +102 -0
  87. bytekit/models/create_fetch_bulk_body_urls_item_type_1_format.py +9 -0
  88. bytekit/models/create_fetch_bulk_response_202.py +44 -0
  89. bytekit/models/create_scrape_bulk_body.py +179 -0
  90. bytekit/models/create_scrape_bulk_body_custom.py +52 -0
  91. bytekit/models/create_scrape_bulk_body_defaults.py +167 -0
  92. bytekit/models/create_scrape_bulk_body_defaults_formats_item.py +12 -0
  93. bytekit/models/create_scrape_bulk_body_defaults_headers.py +44 -0
  94. bytekit/models/create_scrape_bulk_body_items_item.py +226 -0
  95. bytekit/models/create_scrape_bulk_body_items_item_custom.py +50 -0
  96. bytekit/models/create_scrape_bulk_body_items_item_formats_item.py +12 -0
  97. bytekit/models/create_scrape_bulk_body_items_item_headers.py +44 -0
  98. bytekit/models/create_scrape_bulk_body_items_item_metadata.py +44 -0
  99. bytekit/models/create_scrape_bulk_response_202.py +166 -0
  100. bytekit/models/create_scrape_bulk_response_202_status.py +10 -0
  101. bytekit/models/create_search_body.py +140 -0
  102. bytekit/models/create_search_body_date_range.py +13 -0
  103. bytekit/models/create_search_body_type.py +10 -0
  104. bytekit/models/create_search_response_200.py +119 -0
  105. bytekit/models/create_search_response_200_results_item.py +161 -0
  106. bytekit/models/create_search_response_200_results_item_image.py +113 -0
  107. bytekit/models/create_search_response_502.py +46 -0
  108. bytekit/models/create_search_response_502_error.py +8 -0
  109. bytekit/models/credit_balance.py +91 -0
  110. bytekit/models/delete_bulk_response_200.py +164 -0
  111. bytekit/models/delete_bulk_response_200_status.py +11 -0
  112. bytekit/models/error.py +83 -0
  113. bytekit/models/error_error.py +100 -0
  114. bytekit/models/error_status.py +8 -0
  115. bytekit/models/fetch_request.py +276 -0
  116. bytekit/models/fetch_request_cache_ttl_type_1.py +8 -0
  117. bytekit/models/fetch_request_custom.py +48 -0
  118. bytekit/models/fetch_request_format.py +9 -0
  119. bytekit/models/fetch_request_markdown_images.py +11 -0
  120. bytekit/models/fetch_request_markdown_links.py +11 -0
  121. bytekit/models/fetch_request_markdown_mode.py +10 -0
  122. bytekit/models/get_bulk_response_200.py +164 -0
  123. bytekit/models/get_bulk_response_200_status.py +11 -0
  124. bytekit/models/get_fetch_bulk_response_200.py +44 -0
  125. bytekit/models/get_fetch_cache_ttl_type_1.py +8 -0
  126. bytekit/models/get_fetch_format.py +9 -0
  127. bytekit/models/get_scrape_bulk_response_200.py +164 -0
  128. bytekit/models/get_scrape_bulk_response_200_status.py +11 -0
  129. bytekit/models/get_usage_by_endpoint_response_200.py +114 -0
  130. bytekit/models/get_usage_by_endpoint_response_200_rows_item.py +90 -0
  131. bytekit/models/get_usage_by_endpoint_response_200_rows_item_endpoint.py +17 -0
  132. bytekit/models/get_usage_by_endpoint_response_200_totals.py +67 -0
  133. bytekit/models/get_usage_daily_response_200.py +97 -0
  134. bytekit/models/get_usage_daily_response_200_data_item.py +219 -0
  135. bytekit/models/get_usage_response_200.py +344 -0
  136. bytekit/models/get_usage_response_200_plan_type.py +10 -0
  137. bytekit/models/list_bulk_screenshots_response_200.py +44 -0
  138. bytekit/models/list_monitor_captures_response_200.py +101 -0
  139. bytekit/models/list_monitors_response_200.py +101 -0
  140. bytekit/models/list_monitors_status.py +12 -0
  141. bytekit/models/list_webhook_deliveries_response_200.py +101 -0
  142. bytekit/models/list_webhook_deliveries_status.py +11 -0
  143. bytekit/models/metadata.py +44 -0
  144. bytekit/models/monitor_create_request.py +219 -0
  145. bytekit/models/monitor_create_request_interval_type.py +11 -0
  146. bytekit/models/monitor_create_request_notify_on.py +9 -0
  147. bytekit/models/monitor_create_request_options.py +44 -0
  148. bytekit/models/monitor_create_request_scrape_options.py +44 -0
  149. bytekit/models/monitor_create_request_type.py +9 -0
  150. bytekit/models/monitor_create_request_webhook_headers.py +44 -0
  151. bytekit/models/monitor_create_response.py +423 -0
  152. bytekit/models/monitor_response.py +411 -0
  153. bytekit/models/monitor_response_interval_type.py +11 -0
  154. bytekit/models/monitor_response_metadata_type_0.py +44 -0
  155. bytekit/models/monitor_response_status.py +12 -0
  156. bytekit/models/monitor_response_type.py +9 -0
  157. bytekit/models/monitor_response_webhook_headers_type_0.py +44 -0
  158. bytekit/models/monitor_update_request.py +223 -0
  159. bytekit/models/monitor_update_request_interval_type.py +11 -0
  160. bytekit/models/monitor_update_request_notify_on.py +9 -0
  161. bytekit/models/monitor_update_request_options.py +44 -0
  162. bytekit/models/monitor_update_request_scrape_options.py +44 -0
  163. bytekit/models/monitor_update_request_status.py +9 -0
  164. bytekit/models/monitor_update_request_webhook_headers.py +44 -0
  165. bytekit/models/scrape_error_envelope.py +113 -0
  166. bytekit/models/scrape_error_envelope_error.py +93 -0
  167. bytekit/models/scrape_error_envelope_error_code.py +18 -0
  168. bytekit/models/scrape_error_envelope_schema_version.py +8 -0
  169. bytekit/models/scrape_error_envelope_status.py +8 -0
  170. bytekit/models/scrape_formats.py +183 -0
  171. bytekit/models/scrape_markdown_tokens.py +75 -0
  172. bytekit/models/scrape_metadata.py +262 -0
  173. bytekit/models/scrape_queued_envelope.py +124 -0
  174. bytekit/models/scrape_queued_envelope_schema_version.py +8 -0
  175. bytekit/models/scrape_queued_envelope_status.py +8 -0
  176. bytekit/models/scrape_request.py +485 -0
  177. bytekit/models/scrape_request_cache_ttl_type_1.py +8 -0
  178. bytekit/models/scrape_request_custom.py +48 -0
  179. bytekit/models/scrape_request_events_item.py +10 -0
  180. bytekit/models/scrape_request_formats_item.py +12 -0
  181. bytekit/models/scrape_request_headers.py +44 -0
  182. bytekit/models/scrape_request_markdown_images.py +11 -0
  183. bytekit/models/scrape_request_markdown_links.py +11 -0
  184. bytekit/models/scrape_request_markdown_mode.py +10 -0
  185. bytekit/models/scrape_request_token_encoding.py +9 -0
  186. bytekit/models/scrape_request_x_internal_scrape_path.py +8 -0
  187. bytekit/models/scrape_scored_image.py +128 -0
  188. bytekit/models/scrape_scored_link.py +94 -0
  189. bytekit/models/scrape_stats.py +75 -0
  190. bytekit/models/scrape_success_envelope.py +345 -0
  191. bytekit/models/scrape_success_envelope_cache.py +10 -0
  192. bytekit/models/scrape_success_envelope_custom.py +48 -0
  193. bytekit/models/scrape_success_envelope_schema_version.py +8 -0
  194. bytekit/models/scrape_success_envelope_status.py +8 -0
  195. bytekit/models/scrape_table.py +96 -0
  196. bytekit/models/scrape_table_kind.py +10 -0
  197. bytekit/models/scrape_warning.py +88 -0
  198. bytekit/models/scrape_warning_code.py +17 -0
  199. bytekit/models/screenshot_request.py +445 -0
  200. bytekit/models/screenshot_request_device.py +9 -0
  201. bytekit/models/screenshot_request_device_scale_factor_type_1.py +9 -0
  202. bytekit/models/screenshot_request_device_scale_factor_type_2_type_1.py +9 -0
  203. bytekit/models/screenshot_request_device_scale_factor_type_3_type_1.py +9 -0
  204. bytekit/models/screenshot_request_format.py +9 -0
  205. bytekit/models/screenshot_request_headers.py +44 -0
  206. bytekit/models/screenshot_request_wait_until.py +10 -0
  207. bytekit/models/screenshot_response.py +264 -0
  208. bytekit/models/screenshot_response_status.py +11 -0
  209. bytekit/models/sitemap_request.py +210 -0
  210. bytekit/models/sitemap_request_process_type_0.py +90 -0
  211. bytekit/models/sitemap_request_process_type_0_options.py +44 -0
  212. bytekit/models/sitemap_request_strategy.py +10 -0
  213. bytekit/models/sitemap_response.py +418 -0
  214. bytekit/models/sitemap_response_cache.py +10 -0
  215. bytekit/models/sitemap_response_metadata_type_0.py +44 -0
  216. bytekit/models/sitemap_response_process_type_0.py +44 -0
  217. bytekit/models/sitemap_response_sources_type_0.py +44 -0
  218. bytekit/models/sitemap_response_status.py +11 -0
  219. bytekit/models/viewport.py +67 -0
  220. bytekit/models/webhook_delivery_response.py +270 -0
  221. bytekit/models/webhook_delivery_response_event_type.py +14 -0
  222. bytekit/models/webhook_delivery_response_status.py +11 -0
  223. bytekit/py.typed +0 -0
  224. bytekit/types.py +54 -0
  225. bytekit_sdk-0.3.0.dist-info/METADATA +141 -0
  226. bytekit_sdk-0.3.0.dist-info/RECORD +227 -0
  227. bytekit_sdk-0.3.0.dist-info/WHEEL +4 -0
@@ -0,0 +1,157 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Optional, Union
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...models.error import Error
9
+ from ...models.get_bulk_response_200 import GetBulkResponse200
10
+ from ...types import Response
11
+
12
+
13
+ def _get_kwargs(
14
+ id: str,
15
+ ) -> dict[str, Any]:
16
+ _kwargs: dict[str, Any] = {
17
+ "method": "get",
18
+ "url": "/v1/bulk/{id}".format(
19
+ id=id,
20
+ ),
21
+ }
22
+
23
+ return _kwargs
24
+
25
+
26
+ def _parse_response(
27
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
28
+ ) -> Optional[Union[Error, GetBulkResponse200]]:
29
+ if response.status_code == 200:
30
+ response_200 = GetBulkResponse200.from_dict(response.json())
31
+
32
+ return response_200
33
+ if response.status_code == 404:
34
+ response_404 = Error.from_dict(response.json())
35
+
36
+ return response_404
37
+ if client.raise_on_unexpected_status:
38
+ raise errors.UnexpectedStatus(response.status_code, response.content)
39
+ else:
40
+ return None
41
+
42
+
43
+ def _build_response(
44
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
45
+ ) -> Response[Union[Error, GetBulkResponse200]]:
46
+ return Response(
47
+ status_code=HTTPStatus(response.status_code),
48
+ content=response.content,
49
+ headers=response.headers,
50
+ parsed=_parse_response(client=client, response=response),
51
+ )
52
+
53
+
54
+ def sync_detailed(
55
+ id: str,
56
+ *,
57
+ client: Union[AuthenticatedClient, Client],
58
+ ) -> Response[Union[Error, GetBulkResponse200]]:
59
+ """Get bulk job status
60
+
61
+ Args:
62
+ id (str):
63
+
64
+ Raises:
65
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
66
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
67
+
68
+ Returns:
69
+ Response[Union[Error, GetBulkResponse200]]
70
+ """
71
+
72
+ kwargs = _get_kwargs(
73
+ id=id,
74
+ )
75
+
76
+ response = client.get_httpx_client().request(
77
+ **kwargs,
78
+ )
79
+
80
+ return _build_response(client=client, response=response)
81
+
82
+
83
+ def sync(
84
+ id: str,
85
+ *,
86
+ client: Union[AuthenticatedClient, Client],
87
+ ) -> Optional[Union[Error, GetBulkResponse200]]:
88
+ """Get bulk job status
89
+
90
+ Args:
91
+ id (str):
92
+
93
+ Raises:
94
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
95
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
96
+
97
+ Returns:
98
+ Union[Error, GetBulkResponse200]
99
+ """
100
+
101
+ return sync_detailed(
102
+ id=id,
103
+ client=client,
104
+ ).parsed
105
+
106
+
107
+ async def asyncio_detailed(
108
+ id: str,
109
+ *,
110
+ client: Union[AuthenticatedClient, Client],
111
+ ) -> Response[Union[Error, GetBulkResponse200]]:
112
+ """Get bulk job status
113
+
114
+ Args:
115
+ id (str):
116
+
117
+ Raises:
118
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
119
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
120
+
121
+ Returns:
122
+ Response[Union[Error, GetBulkResponse200]]
123
+ """
124
+
125
+ kwargs = _get_kwargs(
126
+ id=id,
127
+ )
128
+
129
+ response = await client.get_async_httpx_client().request(**kwargs)
130
+
131
+ return _build_response(client=client, response=response)
132
+
133
+
134
+ async def asyncio(
135
+ id: str,
136
+ *,
137
+ client: Union[AuthenticatedClient, Client],
138
+ ) -> Optional[Union[Error, GetBulkResponse200]]:
139
+ """Get bulk job status
140
+
141
+ Args:
142
+ id (str):
143
+
144
+ Raises:
145
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
146
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
147
+
148
+ Returns:
149
+ Union[Error, GetBulkResponse200]
150
+ """
151
+
152
+ return (
153
+ await asyncio_detailed(
154
+ id=id,
155
+ client=client,
156
+ )
157
+ ).parsed
@@ -0,0 +1,152 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Optional, Union
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...models.list_bulk_screenshots_response_200 import ListBulkScreenshotsResponse200
9
+ from ...types import Response
10
+
11
+
12
+ def _get_kwargs(
13
+ id: str,
14
+ ) -> dict[str, Any]:
15
+ _kwargs: dict[str, Any] = {
16
+ "method": "get",
17
+ "url": "/v1/bulk/{id}/screenshots".format(
18
+ id=id,
19
+ ),
20
+ }
21
+
22
+ return _kwargs
23
+
24
+
25
+ def _parse_response(
26
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
27
+ ) -> Optional[ListBulkScreenshotsResponse200]:
28
+ if response.status_code == 200:
29
+ response_200 = ListBulkScreenshotsResponse200.from_dict(response.json())
30
+
31
+ return response_200
32
+ if client.raise_on_unexpected_status:
33
+ raise errors.UnexpectedStatus(response.status_code, response.content)
34
+ else:
35
+ return None
36
+
37
+
38
+ def _build_response(
39
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
40
+ ) -> Response[ListBulkScreenshotsResponse200]:
41
+ return Response(
42
+ status_code=HTTPStatus(response.status_code),
43
+ content=response.content,
44
+ headers=response.headers,
45
+ parsed=_parse_response(client=client, response=response),
46
+ )
47
+
48
+
49
+ def sync_detailed(
50
+ id: str,
51
+ *,
52
+ client: Union[AuthenticatedClient, Client],
53
+ ) -> Response[ListBulkScreenshotsResponse200]:
54
+ """List bulk job items
55
+
56
+ Args:
57
+ id (str):
58
+
59
+ Raises:
60
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
61
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
62
+
63
+ Returns:
64
+ Response[ListBulkScreenshotsResponse200]
65
+ """
66
+
67
+ kwargs = _get_kwargs(
68
+ id=id,
69
+ )
70
+
71
+ response = client.get_httpx_client().request(
72
+ **kwargs,
73
+ )
74
+
75
+ return _build_response(client=client, response=response)
76
+
77
+
78
+ def sync(
79
+ id: str,
80
+ *,
81
+ client: Union[AuthenticatedClient, Client],
82
+ ) -> Optional[ListBulkScreenshotsResponse200]:
83
+ """List bulk job items
84
+
85
+ Args:
86
+ id (str):
87
+
88
+ Raises:
89
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
90
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
91
+
92
+ Returns:
93
+ ListBulkScreenshotsResponse200
94
+ """
95
+
96
+ return sync_detailed(
97
+ id=id,
98
+ client=client,
99
+ ).parsed
100
+
101
+
102
+ async def asyncio_detailed(
103
+ id: str,
104
+ *,
105
+ client: Union[AuthenticatedClient, Client],
106
+ ) -> Response[ListBulkScreenshotsResponse200]:
107
+ """List bulk job items
108
+
109
+ Args:
110
+ id (str):
111
+
112
+ Raises:
113
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
114
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
115
+
116
+ Returns:
117
+ Response[ListBulkScreenshotsResponse200]
118
+ """
119
+
120
+ kwargs = _get_kwargs(
121
+ id=id,
122
+ )
123
+
124
+ response = await client.get_async_httpx_client().request(**kwargs)
125
+
126
+ return _build_response(client=client, response=response)
127
+
128
+
129
+ async def asyncio(
130
+ id: str,
131
+ *,
132
+ client: Union[AuthenticatedClient, Client],
133
+ ) -> Optional[ListBulkScreenshotsResponse200]:
134
+ """List bulk job items
135
+
136
+ Args:
137
+ id (str):
138
+
139
+ Raises:
140
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
141
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
142
+
143
+ Returns:
144
+ ListBulkScreenshotsResponse200
145
+ """
146
+
147
+ return (
148
+ await asyncio_detailed(
149
+ id=id,
150
+ client=client,
151
+ )
152
+ ).parsed
@@ -0,0 +1 @@
1
+ """Contains endpoint functions for accessing the API"""
@@ -0,0 +1,254 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Optional, Union
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...models.error import Error
9
+ from ...models.get_fetch_cache_ttl_type_1 import GetFetchCacheTtlType1
10
+ from ...models.get_fetch_format import GetFetchFormat
11
+ from ...types import UNSET, Response, Unset
12
+
13
+
14
+ def _get_kwargs(
15
+ *,
16
+ url_query: str,
17
+ format_: Union[Unset, GetFetchFormat] = UNSET,
18
+ country: Union[Unset, str] = "US",
19
+ timeout_ms: Union[Unset, int] = 60000,
20
+ cache_ttl: Union[GetFetchCacheTtlType1, Unset, str] = "48h",
21
+ ) -> dict[str, Any]:
22
+ params: dict[str, Any] = {}
23
+
24
+ params["url"] = url_query
25
+
26
+ json_format_: Union[Unset, str] = UNSET
27
+ if not isinstance(format_, Unset):
28
+ json_format_ = format_.value
29
+
30
+ params["format"] = json_format_
31
+
32
+ params["country"] = country
33
+
34
+ params["timeout_ms"] = timeout_ms
35
+
36
+ json_cache_ttl: Union[Unset, int, str]
37
+ if isinstance(cache_ttl, Unset):
38
+ json_cache_ttl = UNSET
39
+ elif isinstance(cache_ttl, GetFetchCacheTtlType1):
40
+ json_cache_ttl = cache_ttl.value
41
+ else:
42
+ json_cache_ttl = cache_ttl
43
+ params["cache_ttl"] = json_cache_ttl
44
+
45
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
46
+
47
+ _kwargs: dict[str, Any] = {
48
+ "method": "get",
49
+ "url": "/v1/fetch",
50
+ "params": params,
51
+ }
52
+
53
+ return _kwargs
54
+
55
+
56
+ def _parse_response(
57
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
58
+ ) -> Optional[Union[Error, str]]:
59
+ if response.status_code == 200:
60
+ response_200 = response.text
61
+ return response_200
62
+ if response.status_code == 400:
63
+ response_400 = Error.from_dict(response.json())
64
+
65
+ return response_400
66
+ if response.status_code == 422:
67
+ response_422 = Error.from_dict(response.json())
68
+
69
+ return response_422
70
+ if response.status_code == 502:
71
+ response_502 = Error.from_dict(response.json())
72
+
73
+ return response_502
74
+ if client.raise_on_unexpected_status:
75
+ raise errors.UnexpectedStatus(response.status_code, response.content)
76
+ else:
77
+ return None
78
+
79
+
80
+ def _build_response(
81
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
82
+ ) -> Response[Union[Error, str]]:
83
+ return Response(
84
+ status_code=HTTPStatus(response.status_code),
85
+ content=response.content,
86
+ headers=response.headers,
87
+ parsed=_parse_response(client=client, response=response),
88
+ )
89
+
90
+
91
+ def sync_detailed(
92
+ *,
93
+ client: Union[AuthenticatedClient, Client],
94
+ url_query: str,
95
+ format_: Union[Unset, GetFetchFormat] = UNSET,
96
+ country: Union[Unset, str] = "US",
97
+ timeout_ms: Union[Unset, int] = 60000,
98
+ cache_ttl: Union[GetFetchCacheTtlType1, Unset, str] = "48h",
99
+ ) -> Response[Union[Error, str]]:
100
+ """Fetch a URL (GET)
101
+
102
+ Direct HTTP fetch. The response body IS the content; metadata is returned in X-Fetch-* headers.
103
+ Omit `format` for raw passthrough. Use `format=markdown` or `format=html` for conversion.
104
+
105
+ Args:
106
+ url_query (str):
107
+ format_ (Union[Unset, GetFetchFormat]):
108
+ country (Union[Unset, str]): Default: 'US'.
109
+ timeout_ms (Union[Unset, int]): Default: 60000.
110
+ cache_ttl (Union[GetFetchCacheTtlType1, Unset, str]): Default: '48h'.
111
+
112
+ Raises:
113
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
114
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
115
+
116
+ Returns:
117
+ Response[Union[Error, str]]
118
+ """
119
+
120
+ kwargs = _get_kwargs(
121
+ url_query=url_query,
122
+ format_=format_,
123
+ country=country,
124
+ timeout_ms=timeout_ms,
125
+ cache_ttl=cache_ttl,
126
+ )
127
+
128
+ response = client.get_httpx_client().request(
129
+ **kwargs,
130
+ )
131
+
132
+ return _build_response(client=client, response=response)
133
+
134
+
135
+ def sync(
136
+ *,
137
+ client: Union[AuthenticatedClient, Client],
138
+ url_query: str,
139
+ format_: Union[Unset, GetFetchFormat] = UNSET,
140
+ country: Union[Unset, str] = "US",
141
+ timeout_ms: Union[Unset, int] = 60000,
142
+ cache_ttl: Union[GetFetchCacheTtlType1, Unset, str] = "48h",
143
+ ) -> Optional[Union[Error, str]]:
144
+ """Fetch a URL (GET)
145
+
146
+ Direct HTTP fetch. The response body IS the content; metadata is returned in X-Fetch-* headers.
147
+ Omit `format` for raw passthrough. Use `format=markdown` or `format=html` for conversion.
148
+
149
+ Args:
150
+ url_query (str):
151
+ format_ (Union[Unset, GetFetchFormat]):
152
+ country (Union[Unset, str]): Default: 'US'.
153
+ timeout_ms (Union[Unset, int]): Default: 60000.
154
+ cache_ttl (Union[GetFetchCacheTtlType1, Unset, str]): Default: '48h'.
155
+
156
+ Raises:
157
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
158
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
159
+
160
+ Returns:
161
+ Union[Error, str]
162
+ """
163
+
164
+ return sync_detailed(
165
+ client=client,
166
+ url_query=url_query,
167
+ format_=format_,
168
+ country=country,
169
+ timeout_ms=timeout_ms,
170
+ cache_ttl=cache_ttl,
171
+ ).parsed
172
+
173
+
174
+ async def asyncio_detailed(
175
+ *,
176
+ client: Union[AuthenticatedClient, Client],
177
+ url_query: str,
178
+ format_: Union[Unset, GetFetchFormat] = UNSET,
179
+ country: Union[Unset, str] = "US",
180
+ timeout_ms: Union[Unset, int] = 60000,
181
+ cache_ttl: Union[GetFetchCacheTtlType1, Unset, str] = "48h",
182
+ ) -> Response[Union[Error, str]]:
183
+ """Fetch a URL (GET)
184
+
185
+ Direct HTTP fetch. The response body IS the content; metadata is returned in X-Fetch-* headers.
186
+ Omit `format` for raw passthrough. Use `format=markdown` or `format=html` for conversion.
187
+
188
+ Args:
189
+ url_query (str):
190
+ format_ (Union[Unset, GetFetchFormat]):
191
+ country (Union[Unset, str]): Default: 'US'.
192
+ timeout_ms (Union[Unset, int]): Default: 60000.
193
+ cache_ttl (Union[GetFetchCacheTtlType1, Unset, str]): Default: '48h'.
194
+
195
+ Raises:
196
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
197
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
198
+
199
+ Returns:
200
+ Response[Union[Error, str]]
201
+ """
202
+
203
+ kwargs = _get_kwargs(
204
+ url_query=url_query,
205
+ format_=format_,
206
+ country=country,
207
+ timeout_ms=timeout_ms,
208
+ cache_ttl=cache_ttl,
209
+ )
210
+
211
+ response = await client.get_async_httpx_client().request(**kwargs)
212
+
213
+ return _build_response(client=client, response=response)
214
+
215
+
216
+ async def asyncio(
217
+ *,
218
+ client: Union[AuthenticatedClient, Client],
219
+ url_query: str,
220
+ format_: Union[Unset, GetFetchFormat] = UNSET,
221
+ country: Union[Unset, str] = "US",
222
+ timeout_ms: Union[Unset, int] = 60000,
223
+ cache_ttl: Union[GetFetchCacheTtlType1, Unset, str] = "48h",
224
+ ) -> Optional[Union[Error, str]]:
225
+ """Fetch a URL (GET)
226
+
227
+ Direct HTTP fetch. The response body IS the content; metadata is returned in X-Fetch-* headers.
228
+ Omit `format` for raw passthrough. Use `format=markdown` or `format=html` for conversion.
229
+
230
+ Args:
231
+ url_query (str):
232
+ format_ (Union[Unset, GetFetchFormat]):
233
+ country (Union[Unset, str]): Default: 'US'.
234
+ timeout_ms (Union[Unset, int]): Default: 60000.
235
+ cache_ttl (Union[GetFetchCacheTtlType1, Unset, str]): Default: '48h'.
236
+
237
+ Raises:
238
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
239
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
240
+
241
+ Returns:
242
+ Union[Error, str]
243
+ """
244
+
245
+ return (
246
+ await asyncio_detailed(
247
+ client=client,
248
+ url_query=url_query,
249
+ format_=format_,
250
+ country=country,
251
+ timeout_ms=timeout_ms,
252
+ cache_ttl=cache_ttl,
253
+ )
254
+ ).parsed