nimble_python 0.1.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 (50) hide show
  1. nimble_python/__init__.py +104 -0
  2. nimble_python/_base_client.py +2127 -0
  3. nimble_python/_client.py +4783 -0
  4. nimble_python/_compat.py +219 -0
  5. nimble_python/_constants.py +14 -0
  6. nimble_python/_exceptions.py +108 -0
  7. nimble_python/_files.py +123 -0
  8. nimble_python/_models.py +872 -0
  9. nimble_python/_qs.py +150 -0
  10. nimble_python/_resource.py +43 -0
  11. nimble_python/_response.py +832 -0
  12. nimble_python/_streaming.py +333 -0
  13. nimble_python/_types.py +270 -0
  14. nimble_python/_utils/__init__.py +64 -0
  15. nimble_python/_utils/_compat.py +45 -0
  16. nimble_python/_utils/_datetime_parse.py +136 -0
  17. nimble_python/_utils/_json.py +35 -0
  18. nimble_python/_utils/_logs.py +25 -0
  19. nimble_python/_utils/_proxy.py +65 -0
  20. nimble_python/_utils/_reflection.py +42 -0
  21. nimble_python/_utils/_resources_proxy.py +24 -0
  22. nimble_python/_utils/_streams.py +12 -0
  23. nimble_python/_utils/_sync.py +58 -0
  24. nimble_python/_utils/_transform.py +457 -0
  25. nimble_python/_utils/_typing.py +156 -0
  26. nimble_python/_utils/_utils.py +421 -0
  27. nimble_python/_version.py +4 -0
  28. nimble_python/lib/.keep +4 -0
  29. nimble_python/py.typed +0 -0
  30. nimble_python/resources/__init__.py +19 -0
  31. nimble_python/resources/crawl.py +553 -0
  32. nimble_python/types/__init__.py +18 -0
  33. nimble_python/types/client_extract_params.py +1366 -0
  34. nimble_python/types/client_extract_template_params.py +14 -0
  35. nimble_python/types/client_map_params.py +812 -0
  36. nimble_python/types/client_search_params.py +75 -0
  37. nimble_python/types/crawl_list_params.py +19 -0
  38. nimble_python/types/crawl_list_response.py +1390 -0
  39. nimble_python/types/crawl_root_params.py +1429 -0
  40. nimble_python/types/crawl_root_response.py +11 -0
  41. nimble_python/types/crawl_status_response.py +33 -0
  42. nimble_python/types/crawl_terminate_response.py +11 -0
  43. nimble_python/types/extract_response.py +11 -0
  44. nimble_python/types/extract_template_response.py +11 -0
  45. nimble_python/types/map_response.py +28 -0
  46. nimble_python/types/search_response.py +70 -0
  47. nimble_python-0.1.0.dist-info/METADATA +452 -0
  48. nimble_python-0.1.0.dist-info/RECORD +50 -0
  49. nimble_python-0.1.0.dist-info/WHEEL +4 -0
  50. nimble_python-0.1.0.dist-info/licenses/LICENSE +201 -0
