anchorbrowser 0.3.13__py3-none-any.whl → 0.5.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.
@@ -1,521 +0,0 @@
1
- # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- from __future__ import annotations
4
-
5
- from typing import Dict, Union, Iterable
6
- from typing_extensions import Literal, Required, TypeAlias, TypedDict
7
-
8
- from .._types import SequenceNotStr
9
-
10
- __all__ = [
11
- "BatchSessionCreateParams",
12
- "Configuration",
13
- "ConfigurationBrowser",
14
- "ConfigurationBrowserAdblock",
15
- "ConfigurationBrowserCaptchaSolver",
16
- "ConfigurationBrowserDisableWebSecurity",
17
- "ConfigurationBrowserExtraStealth",
18
- "ConfigurationBrowserFullscreen",
19
- "ConfigurationBrowserHeadless",
20
- "ConfigurationBrowserP2pDownload",
21
- "ConfigurationBrowserPopupBlocker",
22
- "ConfigurationBrowserProfile",
23
- "ConfigurationBrowserViewport",
24
- "ConfigurationIntegration",
25
- "ConfigurationIntegrationConfiguration",
26
- "ConfigurationIntegrationConfigurationOnePasswordAllSecretsConfig",
27
- "ConfigurationIntegrationConfigurationOnePasswordSpecificSecretsConfig",
28
- "ConfigurationSession",
29
- "ConfigurationSessionLiveView",
30
- "ConfigurationSessionProxy",
31
- "ConfigurationSessionProxyAnchorProxy",
32
- "ConfigurationSessionProxyCustomProxy",
33
- "ConfigurationSessionRecording",
34
- "ConfigurationSessionTimeout",
35
- ]
36
-
37
-
38
- class BatchSessionCreateParams(TypedDict, total=False):
39
- count: Required[int]
40
- """Number of sessions to create in the batch (1-1000)"""
41
-
42
- configuration: Configuration
43
- """Configuration that applies to all sessions in the batch"""
44
-
45
- metadata: Dict[str, object]
46
- """Optional batch-level metadata for identification and organization"""
47
-
48
-
49
- class ConfigurationBrowserAdblock(TypedDict, total=False):
50
- """Configuration for ad-blocking."""
51
-
52
- active: bool
53
- """Enable or disable ad-blocking. Defaults to `true`."""
54
-
55
-
56
- class ConfigurationBrowserCaptchaSolver(TypedDict, total=False):
57
- """Configuration for captcha-solving."""
58
-
59
- active: bool
60
- """Enable or disable captcha-solving.
61
-
62
- Requires proxy to be active. Defaults to `false`.
63
- """
64
-
65
-
66
- class ConfigurationBrowserDisableWebSecurity(TypedDict, total=False):
67
- """Configuration for disabling web security features."""
68
-
69
- active: bool
70
- """Whether to disable web security features (CORS, same-origin policy, etc.).
71
-
72
- Allows accessing iframes and resources from different origins. Defaults to
73
- `false`.
74
- """
75
-
76
-
77
- class ConfigurationBrowserExtraStealth(TypedDict, total=False):
78
- """
79
- Configuration for extra stealth mode to enhance browser fingerprinting protection.
80
- """
81
-
82
- active: bool
83
- """Enable or disable extra stealth mode."""
84
-
85
-
86
- class ConfigurationBrowserFullscreen(TypedDict, total=False):
87
- """Configuration for fullscreen mode."""
88
-
89
- active: bool
90
- """Enable or disable fullscreen mode.
91
-
92
- When enabled, the browser will start in fullscreen mode. Defaults to `false`.
93
- """
94
-
95
-
96
- class ConfigurationBrowserHeadless(TypedDict, total=False):
97
- """Configuration for headless mode."""
98
-
99
- active: bool
100
- """Whether browser should be headless or headful. Defaults to `false`."""
101
-
102
-
103
- class ConfigurationBrowserP2pDownload(TypedDict, total=False):
104
- """Configuration for peer-to-peer download capture functionality."""
105
-
106
- active: bool
107
- """Enable or disable P2P downloads.
108
-
109
- When enabled, the browser will capture downloads for direct data extraction,
110
- instead of uploading them on Anchor's storage. Defaults to `false`.
111
- """
112
-
113
-
114
- class ConfigurationBrowserPopupBlocker(TypedDict, total=False):
115
- """Configuration for popup blocking."""
116
-
117
- active: bool
118
- """Blocks popups, including ads and CAPTCHA consent banners.
119
-
120
- Requires adblock to be active. Defaults to `true`.
121
- """
122
-
123
-
124
- class ConfigurationBrowserProfile(TypedDict, total=False):
125
- """Options for managing and persisting browser session profiles."""
126
-
127
- name: str
128
- """The name of the profile to be used during the browser session."""
129
-
130
- persist: bool
131
- """
132
- Indicates whether the browser session profile data should be saved when the
133
- browser session ends. Defaults to `false`.
134
- """
135
-
136
-
137
- class ConfigurationBrowserViewport(TypedDict, total=False):
138
- """Configuration for the browser's viewport size."""
139
-
140
- height: int
141
- """Height of the viewport in pixels. Defaults to `900`."""
142
-
143
- width: int
144
- """Width of the viewport in pixels. Defaults to `1440`."""
145
-
146
-
147
- class ConfigurationBrowser(TypedDict, total=False):
148
- """Browser-specific configurations."""
149
-
150
- adblock: ConfigurationBrowserAdblock
151
- """Configuration for ad-blocking."""
152
-
153
- captcha_solver: ConfigurationBrowserCaptchaSolver
154
- """Configuration for captcha-solving."""
155
-
156
- disable_web_security: ConfigurationBrowserDisableWebSecurity
157
- """Configuration for disabling web security features."""
158
-
159
- extensions: SequenceNotStr[str]
160
- """Array of extension IDs to load in the browser session.
161
-
162
- Extensions must be previously uploaded using the Extensions API.
163
- """
164
-
165
- extra_stealth: ConfigurationBrowserExtraStealth
166
- """
167
- Configuration for extra stealth mode to enhance browser fingerprinting
168
- protection.
169
- """
170
-
171
- fullscreen: ConfigurationBrowserFullscreen
172
- """Configuration for fullscreen mode."""
173
-
174
- headless: ConfigurationBrowserHeadless
175
- """Configuration for headless mode."""
176
-
177
- p2p_download: ConfigurationBrowserP2pDownload
178
- """Configuration for peer-to-peer download capture functionality."""
179
-
180
- popup_blocker: ConfigurationBrowserPopupBlocker
181
- """Configuration for popup blocking."""
182
-
183
- profile: ConfigurationBrowserProfile
184
- """Options for managing and persisting browser session profiles."""
185
-
186
- viewport: ConfigurationBrowserViewport
187
- """Configuration for the browser's viewport size."""
188
-
189
-
190
- class ConfigurationIntegrationConfigurationOnePasswordAllSecretsConfig(TypedDict, total=False):
191
- load_mode: Required[Literal["all"]]
192
- """Load all secrets from 1Password"""
193
-
194
-
195
- class ConfigurationIntegrationConfigurationOnePasswordSpecificSecretsConfig(TypedDict, total=False):
196
- load_mode: Required[Literal["specific"]]
197
- """Load specific secrets from 1Password"""
198
-
199
- secrets: Required[SequenceNotStr[str]]
200
- """Array of secret references to load"""
201
-
202
-
203
- ConfigurationIntegrationConfiguration: TypeAlias = Union[
204
- ConfigurationIntegrationConfigurationOnePasswordAllSecretsConfig,
205
- ConfigurationIntegrationConfigurationOnePasswordSpecificSecretsConfig,
206
- ]
207
-
208
-
209
- class ConfigurationIntegration(TypedDict, total=False):
210
- id: Required[str]
211
- """Unique integration ID"""
212
-
213
- configuration: Required[ConfigurationIntegrationConfiguration]
214
-
215
- type: Required[Literal["1PASSWORD"]]
216
- """Integration type"""
217
-
218
-
219
- class ConfigurationSessionLiveView(TypedDict, total=False):
220
- """Configuration for live viewing the browser session."""
221
-
222
- read_only: bool
223
- """Enable or disable read-only mode for live viewing. Defaults to `false`."""
224
-
225
-
226
- class ConfigurationSessionProxyAnchorProxy(TypedDict, total=False):
227
- active: Required[bool]
228
-
229
- city: str
230
- """City name for precise geographic targeting.
231
-
232
- Supported for anchor_proxy only. Can only be used when region is also provided.
233
- """
234
-
235
- country_code: Literal[
236
- "af",
237
- "al",
238
- "dz",
239
- "ad",
240
- "ao",
241
- "as",
242
- "ag",
243
- "ar",
244
- "am",
245
- "aw",
246
- "au",
247
- "at",
248
- "az",
249
- "bs",
250
- "bh",
251
- "bb",
252
- "by",
253
- "be",
254
- "bz",
255
- "bj",
256
- "bm",
257
- "bo",
258
- "ba",
259
- "br",
260
- "bg",
261
- "bf",
262
- "cm",
263
- "ca",
264
- "cv",
265
- "td",
266
- "cl",
267
- "co",
268
- "cg",
269
- "cr",
270
- "ci",
271
- "hr",
272
- "cu",
273
- "cy",
274
- "cz",
275
- "dk",
276
- "dm",
277
- "do",
278
- "ec",
279
- "eg",
280
- "sv",
281
- "ee",
282
- "et",
283
- "fo",
284
- "fi",
285
- "fr",
286
- "gf",
287
- "pf",
288
- "ga",
289
- "gm",
290
- "ge",
291
- "de",
292
- "gh",
293
- "gi",
294
- "gr",
295
- "gd",
296
- "gp",
297
- "gt",
298
- "gg",
299
- "gn",
300
- "gw",
301
- "gy",
302
- "ht",
303
- "hn",
304
- "hu",
305
- "is",
306
- "in",
307
- "ir",
308
- "iq",
309
- "ie",
310
- "il",
311
- "it",
312
- "jm",
313
- "jp",
314
- "jo",
315
- "kz",
316
- "kw",
317
- "kg",
318
- "lv",
319
- "lb",
320
- "ly",
321
- "li",
322
- "lt",
323
- "lu",
324
- "mk",
325
- "ml",
326
- "mt",
327
- "mq",
328
- "mr",
329
- "mx",
330
- "md",
331
- "mc",
332
- "me",
333
- "ma",
334
- "nl",
335
- "nz",
336
- "ni",
337
- "ng",
338
- "no",
339
- "pk",
340
- "pa",
341
- "py",
342
- "pe",
343
- "ph",
344
- "pl",
345
- "pt",
346
- "pr",
347
- "qa",
348
- "ro",
349
- "lc",
350
- "sm",
351
- "sa",
352
- "sn",
353
- "rs",
354
- "sc",
355
- "sl",
356
- "sk",
357
- "si",
358
- "so",
359
- "za",
360
- "kr",
361
- "es",
362
- "sr",
363
- "se",
364
- "ch",
365
- "sy",
366
- "st",
367
- "tw",
368
- "tj",
369
- "tg",
370
- "tt",
371
- "tn",
372
- "tr",
373
- "tc",
374
- "ua",
375
- "ae",
376
- "us",
377
- "uy",
378
- "uz",
379
- "ve",
380
- "ye",
381
- "bd",
382
- "bw",
383
- "bn",
384
- "bi",
385
- "kh",
386
- "cn",
387
- "dj",
388
- "gq",
389
- "sz",
390
- "fj",
391
- "hk",
392
- "id",
393
- "ke",
394
- "la",
395
- "ls",
396
- "lr",
397
- "mg",
398
- "mw",
399
- "my",
400
- "mv",
401
- "mn",
402
- "mz",
403
- "mm",
404
- "na",
405
- "np",
406
- "nc",
407
- "ne",
408
- "om",
409
- "pg",
410
- "ru",
411
- "rw",
412
- "ws",
413
- "sg",
414
- "ss",
415
- "lk",
416
- "sd",
417
- "tz",
418
- "th",
419
- "tl",
420
- "tm",
421
- "ug",
422
- "gb",
423
- "vu",
424
- "vn",
425
- "zm",
426
- "zw",
427
- "bt",
428
- "mu",
429
- ]
430
- """Supported country codes ISO 2 lowercase
431
-
432
- **On change make sure to update the Proxy type.**
433
- """
434
-
435
- region: str
436
- """
437
- Region code for more specific geographic targeting. The city parameter can only
438
- be used when region is also provided.
439
- """
440
-
441
- type: Literal["anchor_proxy", "anchor_residential", "anchor_mobile", "anchor_gov"]
442
- """**On change make sure to update the country_code.**"""
443
-
444
-
445
- class ConfigurationSessionProxyCustomProxy(TypedDict, total=False):
446
- active: Required[bool]
447
-
448
- password: Required[str]
449
- """Proxy password"""
450
-
451
- server: Required[str]
452
- """Proxy server address"""
453
-
454
- type: Required[Literal["custom"]]
455
-
456
- username: Required[str]
457
- """Proxy username"""
458
-
459
-
460
- ConfigurationSessionProxy: TypeAlias = Union[ConfigurationSessionProxyAnchorProxy, ConfigurationSessionProxyCustomProxy]
461
-
462
-
463
- class ConfigurationSessionRecording(TypedDict, total=False):
464
- """Configuration for session recording."""
465
-
466
- active: bool
467
- """Enable or disable video recording of the browser session. Defaults to `true`."""
468
-
469
-
470
- class ConfigurationSessionTimeout(TypedDict, total=False):
471
- """Timeout configurations for the browser session."""
472
-
473
- idle_timeout: int
474
- """
475
- The amount of time (in minutes) the browser session waits for new connections
476
- after all others are closed before stopping. Defaults to `5`.
477
- """
478
-
479
- max_duration: int
480
- """Maximum amount of time (in minutes) for the browser to run before terminating.
481
-
482
- Defaults to `20`.
483
- """
484
-
485
-
486
- class ConfigurationSession(TypedDict, total=False):
487
- """Session-related configurations."""
488
-
489
- initial_url: str
490
- """The URL to navigate to when the browser session starts.
491
-
492
- If not provided, the browser will load an empty page.
493
- """
494
-
495
- live_view: ConfigurationSessionLiveView
496
- """Configuration for live viewing the browser session."""
497
-
498
- proxy: ConfigurationSessionProxy
499
- """Proxy Documentation available at [Proxy Documentation](/advanced/proxy)"""
500
-
501
- recording: ConfigurationSessionRecording
502
- """Configuration for session recording."""
503
-
504
- timeout: ConfigurationSessionTimeout
505
- """Timeout configurations for the browser session."""
506
-
507
-
508
- class Configuration(TypedDict, total=False):
509
- """Configuration that applies to all sessions in the batch"""
510
-
511
- browser: ConfigurationBrowser
512
- """Browser-specific configurations."""
513
-
514
- integrations: Iterable[ConfigurationIntegration]
515
- """Array of integrations to load in the browser session.
516
-
517
- Integrations must be previously created using the Integrations API.
518
- """
519
-
520
- session: ConfigurationSession
521
- """Session-related configurations."""
@@ -1,27 +0,0 @@
1
- # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- from typing import Optional
4
- from datetime import datetime
5
- from typing_extensions import Literal
6
-
7
- from .._models import BaseModel
8
-
9
- __all__ = ["BatchSessionCreateResponse", "Data"]
10
-
11
-
12
- class Data(BaseModel):
13
- batch_id: Optional[str] = None
14
- """Unique identifier for the batch"""
15
-
16
- created_at: Optional[datetime] = None
17
- """Timestamp when the batch was created"""
18
-
19
- status: Optional[Literal["pending", "processing", "completed", "failed"]] = None
20
- """Current status of the batch"""
21
-
22
- total_requests: Optional[int] = None
23
- """Total number of sessions requested in the batch"""
24
-
25
-
26
- class BatchSessionCreateResponse(BaseModel):
27
- data: Optional[Data] = None
@@ -1,90 +0,0 @@
1
- # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- from typing import Dict, List, Optional
4
- from datetime import datetime
5
- from typing_extensions import Literal
6
-
7
- from .._models import BaseModel
8
-
9
- __all__ = ["BatchSessionRetrieveResponse", "Data", "DataProgress", "DataSession"]
10
-
11
-
12
- class DataProgress(BaseModel):
13
- current_phase: Optional[Literal["queued", "provisioning", "configuring", "ready"]] = None
14
- """Current processing phase"""
15
-
16
- percentage: Optional[float] = None
17
- """Completion percentage (0-100)"""
18
-
19
-
20
- class DataSession(BaseModel):
21
- cdp_url: Optional[str] = None
22
- """CDP websocket connection URL (if session is ready)"""
23
-
24
- completed_at: Optional[datetime] = None
25
- """Timestamp when session creation completed"""
26
-
27
- error: Optional[str] = None
28
- """Error message if session creation failed"""
29
-
30
- item_index: Optional[int] = None
31
- """Index of this session within the batch (0-based)"""
32
-
33
- live_view_url: Optional[str] = None
34
- """Live view URL for the session (if session is ready)"""
35
-
36
- metadata: Optional[Dict[str, object]] = None
37
- """Session-specific metadata"""
38
-
39
- retry_count: Optional[int] = None
40
- """Number of times this session creation has been retried"""
41
-
42
- session_id: Optional[str] = None
43
- """Unique identifier for the browser session (if created successfully)"""
44
-
45
- started_at: Optional[datetime] = None
46
- """Timestamp when session creation started"""
47
-
48
- status: Optional[Literal["pending", "processing", "completed", "failed"]] = None
49
- """Current status of this individual session"""
50
-
51
-
52
- class Data(BaseModel):
53
- actual_completion_time: Optional[datetime] = None
54
- """Timestamp when the batch completed (if completed)"""
55
-
56
- batch_id: Optional[str] = None
57
- """Unique identifier for the batch"""
58
-
59
- completed_requests: Optional[int] = None
60
- """Number of sessions successfully created"""
61
-
62
- created_at: Optional[datetime] = None
63
- """Timestamp when the batch was created"""
64
-
65
- error: Optional[str] = None
66
- """Error message if batch failed"""
67
-
68
- failed_requests: Optional[int] = None
69
- """Number of sessions that failed to create"""
70
-
71
- pending_requests: Optional[int] = None
72
- """Number of sessions waiting to be processed"""
73
-
74
- processing_requests: Optional[int] = None
75
- """Number of sessions currently being processed"""
76
-
77
- progress: Optional[DataProgress] = None
78
-
79
- sessions: Optional[List[DataSession]] = None
80
- """Array of individual session details"""
81
-
82
- status: Optional[Literal["pending", "processing", "completed", "failed"]] = None
83
- """Current status of the batch"""
84
-
85
- total_requests: Optional[int] = None
86
- """Total number of sessions requested"""
87
-
88
-
89
- class BatchSessionRetrieveResponse(BaseModel):
90
- data: Optional[Data] = None