@@ -0,0 +1,1366 @@
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, List, Union, Iterable, Optional
6
+ from typing_extensions import Literal, Required, Annotated, TypeAlias, TypedDict
7
+
8
+ from .._types import SequenceNotStr
9
+ from .._utils import PropertyInfo
10
+
11
+ __all__ = [
12
+ "ClientExtractParams",
13
+ "DebugOptions",
14
+ "Browser",
15
+ "BrowserUnionMember1",
16
+ "CookiesUnionMember0",
17
+ "Metadata",
18
+ "NetworkCapture",
19
+ "NetworkCaptureURL",
20
+ "ParseOptions",
21
+ "QueryTemplate",
22
+ "QueryTemplatePagination",
23
+ "QueryTemplatePaginationNextPageParams",
24
+ "QueryTemplatePaginationUnionMember1",
25
+ "RenderOptions",
26
+ "RenderOptionsHackiumConfiguration",
27
+ "Session",
28
+ "Template",
29
+ "UserbrowserCreationTemplateRendered",
30
+ ]
31
+
32
+
33
+ class ClientExtractParams(TypedDict, total=False):
34
+ debug_options: Required[DebugOptions]
35
+ """Debug and troubleshooting options for the request"""
36
+
37
+ url: Required[str]
38
+ """Target URL to scrape"""
39
+
40
+ browser: Browser
41
+ """Browser type to emulate"""
42
+
43
+ city: str
44
+ """City for geolocation"""
45
+
46
+ client_timeout: float
47
+ """Client-side timeout in milliseconds"""
48
+
49
+ consent_header: bool
50
+ """Whether to automatically handle cookie consent headers"""
51
+
52
+ cookies: Union[Iterable[CookiesUnionMember0], str]
53
+ """Browser cookies as array of cookie objects"""
54
+
55
+ country: Literal[
56
+ "AD",
57
+ "AE",
58
+ "AF",
59
+ "AG",
60
+ "AI",
61
+ "AL",
62
+ "AM",
63
+ "AO",
64
+ "AQ",
65
+ "AR",
66
+ "AS",
67
+ "AT",
68
+ "AU",
69
+ "AW",
70
+ "AX",
71
+ "AZ",
72
+ "BA",
73
+ "BB",
74
+ "BD",
75
+ "BE",
76
+ "BF",
77
+ "BG",
78
+ "BH",
79
+ "BI",
80
+ "BJ",
81
+ "BL",
82
+ "BM",
83
+ "BN",
84
+ "BO",
85
+ "BQ",
86
+ "BR",
87
+ "BS",
88
+ "BT",
89
+ "BV",
90
+ "BW",
91
+ "BY",
92
+ "BZ",
93
+ "CA",
94
+ "CC",
95
+ "CD",
96
+ "CF",
97
+ "CG",
98
+ "CH",
99
+ "CI",
100
+ "CK",
101
+ "CL",
102
+ "CM",
103
+ "CN",
104
+ "CO",
105
+ "CR",
106
+ "CU",
107
+ "CV",
108
+ "CW",
109
+ "CX",
110
+ "CY",
111
+ "CZ",
112
+ "DE",
113
+ "DJ",
114
+ "DK",
115
+ "DM",
116
+ "DO",
117
+ "DZ",
118
+ "EC",
119
+ "EE",
120
+ "EG",
121
+ "EH",
122
+ "ER",
123
+ "ES",
124
+ "ET",
125
+ "FI",
126
+ "FJ",
127
+ "FK",
128
+ "FM",
129
+ "FO",
130
+ "FR",
131
+ "GA",
132
+ "GB",
133
+ "GD",
134
+ "GE",
135
+ "GF",
136
+ "GG",
137
+ "GH",
138
+ "GI",
139
+ "GL",
140
+ "GM",
141
+ "GN",
142
+ "GP",
143
+ "GQ",
144
+ "GR",
145
+ "GS",
146
+ "GT",
147
+ "GU",
148
+ "GW",
149
+ "GY",
150
+ "HK",
151
+ "HM",
152
+ "HN",
153
+ "HR",
154
+ "HT",
155
+ "HU",
156
+ "ID",
157
+ "IE",
158
+ "IL",
159
+ "IM",
160
+ "IN",
161
+ "IO",
162
+ "IQ",
163
+ "IR",
164
+ "IS",
165
+ "IT",
166
+ "JE",
167
+ "JM",
168
+ "JO",
169
+ "JP",
170
+ "KE",
171
+ "KG",
172
+ "KH",
173
+ "KI",
174
+ "KM",
175
+ "KN",
176
+ "KP",
177
+ "KR",
178
+ "KW",
179
+ "KY",
180
+ "KZ",
181
+ "LA",
182
+ "LB",
183
+ "LC",
184
+ "LI",
185
+ "LK",
186
+ "LR",
187
+ "LS",
188
+ "LT",
189
+ "LU",
190
+ "LV",
191
+ "LY",
192
+ "MA",
193
+ "MC",
194
+ "MD",
195
+ "ME",
196
+ "MF",
197
+ "MG",
198
+ "MH",
199
+ "MK",
200
+ "ML",
201
+ "MM",
202
+ "MN",
203
+ "MO",
204
+ "MP",
205
+ "MQ",
206
+ "MR",
207
+ "MS",
208
+ "MT",
209
+ "MU",
210
+ "MV",
211
+ "MW",
212
+ "MX",
213
+ "MY",
214
+ "MZ",
215
+ "NA",
216
+ "NC",
217
+ "NE",
218
+ "NF",
219
+ "NG",
220
+ "NI",
221
+ "NL",
222
+ "NO",
223
+ "NP",
224
+ "NR",
225
+ "NU",
226
+ "NZ",
227
+ "OM",
228
+ "PA",
229
+ "PE",
230
+ "PF",
231
+ "PG",
232
+ "PH",
233
+ "PK",
234
+ "PL",
235
+ "PM",
236
+ "PN",
237
+ "PR",
238
+ "PS",
239
+ "PT",
240
+ "PW",
241
+ "PY",
242
+ "QA",
243
+ "RE",
244
+ "RO",
245
+ "RS",
246
+ "RU",
247
+ "RW",
248
+ "SA",
249
+ "SB",
250
+ "SC",
251
+ "SD",
252
+ "SE",
253
+ "SG",
254
+ "SH",
255
+ "SI",
256
+ "SJ",
257
+ "SK",
258
+ "SL",
259
+ "SM",
260
+ "SN",
261
+ "SO",
262
+ "SR",
263
+ "SS",
264
+ "ST",
265
+ "SV",
266
+ "SX",
267
+ "SY",
268
+ "SZ",
269
+ "TC",
270
+ "TD",
271
+ "TF",
272
+ "TG",
273
+ "TH",
274
+ "TJ",
275
+ "TK",
276
+ "TL",
277
+ "TM",
278
+ "TN",
279
+ "TO",
280
+ "TR",
281
+ "TT",
282
+ "TV",
283
+ "TW",
284
+ "TZ",
285
+ "UA",
286
+ "UG",
287
+ "UM",
288
+ "US",
289
+ "UY",
290
+ "UZ",
291
+ "VA",
292
+ "VC",
293
+ "VE",
294
+ "VG",
295
+ "VI",
296
+ "VN",
297
+ "VU",
298
+ "WF",
299
+ "WS",
300
+ "XK",
301
+ "YE",
302
+ "YT",
303
+ "ZA",
304
+ "ZM",
305
+ "ZW",
306
+ "ALL",
307
+ ]
308
+ """Country code for geolocation and proxy selection"""
309
+
310
+ device: Literal["desktop", "mobile", "tablet"]
311
+ """Device type for browser emulation"""
312
+
313
+ disable_ip_check: bool
314
+ """Whether to disable IP address validation"""
315
+
316
+ driver: Literal["vx6", "vx8", "vx8-pro", "vx10", "vx10-pro", "vx12", "vx12-pro"]
317
+ """Browser driver to use"""
318
+
319
+ dynamic_parser: Dict[str, object]
320
+ """Custom parser configuration as a key-value map"""
321
+
322
+ expected_status_codes: Iterable[int]
323
+ """Expected HTTP status codes for successful requests"""
324
+
325
+ export_userbrowser: bool
326
+ """Whether to export the userbrowser session"""
327
+
328
+ format: Literal["json", "html", "csv", "raw", "json-lines", "markdown"]
329
+ """Response format"""
330
+
331
+ headers: Dict[str, Union[str, SequenceNotStr[str], None]]
332
+ """Custom HTTP headers to include in the request"""
333
+
334
+ http2: bool
335
+ """Whether to use HTTP/2 protocol"""
336
+
337
+ ip6: bool
338
+ """Whether to use IPv6 for the request"""
339
+
340
+ is_xhr: bool
341
+ """Whether to emulate XMLHttpRequest behavior"""
342
+
343
+ locale: Literal[
344
+ "aa-DJ",
345
+ "aa-ER",
346
+ "aa-ET",
347
+ "af",
348
+ "af-NA",
349
+ "af-ZA",
350
+ "ak",
351
+ "ak-GH",
352
+ "am",
353
+ "am-ET",
354
+ "an-ES",
355
+ "ar",
356
+ "ar-AE",
357
+ "ar-BH",
358
+ "ar-DZ",
359
+ "ar-EG",
360
+ "ar-IN",
361
+ "ar-IQ",
362
+ "ar-JO",
363
+ "ar-KW",
364
+ "ar-LB",
365
+ "ar-LY",
366
+ "ar-MA",
367
+ "ar-OM",
368
+ "ar-QA",
369
+ "ar-SA",
370
+ "ar-SD",
371
+ "ar-SY",
372
+ "ar-TN",
373
+ "ar-YE",
374
+ "as",
375
+ "as-IN",
376
+ "asa",
377
+ "asa-TZ",
378
+ "ast-ES",
379
+ "az",
380
+ "az-AZ",
381
+ "az-Cyrl",
382
+ "az-Cyrl-AZ",
383
+ "az-Latn",
384
+ "az-Latn-AZ",
385
+ "be",
386
+ "be-BY",
387
+ "bem",
388
+ "bem-ZM",
389
+ "ber-DZ",
390
+ "ber-MA",
391
+ "bez",
392
+ "bez-TZ",
393
+ "bg",
394
+ "bg-BG",
395
+ "bho-IN",
396
+ "bm",
397
+ "bm-ML",
398
+ "bn",
399
+ "bn-BD",
400
+ "bn-IN",
401
+ "bo",
402
+ "bo-CN",
403
+ "bo-IN",
404
+ "br-FR",
405
+ "brx-IN",
406
+ "bs",
407
+ "bs-BA",
408
+ "byn-ER",
409
+ "ca",
410
+ "ca-AD",
411
+ "ca-ES",
412
+ "ca-FR",
413
+ "ca-IT",
414
+ "cgg",
415
+ "cgg-UG",
416
+ "chr",
417
+ "chr-US",
418
+ "crh-UA",
419
+ "cs",
420
+ "cs-CZ",
421
+ "csb-PL",
422
+ "cv-RU",
423
+ "cy",
424
+ "cy-GB",
425
+ "da",
426
+ "da-DK",
427
+ "dav",
428
+ "dav-KE",
429
+ "de",
430
+ "de-AT",
431
+ "de-BE",
432
+ "de-CH",
433
+ "de-DE",
434
+ "de-LI",
435
+ "de-LU",
436
+ "dv-MV",
437
+ "dz-BT",
438
+ "ebu",
439
+ "ebu-KE",
440
+ "ee",
441
+ "ee-GH",
442
+ "ee-TG",
443
+ "el",
444
+ "el-CY",
445
+ "el-GR",
446
+ "en",
447
+ "en-AG",
448
+ "en-AS",
449
+ "en-AU",
450
+ "en-BE",
451
+ "en-BW",
452
+ "en-BZ",
453
+ "en-CA",
454
+ "en-DK",
455
+ "en-GB",
456
+ "en-GU",
457
+ "en-HK",
458
+ "en-IE",
459
+ "en-IN",
460
+ "en-JM",
461
+ "en-MH",
462
+ "en-MP",
463
+ "en-MT",
464
+ "en-MU",
465
+ "en-NA",
466
+ "en-NG",
467
+ "en-NZ",
468
+ "en-PH",
469
+ "en-PK",
470
+ "en-SG",
471
+ "en-TT",
472
+ "en-UM",
473
+ "en-US",
474
+ "en-VI",
475
+ "en-ZA",
476
+ "en-ZM",
477
+ "en-ZW",
478
+ "eo",
479
+ "es",
480
+ "es-419",
481
+ "es-AR",
482
+ "es-BO",
483
+ "es-CL",
484
+ "es-CO",
485
+ "es-CR",
486
+ "es-CU",
487
+ "es-DO",
488
+ "es-EC",
489
+ "es-ES",
490
+ "es-GQ",
491
+ "es-GT",
492
+ "es-HN",
493
+ "es-MX",
494
+ "es-NI",
495
+ "es-PA",
496
+ "es-PE",
497
+ "es-PR",
498
+ "es-PY",
499
+ "es-SV",
500
+ "es-US",
501
+ "es-UY",
502
+ "es-VE",
503
+ "et",
504
+ "et-EE",
505
+ "eu",
506
+ "eu-ES",
507
+ "fa",
508
+ "fa-AF",
509
+ "fa-IR",
510
+ "ff",
511
+ "ff-SN",
512
+ "fi",
513
+ "fi-FI",
514
+ "fil",
515
+ "fil-PH",
516
+ "fo",
517
+ "fo-FO",
518
+ "fr",
519
+ "fr-BE",
520
+ "fr-BF",
521
+ "fr-BI",
522
+ "fr-BJ",
523
+ "fr-BL",
524
+ "fr-CA",
525
+ "fr-CD",
526
+ "fr-CF",
527
+ "fr-CG",
528
+ "fr-CH",
529
+ "fr-CI",
530
+ "fr-CM",
531
+ "fr-DJ",
532
+ "fr-FR",
533
+ "fr-GA",
534
+ "fr-GN",
535
+ "fr-GP",
536
+ "fr-GQ",
537
+ "fr-KM",
538
+ "fr-LU",
539
+ "fr-MC",
540
+ "fr-MF",
541
+ "fr-MG",
542
+ "fr-ML",
543
+ "fr-MQ",
544
+ "fr-NE",
545
+ "fr-RE",
546
+ "fr-RW",
547
+ "fr-SN",
548
+ "fr-TD",
549
+ "fr-TG",
550
+ "fur-IT",
551
+ "fy-DE",
552
+ "fy-NL",
553
+ "ga",
554
+ "ga-IE",
555
+ "gd-GB",
556
+ "gez-ER",
557
+ "gez-ET",
558
+ "gl",
559
+ "gl-ES",
560
+ "gsw",
561
+ "gsw-CH",
562
+ "gu",
563
+ "gu-IN",
564
+ "guz",
565
+ "guz-KE",
566
+ "gv",
567
+ "gv-GB",
568
+ "ha",
569
+ "ha-Latn",
570
+ "ha-Latn-GH",
571
+ "ha-Latn-NE",
572
+ "ha-Latn-NG",
573
+ "ha-NG",
574
+ "haw",
575
+ "haw-US",
576
+ "he",
577
+ "he-IL",
578
+ "hi",
579
+ "hi-IN",
580
+ "hne-IN",
581
+ "hr",
582
+ "hr-HR",
583
+ "hsb-DE",
584
+ "ht-HT",
585
+ "hu",
586
+ "hu-HU",
587
+ "hy",
588
+ "hy-AM",
589
+ "id",
590
+ "id-ID",
591
+ "ig",
592
+ "ig-NG",
593
+ "ii",
594
+ "ii-CN",
595
+ "ik-CA",
596
+ "is",
597
+ "is-IS",
598
+ "it",
599
+ "it-CH",
600
+ "it-IT",
601
+ "iu-CA",
602
+ "iw-IL",
603
+ "ja",
604
+ "ja-JP",
605
+ "jmc",
606
+ "jmc-TZ",
607
+ "ka",
608
+ "ka-GE",
609
+ "kab",
610
+ "kab-DZ",
611
+ "kam",
612
+ "kam-KE",
613
+ "kde",
614
+ "kde-TZ",
615
+ "kea",
616
+ "kea-CV",
617
+ "khq",
618
+ "khq-ML",
619
+ "ki",
620
+ "ki-KE",
621
+ "kk",
622
+ "kk-Cyrl",
623
+ "kk-Cyrl-KZ",
624
+ "kk-KZ",
625
+ "kl",
626
+ "kl-GL",
627
+ "kln",
628
+ "kln-KE",
629
+ "km",
630
+ "km-KH",
631
+ "kn",
632
+ "kn-IN",
633
+ "ko",
634
+ "ko-KR",
635
+ "kok",
636
+ "kok-IN",
637
+ "ks-IN",
638
+ "ku-TR",
639
+ "kw",
640
+ "kw-GB",
641
+ "ky-KG",
642
+ "lag",
643
+ "lag-TZ",
644
+ "lb-LU",
645
+ "lg",
646
+ "lg-UG",
647
+ "li-BE",
648
+ "li-NL",
649
+ "lij-IT",
650
+ "lo-LA",
651
+ "lt",
652
+ "lt-LT",
653
+ "luo",
654
+ "luo-KE",
655
+ "luy",
656
+ "luy-KE",
657
+ "lv",
658
+ "lv-LV",
659
+ "mag-IN",
660
+ "mai-IN",
661
+ "mas",
662
+ "mas-KE",
663
+ "mas-TZ",
664
+ "mer",
665
+ "mer-KE",
666
+ "mfe",
667
+ "mfe-MU",
668
+ "mg",
669
+ "mg-MG",
670
+ "mhr-RU",
671
+ "mi-NZ",
672
+ "mk",
673
+ "mk-MK",
674
+ "ml",
675
+ "ml-IN",
676
+ "mn-MN",
677
+ "mr",
678
+ "mr-IN",
679
+ "ms",
680
+ "ms-BN",
681
+ "ms-MY",
682
+ "mt",
683
+ "mt-MT",
684
+ "my",
685
+ "my-MM",
686
+ "nan-TW",
687
+ "naq",
688
+ "naq-NA",
689
+ "nb",
690
+ "nb-NO",
691
+ "nd",
692
+ "nd-ZW",
693
+ "nds-DE",
694
+ "nds-NL",
695
+ "ne",
696
+ "ne-IN",
697
+ "ne-NP",
698
+ "nl",
699
+ "nl-AW",
700
+ "nl-BE",
701
+ "nl-NL",
702
+ "nn",
703
+ "nn-NO",
704
+ "nr-ZA",
705
+ "nso-ZA",
706
+ "nyn",
707
+ "nyn-UG",
708
+ "oc-FR",
709
+ "om",
710
+ "om-ET",
711
+ "om-KE",
712
+ "or",
713
+ "or-IN",
714
+ "os-RU",
715
+ "pa",
716
+ "pa-Arab",
717
+ "pa-Arab-PK",
718
+ "pa-Guru",
719
+ "pa-Guru-IN",
720
+ "pa-IN",
721
+ "pa-PK",
722
+ "pap-AN",
723
+ "pl",
724
+ "pl-PL",
725
+ "ps",
726
+ "ps-AF",
727
+ "pt",
728
+ "pt-BR",
729
+ "pt-GW",
730
+ "pt-MZ",
731
+ "pt-PT",
732
+ "rm",
733
+ "rm-CH",
734
+ "ro",
735
+ "ro-MD",
736
+ "ro-RO",
737
+ "rof",
738
+ "rof-TZ",
739
+ "ru",
740
+ "ru-MD",
741
+ "ru-RU",
742
+ "ru-UA",
743
+ "rw",
744
+ "rw-RW",
745
+ "rwk",
746
+ "rwk-TZ",
747
+ "sa-IN",
748
+ "saq",
749
+ "saq-KE",
750
+ "sc-IT",
751
+ "sd-IN",
752
+ "se-NO",
753
+ "seh",
754
+ "seh-MZ",
755
+ "ses",
756
+ "ses-ML",
757
+ "sg",
758
+ "sg-CF",
759
+ "shi",
760
+ "shi-Latn",
761
+ "shi-Latn-MA",
762
+ "shi-Tfng",
763
+ "shi-Tfng-MA",
764
+ "shs-CA",
765
+ "si",
766
+ "si-LK",
767
+ "sid-ET",
768
+ "sk",
769
+ "sk-SK",
770
+ "sl",
771
+ "sl-SI",
772
+ "sn",
773
+ "sn-ZW",
774
+ "so",
775
+ "so-DJ",
776
+ "so-ET",
777
+ "so-KE",
778
+ "so-SO",
779
+ "sq",
780
+ "sq-AL",
781
+ "sq-MK",
782
+ "sr",
783
+ "sr-Cyrl",
784
+ "sr-Cyrl-BA",
785
+ "sr-Cyrl-ME",
786
+ "sr-Cyrl-RS",
787
+ "sr-Latn",
788
+ "sr-Latn-BA",
789
+ "sr-Latn-ME",
790
+ "sr-Latn-RS",
791
+ "sr-ME",
792
+ "sr-RS",
793
+ "ss-ZA",
794
+ "st-ZA",
795
+ "sv",
796
+ "sv-FI",
797
+ "sv-SE",
798
+ "sw",
799
+ "sw-KE",
800
+ "sw-TZ",
801
+ "ta",
802
+ "ta-IN",
803
+ "ta-LK",
804
+ "te",
805
+ "te-IN",
806
+ "teo",
807
+ "teo-KE",
808
+ "teo-UG",
809
+ "tg-TJ",
810
+ "th",
811
+ "th-TH",
812
+ "ti",
813
+ "ti-ER",
814
+ "ti-ET",
815
+ "tig-ER",
816
+ "tk-TM",
817
+ "tl-PH",
818
+ "tn-ZA",
819
+ "to",
820
+ "to-TO",
821
+ "tr",
822
+ "tr-CY",
823
+ "tr-TR",
824
+ "ts-ZA",
825
+ "tt-RU",
826
+ "tzm",
827
+ "tzm-Latn",
828
+ "tzm-Latn-MA",
829
+ "ug-CN",
830
+ "uk",
831
+ "uk-UA",
832
+ "unm-US",
833
+ "ur",
834
+ "ur-IN",
835
+ "ur-PK",
836
+ "uz",
837
+ "uz-Arab",
838
+ "uz-Arab-AF",
839
+ "uz-Cyrl",
840
+ "uz-Cyrl-UZ",
841
+ "uz-Latn",
842
+ "uz-Latn-UZ",
843
+ "uz-UZ",
844
+ "ve-ZA",
845
+ "vi",
846
+ "vi-VN",
847
+ "vun",
848
+ "vun-TZ",
849
+ "wa-BE",
850
+ "wae-CH",
851
+ "wal-ET",
852
+ "wo-SN",
853
+ "xh-ZA",
854
+ "xog",
855
+ "xog-UG",
856
+ "yi-US",
857
+ "yo",
858
+ "yo-NG",
859
+ "yue-HK",
860
+ "zh",
861
+ "zh-CN",
862
+ "zh-HK",
863
+ "zh-Hans",
864
+ "zh-Hans-CN",
865
+ "zh-Hans-HK",
866
+ "zh-Hans-MO",
867
+ "zh-Hans-SG",
868
+ "zh-Hant",
869
+ "zh-Hant-HK",
870
+ "zh-Hant-MO",
871
+ "zh-Hant-TW",
872
+ "zh-SG",
873
+ "zh-TW",
874
+ "zu",
875
+ "zu-ZA",
876
+ "auto",
877
+ ]
878
+ """Locale for browser language and region settings"""
879
+
880
+ markdown: bool
881
+ """Whether to return response in Markdown format"""
882
+
883
+ metadata: Metadata
884
+ """Structured metadata about the request execution context"""
885
+
886
+ method: Literal["GET", "POST", "PUT", "PATCH", "DELETE"]
887
+ """HTTP method for the request"""
888
+
889
+ native_mode: Literal["requester", "apm", "direct"]
890
+ """Native execution mode"""
891
+
892
+ network_capture: Iterable[NetworkCapture]
893
+ """Filters for capturing network traffic"""
894
+
895
+ no_html: bool
896
+ """Whether to exclude HTML from the response"""
897
+
898
+ no_userbrowser: bool
899
+ """Whether to disable browser-based rendering"""
900
+
901
+ os: Literal["windows", "mac os", "linux", "android", "ios"]
902
+ """Operating system to emulate"""
903
+
904
+ parse: bool
905
+ """Whether to parse the response content"""
906
+
907
+ parse_options: ParseOptions
908
+ """Configuration options for parsing behavior"""
909
+
910
+ parser: Union[Dict[str, object], str]
911
+ """Custom parser configuration as a key-value map"""
912
+
913
+ proxy_provider: Literal[
914
+ "brightdata",
915
+ "oxylabs",
916
+ "smartproxy",
917
+ "proxit",
918
+ "proxit_preprod",
919
+ "local",
920
+ "rayobyte",
921
+ "always",
922
+ "oculusproxies",
923
+ "froxy",
924
+ "packetstream",
925
+ "911proxy",
926
+ "direct911proxy",
927
+ "thesocialproxy",
928
+ "thesocialproxy2",
929
+ "nimble-isp",
930
+ "nimble-isp-mobile",
931
+ "proxit-linux",
932
+ "proxit-macos",
933
+ "proxit-windows",
934
+ "proxit-rental",
935
+ "ipfoxy",
936
+ "brightup",
937
+ "research",
938
+ ]
939
+ """Proxy provider to use for the request"""
940
+
941
+ proxy_providers: Dict[str, float]
942
+ """Weighted distribution of proxy providers"""
943
+
944
+ query_template: QueryTemplate
945
+ """Query template configuration for structured data extraction"""
946
+
947
+ raw_headers: bool
948
+ """Whether to return raw HTTP headers in response"""
949
+
950
+ referrer_type: Literal["random", "no-referer", "same-origin", "google", "bing", "facebook", "twitter", "instagram"]
951
+ """Referrer policy for the request"""
952
+
953
+ render: bool
954
+ """Whether to render JavaScript content using a browser"""
955
+
956
+ render_flow: Iterable[Dict[str, object]]
957
+ """Array of actions to perform during browser rendering"""
958
+
959
+ render_options: RenderOptions
960
+
961
+ request_timeout: float
962
+ """Request timeout in milliseconds"""
963
+
964
+ return_response_headers_as_header: bool
965
+ """Whether to return response headers in HTTP headers"""
966
+
967
+ save_userbrowser: bool
968
+ """Whether to save the userbrowser session for reuse"""
969
+
970
+ session: Session
971
+
972
+ skill: Union[str, SequenceNotStr[str]]
973
+ """Skills or capabilities required for the request"""
974
+
975
+ skip_ubct: bool
976
+ """Whether to skip userbrowser creation template processing"""
977
+
978
+ state: Literal[
979
+ "AL",
980
+ "AK",
981
+ "AS",
982
+ "AZ",
983
+ "AR",
984
+ "CA",
985
+ "CO",
986
+ "CT",
987
+ "DE",
988
+ "DC",
989
+ "FL",
990
+ "GA",
991
+ "GU",
992
+ "HI",
993
+ "ID",
994
+ "IL",
995
+ "IN",
996
+ "IA",
997
+ "KS",
998
+ "KY",
999
+ "LA",
1000
+ "ME",
1001
+ "MD",
1002
+ "MA",
1003
+ "MI",
1004
+ "MN",
1005
+ "MS",
1006
+ "MO",
1007
+ "MT",
1008
+ "NE",
1009
+ "NV",
1010
+ "NH",
1011
+ "NJ",
1012
+ "NM",
1013
+ "NY",
1014
+ "NC",
1015
+ "ND",
1016
+ "MP",
1017
+ "OH",
1018
+ "OK",
1019
+ "OR",
1020
+ "PA",
1021
+ "PR",
1022
+ "RI",
1023
+ "SC",
1024
+ "SD",
1025
+ "TN",
1026
+ "TX",
1027
+ "UT",
1028
+ "VT",
1029
+ "VA",
1030
+ "VI",
1031
+ "WA",
1032
+ "WV",
1033
+ "WI",
1034
+ "WY",
1035
+ ]
1036
+ """US state for geolocation (only valid when country is US)"""
1037
+
1038
+ tag: str
1039
+ """User-defined tag for request identification"""
1040
+
1041
+ template: Template
1042
+ """Userbrowser creation template configuration"""
1043
+
1044
+ type: str
1045
+ """Type of query or scraping template"""
1046
+
1047
+ userbrowser_creation_template_rendered: UserbrowserCreationTemplateRendered
1048
+ """Pre-rendered userbrowser creation template configuration"""
1049
+
1050
+
1051
+ class DebugOptions(TypedDict, total=False):
1052
+ """Debug and troubleshooting options for the request"""
1053
+
1054
+ collect_har: Union[bool, Literal["never", "on-error", "always"]]
1055
+
1056
+ no_retry_mode: Union[bool, Literal["never", "always"]]
1057
+
1058
+ record_screen: Union[bool, Literal["never", "on-error", "always"]]
1059
+
1060
+ redact: Union[bool, Literal["never", "always"]]
1061
+
1062
+ show_cursor: Union[bool, Literal["never", "always"]]
1063
+
1064
+ solve_captcha: Union[bool, Literal["never", "always"]]
1065
+
1066
+ trace: Union[bool, Literal["never", "on-error", "always"]]
1067
+
1068
+ upload_engine_logs: Union[bool, Literal["never", "on-error", "always"]]
1069
+
1070
+ verbose: Union[bool, Literal["never", "always"]]
1071
+
1072
+ with_proxy_usage: Union[bool, Literal["never", "always"]]
1073
+
1074
+
1075
+ class BrowserUnionMember1(TypedDict, total=False):
1076
+ name: Required[Literal["chrome", "firefox"]]
1077
+
1078
+ version: str
1079
+ """Specific browser version to emulate"""
1080
+
1081
+
1082
+ Browser: TypeAlias = Union[Literal["chrome", "firefox"], BrowserUnionMember1]
1083
+
1084
+
1085
+ class CookiesUnionMember0Typed(TypedDict, total=False):
1086
+ creation: Optional[str]
1087
+
1088
+ domain: Optional[str]
1089
+
1090
+ expires: str
1091
+
1092
+ extensions: Optional[SequenceNotStr[str]]
1093
+
1094
+ host_only: Annotated[Optional[bool], PropertyInfo(alias="hostOnly")]
1095
+
1096
+ http_only: Annotated[Optional[bool], PropertyInfo(alias="httpOnly")]
1097
+
1098
+ last_accessed: Annotated[Optional[str], PropertyInfo(alias="lastAccessed")]
1099
+
1100
+ max_age: Annotated[Union[Literal["Infinity", "-Infinity"], float, None], PropertyInfo(alias="maxAge")]
1101
+
1102
+ name: str
1103
+
1104
+ path: Optional[str]
1105
+
1106
+ path_is_default: Annotated[Optional[bool], PropertyInfo(alias="pathIsDefault")]
1107
+
1108
+ same_site: Annotated[Literal["strict", "lax", "none"], PropertyInfo(alias="sameSite")]
1109
+
1110
+ secure: bool
1111
+
1112
+ value: str
1113
+
1114
+
1115
+ CookiesUnionMember0: TypeAlias = Union[CookiesUnionMember0Typed, Dict[str, object]]
1116
+
1117
+
1118
+ class Metadata(TypedDict, total=False):
1119
+ """Structured metadata about the request execution context"""
1120
+
1121
+ account_name: str
1122
+ """Account name associated with the request"""
1123
+
1124
+ definition_id: int
1125
+ """Definition identifier"""
1126
+
1127
+ definition_name: str
1128
+ """Name of the definition"""
1129
+
1130
+ endpoint: str
1131
+ """API endpoint being called"""
1132
+
1133
+ execution_id: str
1134
+ """Unique identifier for this execution"""
1135
+
1136
+ flowit_task_id: str
1137
+ """FlowIt task identifier"""
1138
+
1139
+ input_id: str
1140
+ """Input data identifier"""
1141
+
1142
+ pipeline_execution_id: int
1143
+ """Identifier for the pipeline execution"""
1144
+
1145
+ query_template_id: str
1146
+ """Query template identifier"""
1147
+
1148
+ source: str
1149
+ """Source system or application making the request"""
1150
+
1151
+ template_id: int
1152
+ """Template identifier"""
1153
+
1154
+ template_name: str
1155
+ """Name of the template"""
1156
+
1157
+
1158
+ class NetworkCaptureURL(TypedDict, total=False):
1159
+ value: Required[str]
1160
+
1161
+ type: Literal["exact", "contains"]
1162
+
1163
+
1164
+ class NetworkCapture(TypedDict, total=False):
1165
+ method: Literal["GET", "HEAD", "POST", "PUT", "DELETE", "CONNECT", "OPTIONS", "TRACE", "PATCH"]
1166
+
1167
+ resource_type: Union[str, SequenceNotStr[str]]
1168
+ """Resource type for network capture filtering"""
1169
+
1170
+ status_code: Union[float, Iterable[float]]
1171
+
1172
+ url: NetworkCaptureURL
1173
+
1174
+ validation: bool
1175
+
1176
+ wait_for_requests_count: float
1177
+
1178
+ wait_for_requests_count_timeout: float
1179
+
1180
+
1181
+ class ParseOptionsTyped(TypedDict, total=False):
1182
+ """Configuration options for parsing behavior"""
1183
+
1184
+ merge_dynamic: bool
1185
+ """Whether to merge dynamic parsing results with static results"""
1186
+
1187
+
1188
+ ParseOptions: TypeAlias = Union[ParseOptionsTyped, Dict[str, object]]
1189
+
1190
+
1191
+ class QueryTemplatePaginationNextPageParams(TypedDict, total=False):
1192
+ next_page_params: Required[Dict[str, object]]
1193
+
1194
+
1195
+ class QueryTemplatePaginationUnionMember1(TypedDict, total=False):
1196
+ next_page_params: Required[Dict[str, object]]
1197
+
1198
+
1199
+ QueryTemplatePagination: TypeAlias = Union[
1200
+ QueryTemplatePaginationNextPageParams, Iterable[QueryTemplatePaginationUnionMember1]
1201
+ ]
1202
+
1203
+
1204
+ class QueryTemplateTyped(TypedDict, total=False):
1205
+ """Query template configuration for structured data extraction"""
1206
+
1207
+ id: Required[str]
1208
+
1209
+ api_type: Literal["WEB", "SERP", "SOCIAL"]
1210
+
1211
+ pagination: QueryTemplatePagination
1212
+
1213
+ params: Dict[str, object]
1214
+
1215
+
1216
+ QueryTemplate: TypeAlias = Union[QueryTemplateTyped, Dict[str, object]]
1217
+
1218
+
1219
+ class RenderOptionsHackiumConfiguration(TypedDict, total=False):
1220
+ """Configuration for Hackium browser modifications"""
1221
+
1222
+ collect_logs: bool
1223
+
1224
+ do_not_fix_math_salt: bool
1225
+
1226
+ enable_document_element_spoof: bool
1227
+
1228
+ enable_document_has_focus: bool
1229
+
1230
+ enable_fake_navigation_history: bool
1231
+
1232
+ enable_key_ordering: bool
1233
+
1234
+ enable_sniffer: bool
1235
+
1236
+ enable_verbose_logs: bool
1237
+
1238
+
1239
+ class RenderOptions(TypedDict, total=False):
1240
+ adblock: bool
1241
+ """Whether to enable ad blocking"""
1242
+
1243
+ blocked_domains: SequenceNotStr[str]
1244
+ """Domains to block from loading"""
1245
+
1246
+ browser_engine: Union[Literal["chrome", "hackium", "firefox", "hackfox"], Dict[str, float]]
1247
+ """Browser engine to use, or weighted distribution of engines"""
1248
+
1249
+ cache: bool
1250
+ """Whether to enable browser caching"""
1251
+
1252
+ connector_type: Literal["puppeteer", "puppeteer-cdp", "puppeteer-bidi", "webit-cdp", "playwright"]
1253
+ """Type of browser connector to use"""
1254
+
1255
+ disabled_resources: List[
1256
+ Literal[
1257
+ "other",
1258
+ "document",
1259
+ "stylesheet",
1260
+ "image",
1261
+ "media",
1262
+ "font",
1263
+ "script",
1264
+ "texttrack",
1265
+ "xhr",
1266
+ "fetch",
1267
+ "eventsource",
1268
+ "websocket",
1269
+ "manifest",
1270
+ "signedexchange",
1271
+ "ping",
1272
+ "cspviolationreport",
1273
+ "prefetch",
1274
+ "preflight",
1275
+ "fedcm",
1276
+ ]
1277
+ ]
1278
+ """Types of resources to block from loading"""
1279
+
1280
+ enable_2captcha: bool
1281
+ """Whether to use 2Captcha service for solving captchas"""
1282
+
1283
+ extensions: SequenceNotStr[str]
1284
+ """Browser extensions to load"""
1285
+
1286
+ fingerprint_id: str
1287
+ """Fingerprint identifier for browser customization"""
1288
+
1289
+ hackium_configuration: RenderOptionsHackiumConfiguration
1290
+ """Configuration for Hackium browser modifications"""
1291
+
1292
+ headless: bool
1293
+ """Whether to run browser in headless mode"""
1294
+
1295
+ include_iframes: bool
1296
+ """Whether to include iframe content in the result"""
1297
+
1298
+ load_local_storage: bool
1299
+ """Whether to load previously stored localStorage data"""
1300
+
1301
+ local_storage_keys_to_load: SequenceNotStr[str]
1302
+ """Specific localStorage keys to load"""
1303
+
1304
+ mouse_strategy: Literal["linear", "ghost-cursor", "windmouse"]
1305
+ """Strategy for simulating mouse movements"""
1306
+
1307
+ no_accept_encoding: bool
1308
+ """Disable content encoding to avoid cached responses"""
1309
+
1310
+ override_permissions: bool
1311
+ """Whether to override default browser permissions"""
1312
+
1313
+ random_header_order: bool
1314
+ """Whether to randomize HTTP header order"""
1315
+
1316
+ render_type: Literal["domcontentloaded", "load", "idle0", "networkidle0", "idle2", "networkidle2", "navigate"]
1317
+ """Type of render completion to wait for"""
1318
+
1319
+ store_local_storage: bool
1320
+ """Whether to store localStorage data for future sessions"""
1321
+
1322
+ timeout: float
1323
+ """Maximum time in milliseconds to wait for page render"""
1324
+
1325
+ typing_interval: float
1326
+ """Interval in milliseconds between key presses"""
1327
+
1328
+ typing_strategy: Literal["simple", "distribution"]
1329
+ """Strategy for simulating keyboard typing"""
1330
+
1331
+ userbrowser: bool
1332
+ """Whether to use a persistent browser session"""
1333
+
1334
+ wait_until: Literal["load", "domcontentloaded", "idle0", "idle2", "networkidle0", "networkidle2", "navigate"]
1335
+ """Browser event to wait for before considering page loaded"""
1336
+
1337
+ with_performance_metrics: bool
1338
+ """Whether to collect performance metrics during rendering"""
1339
+
1340
+
1341
+ class Session(TypedDict, total=False):
1342
+ id: str
1343
+
1344
+ prefetch_userbrowser: bool
1345
+
1346
+ retry: bool
1347
+
1348
+ timeout: float
1349
+
1350
+
1351
+ class Template(TypedDict, total=False):
1352
+ """Userbrowser creation template configuration"""
1353
+
1354
+ name: Required[str]
1355
+
1356
+ params: Dict[str, object]
1357
+
1358
+
1359
+ class UserbrowserCreationTemplateRendered(TypedDict, total=False):
1360
+ """Pre-rendered userbrowser creation template configuration"""
1361
+
1362
+ id: Required[str]
1363
+
1364
+ allowed_parameter_names: Required[SequenceNotStr[str]]
1365
+
1366
+ render_flow_rendered: Required[Iterable[Dict[str, object]]]