python3-capsolver 0.9.2__py3-none-any.whl → 1.0.0a0__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 (34) hide show
  1. python3_capsolver/__init__.py +1 -0
  2. python3_capsolver/__version__.py +1 -1
  3. python3_capsolver/aws_waf.py +122 -95
  4. python3_capsolver/cloudflare.py +77 -96
  5. python3_capsolver/control.py +31 -29
  6. python3_capsolver/core/aio_captcha_instrument.py +109 -0
  7. python3_capsolver/core/base.py +52 -198
  8. python3_capsolver/core/captcha_instrument.py +145 -0
  9. python3_capsolver/core/const.py +27 -0
  10. python3_capsolver/core/context_instr.py +25 -0
  11. python3_capsolver/core/enum.py +21 -76
  12. python3_capsolver/core/serializer.py +35 -129
  13. python3_capsolver/core/sio_captcha_instrument.py +116 -0
  14. python3_capsolver/core/{config.py → utils.py} +1 -10
  15. python3_capsolver/datadome_slider.py +34 -84
  16. python3_capsolver/friendly_captcha.py +69 -0
  17. python3_capsolver/gee_test.py +58 -90
  18. python3_capsolver/image_to_text.py +86 -116
  19. python3_capsolver/mt_captcha.py +32 -108
  20. python3_capsolver/recaptcha.py +65 -129
  21. python3_capsolver/vision_engine.py +102 -0
  22. python3_capsolver/yandex.py +53 -0
  23. python3_capsolver-1.0.0a0.dist-info/LICENSE +21 -0
  24. {python3_capsolver-0.9.2.dist-info → python3_capsolver-1.0.0a0.dist-info}/METADATA +25 -55
  25. python3_capsolver-1.0.0a0.dist-info/RECORD +28 -0
  26. {python3_capsolver-0.9.2.dist-info → python3_capsolver-1.0.0a0.dist-info}/WHEEL +1 -1
  27. python3_capsolver/akamai.py +0 -192
  28. python3_capsolver/binance.py +0 -112
  29. python3_capsolver/cyber_si_ara.py +0 -128
  30. python3_capsolver/fun_captcha.py +0 -251
  31. python3_capsolver/hcaptcha.py +0 -197
  32. python3_capsolver/imperva.py +0 -120
  33. python3_capsolver-0.9.2.dist-info/RECORD +0 -25
  34. {python3_capsolver-0.9.2.dist-info → python3_capsolver-1.0.0a0.dist-info}/top_level.txt +0 -0
@@ -1,145 +1,81 @@
1
- from typing import Union, Optional
1
+ from typing import Union
2
2
 
3
- from python3_capsolver.core.base import BaseCaptcha
4
- from python3_capsolver.core.enum import ReCaptchaV2TypeEnm, ReCaptchaV3TypeEnm
5
- from python3_capsolver.core.serializer import ReCaptchaV3Ser, CaptchaResponseSer, WebsiteDataOptionsSer
3
+ from .core.base import CaptchaParams
4
+ from .core.enum import CaptchaTypeEnm
6
5
 
6
+ __all__ = ("ReCaptcha",)
7
7
 
8
- class ReCaptcha(BaseCaptcha):
8
+
9
+ class ReCaptcha(CaptchaParams):
9
10
  """
10
- The class is used to work with Capsolver ReCaptcha methods.
11
+ The class is used to work with Capsolver ReCaptcha captcha solving methods:
12
+ - ReCaptchaV2Classification
13
+ - ReCaptchaV2Task
14
+ - ReCaptchaV2EnterpriseTask
15
+ - ReCaptchaV2TaskProxyLess
16
+ - ReCaptchaV2EnterpriseTaskProxyLess
17
+ - ReCaptchaV3Task
18
+ - ReCaptchaV3EnterpriseTask
19
+ - ReCaptchaV3TaskProxyLess
20
+ - ReCaptchaV3EnterpriseTaskProxyLess
11
21
 
12
22
  Args:
13
23
  api_key: Capsolver API key
14
24
  captcha_type: Captcha type name, like ``ReCaptchaV2Task`` and etc.
15
- websiteURL: Address of a webpage with Google ReCaptcha
16
- websiteKey: Recaptcha website key. <div class="g-recaptcha" data-sitekey="THAT_ONE"></div>
17
- pageAction: Widget action value. Website owner defines what user is doing on the page through this parameter.
18
- Default value: ``verify``. Example: grecaptcha.execute('site_key', {action:'login_test'}).
25
+ kwargs: additional params for client, like captcha waiting time
26
+ available keys:
27
+ - sleep_time: int - captcha solution waintig time in sec
28
+ - request_url: str - API address for sending requests,
29
+ else official will be used
19
30
 
20
31
  Examples:
21
- >>> ReCaptcha(api_key="CAI-1324...",
22
- ... captcha_type="ReCaptchaV2TaskProxyLess",
23
- ... websiteURL="https://www.google.com/recaptcha/api2/demo",
24
- ... websiteKey="6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
25
- ... ).captcha_handler()
26
- CaptchaResponseSer(errorId=0,
27
- errorCode=None,
28
- errorDescription=None,
29
- taskId='73bdcd28-6c77-4414-8....',
30
- status=<ResponseStatusEnm.Ready: 'ready'>,
31
- solution={'gRecaptchaResponse': '44795sds...'}
32
- )
33
-
34
- >>> ReCaptcha(api_key="CAI-1324...",
35
- ... captcha_type=ReCaptchaV2TypeEnm.ReCaptchaV2TaskProxyLess,
36
- ... websiteURL="https://www.google.com/recaptcha/api2/demo",
37
- ... websiteKey="6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
38
- ... ).captcha_handler()
39
- CaptchaResponseSer(errorId=0,
40
- errorCode=None,
41
- errorDescription=None,
42
- taskId='73bdcd28-6c77-4414-8....',
43
- status=<ResponseStatusEnm.Ready: 'ready'>,
44
- solution={'gRecaptchaResponse': '44795sds...'}
45
- )
46
-
47
- >>> ReCaptcha(api_key="CAI-1324...",
48
- ... captcha_type=ReCaptchaV2TypeEnm.ReCaptchaV2Task,
49
- ... websiteURL="https://www.google.com/recaptcha/api2/demo",
50
- ... websiteKey="6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
51
- ... proxy="socks5:192.191.100.10:4780:user:pwd"
52
- ... ).captcha_handler()
53
- CaptchaResponseSer(errorId=0,
54
- errorCode=None,
55
- errorDescription=None,
56
- taskId='73bdcd28-6c77-4414-8....',
57
- status=<ResponseStatusEnm.Ready: 'ready'>,
58
- solution={'gRecaptchaResponse': '44795sds...'}
59
- )
60
-
61
- >>> ReCaptcha(api_key="CAI-1324...",
62
- ... captcha_type=ReCaptchaV3TypeEnm.ReCaptchaV3TaskProxyLess,
63
- ... websiteURL="https://2captcha.com/demo/recaptcha-v3",
64
- ... websiteKey="6LfB5_IbAAAAAMCtsjEHEHKqcB9iQocwwxTiihJu",
65
- ... pageAction="demo_action",
66
- ... proxy="socks5:192.191.100.10:4780:user:pwd"
67
- ... ).captcha_handler()
68
- CaptchaResponseSer(errorId=0,
69
- errorCode=None,
70
- errorDescription=None,
71
- taskId='73bdcd28-6c77-4414-8....',
72
- status=<ResponseStatusEnm.Ready: 'ready'>,
73
- solution={'gRecaptchaResponse': '44795sds...'}
74
- )
75
-
76
- >>> await ReCaptcha(api_key="CAI-1324...",
77
- ... captcha_type=ReCaptchaV3TypeEnm.ReCaptchaV3TaskProxyLess,
78
- ... websiteURL="https://2captcha.com/demo/recaptcha-v3",
79
- ... websiteKey="6LfB5_IbAAAAAMCtsjEHEHKqcB9iQocwwxTiihJu",
80
- ... pageAction="demo_action",
81
- ... proxy="socks5:192.191.100.10:4780:user:pwd"
82
- ... ).aio_captcha_handler()
83
- CaptchaResponseSer(errorId=0,
84
- errorCode=None,
85
- errorDescription=None,
86
- taskId='73bdcd28-6c77-4414-8....',
87
- status=<ResponseStatusEnm.Ready: 'ready'>,
88
- solution={'gRecaptchaResponse': '44795sds...'}
89
- )
90
-
91
- Returns:
92
- CaptchaResponseSer model with full server response
32
+ >>> from python3_capsolver.recaptcha import ReCaptcha
33
+ >>> from python3_capsolver.core.enum import CaptchaTypeEnm
34
+ >>> from python3_capsolver.core.captcha_instrument import FileInstrument
35
+ >>> body = FileInstrument().file_processing(captcha_file="captcha_example.jpeg")
36
+ >>> ReCaptcha(api_key="CAI-12345....",
37
+ ... captcha_type=CaptchaTypeEnm.ReCaptchaV2Classification)
38
+ ... .captcha_handler(task_payload={"image": body, "question": "/m/04_sv"})
39
+ {
40
+ "errorId":0,
41
+ "errorCode":"None",
42
+ "errorDescription":"None",
43
+ "taskId":"db0a3153-621d-4f5e-8554-a1c032597ee7",
44
+ "status":"ready",
45
+ "solution":{
46
+ "confidence":0.9585,
47
+ "text":"gcphjd"
48
+ }
49
+ }
50
+
51
+ >>> import asyncio
52
+ >>> from python3_capsolver.recaptcha import ReCaptcha
53
+ >>> from python3_capsolver.core.captcha_instrument import FileInstrument
54
+ >>> body = FileInstrument().file_processing(captcha_file="captcha_example.jpeg")
55
+ >>> asyncio.run(ReCaptcha(api_key="CAI-12345....").aio_captcha_handler(
56
+ ... task_payload={"image": body, "question": "/m/04_sv"}
57
+ ... )
58
+ ... )
59
+ {
60
+ "errorId":0,
61
+ "errorCode":"None",
62
+ "errorDescription":"None",
63
+ "taskId":"db0a3153-621d-4f5e-8554-a1c032597ee7",
64
+ "status":"ready",
65
+ "solution":{
66
+ "confidence":0.9585,
67
+ "text":"gcphjd"
68
+ }
69
+ }
93
70
 
94
71
  Notes:
95
- https://docs.capsolver.com/guide/captcha/ReCaptchaV2.html
96
- https://docs.capsolver.com/guide/captcha/ReCaptchaV3.html
97
- """
72
+ https://docs.capsolver.com/en/guide/recognition/ReCaptchaClassification/
98
73
 
99
- def __init__(
100
- self,
101
- captcha_type: Union[ReCaptchaV2TypeEnm, ReCaptchaV3TypeEnm, str],
102
- websiteURL: str,
103
- websiteKey: str,
104
- pageAction: Optional[str] = None,
105
- *args,
106
- **kwargs,
107
- ):
108
- super().__init__(*args, **kwargs)
109
-
110
- if captcha_type in ReCaptchaV2TypeEnm.list():
111
- self.task_params = WebsiteDataOptionsSer(**locals()).dict()
112
- elif captcha_type in ReCaptchaV3TypeEnm.list():
113
- self.task_params = ReCaptchaV3Ser(**locals()).dict()
114
- else:
115
- raise ValueError(
116
- f"""Invalid `captcha_type` parameter set for `{self.__class__.__name__}`,
117
- available - {ReCaptchaV2TypeEnm.list(), ReCaptchaV3TypeEnm.list()}"""
118
- )
119
- for key in kwargs:
120
- self.task_params.update({key: kwargs[key]})
121
-
122
- def captcha_handler(self) -> CaptchaResponseSer:
123
- """
124
- Sync method for captcha solving
125
-
126
- Returns:
127
- CaptchaResponseSer model with full service response
128
-
129
- Notes:
130
- Check class docstring for more info
131
- """
132
- return self._processing_captcha(create_params=self.task_params)
133
-
134
- async def aio_captcha_handler(self) -> CaptchaResponseSer:
135
- """
136
- Async method for captcha solving
74
+ https://docs.capsolver.com/en/guide/captcha/ReCaptchaV2/
137
75
 
76
+ https://docs.capsolver.com/en/guide/captcha/ReCaptchaV3/
77
+ """
138
78
 
139
- Returns:
140
- CaptchaResponseSer model with full service response
79
+ def __init__(self, api_key: str, captcha_type: Union[CaptchaTypeEnm, str], **kwargs):
141
80
 
142
- Notes:
143
- Check class docstring for more info
144
- """
145
- return await self._aio_processing_captcha(create_params=self.task_params)
81
+ super().__init__(api_key=api_key, captcha_type=captcha_type, **kwargs)
@@ -0,0 +1,102 @@
1
+ from typing import Dict
2
+
3
+ from .core.base import CaptchaParams
4
+ from .core.enum import CaptchaTypeEnm
5
+
6
+ __all__ = ("VisionEngine",)
7
+
8
+
9
+ class VisionEngine(CaptchaParams):
10
+ """
11
+ The class is used to work with Capsolver VisionEngine captcha solving method.
12
+
13
+ Args:
14
+ api_key: Capsolver API key
15
+ kwargs: additional params for client, like captcha waiting time
16
+ available keys:
17
+ - sleep_time: int - captcha solution waintig time in sec
18
+ - request_url: str - API address for sending requests,
19
+ else official will be used
20
+
21
+ Examples:
22
+ >>> from python3_capsolver.vision_engine import VisionEngine
23
+ >>> from python3_capsolver.core.captcha_instrument import FileInstrument
24
+ >>> body = FileInstrument().file_processing(captcha_file="captcha_example.jpeg")
25
+ >>> VisionEngine(api_key="CAI-12345....").captcha_handler(
26
+ ... task_payload={
27
+ ... "image": body,
28
+ ... "question": "click on the unique object",
29
+ ... "module": "space_detection",
30
+ ... }
31
+ ... )
32
+ {
33
+ "errorId":0,
34
+ "errorCode":"None",
35
+ "errorDescription":"None",
36
+ "taskId":"db0a3153-621d-4f5e-8554-a1c032597ee7",
37
+ "status":"ready",
38
+ "solution":{
39
+ "box": [163.5, 107.5]
40
+ }
41
+ }
42
+
43
+ >>> import asyncio
44
+ >>> from python3_capsolver.vision_engine import VisionEngine
45
+ >>> from python3_capsolver.core.captcha_instrument import FileInstrument
46
+ >>> body = FileInstrument().file_processing(captcha_file="captcha_example.jpeg")
47
+ >>> asyncio.run(VisionEngine(api_key="CAI-12345....").aio_captcha_handler(
48
+ ... task_payload={
49
+ ... "image": body,
50
+ ... "question": "click on the unique object",
51
+ ... "module": "space_detection",
52
+ ... }
53
+ ... ))
54
+ {
55
+ "errorId":0,
56
+ "errorCode":"None",
57
+ "errorDescription":"None",
58
+ "taskId":"db0a3153-621d-4f5e-8554-a1c032597ee7",
59
+ "status":"ready",
60
+ "solution":{
61
+ "box": [163.5, 107.5]
62
+ }
63
+ }
64
+
65
+ Notes:
66
+ https://docs.capsolver.com/en/guide/recognition/VisionEngine/
67
+ """
68
+
69
+ def __init__(self, api_key: str, **kwargs):
70
+ super().__init__(api_key=api_key, captcha_type=CaptchaTypeEnm.VisionEngine, **kwargs)
71
+
72
+ def captcha_handler(self, task_payload: Dict) -> Dict[str, str]:
73
+ """
74
+ Synchronous method for captcha solving
75
+
76
+ Args:
77
+ task_payload: Captcha solving `task` payload, include `body`, `module` and other fields.
78
+
79
+ Returns:
80
+ Dict with full server response
81
+
82
+ Notes:
83
+ Check class docstring for more info
84
+ """
85
+ task_payload.pop("type", None)
86
+ return super().captcha_handler(task_payload=task_payload)
87
+
88
+ async def aio_captcha_handler(self, task_payload: Dict) -> Dict[str, str]:
89
+ """
90
+ Asynchronous method for captcha solving
91
+
92
+ Args:
93
+ task_payload: Captcha solving `task` payload, include `question`, `image` and other fields.
94
+
95
+ Returns:
96
+ Dict with full server response
97
+
98
+ Notes:
99
+ Check class docstring for more info
100
+ """
101
+ task_payload.pop("type", None)
102
+ return await super().aio_captcha_handler(task_payload=task_payload)
@@ -0,0 +1,53 @@
1
+ from typing import Union
2
+
3
+ from .core.base import CaptchaParams
4
+ from .core.enum import CaptchaTypeEnm
5
+
6
+ __all__ = ("YandexCaptcha",)
7
+
8
+
9
+ class YandexCaptcha(CaptchaParams):
10
+ """
11
+ The class is used to work with Capsolver YandexCaptchaTaskProxyLess methods.
12
+
13
+ Args:
14
+ api_key: Capsolver API key
15
+ captcha_type: Captcha type name, like ``FriendlyCaptchaTaskProxyless`` and etc.
16
+ kwargs: additional params for client, like captcha waiting time
17
+ available keys:
18
+ - sleep_time: int - captcha solution waintig time in sec
19
+ - request_url: str - API address for sending requests,
20
+ else official will be used
21
+
22
+ Examples:
23
+ >>> from python3_capsolver.core.enum import CaptchaTypeEnm
24
+ >>> from python3_capsolver.yandex import YandexCaptcha
25
+ >>> YandexCaptcha(api_key="CAP-XXXXX",
26
+ ... captcha_type=CaptchaTypeEnm.YandexCaptchaTaskProxyLess,
27
+ ... ).captcha_handler(task_payload={
28
+ ... "websiteURL": "https://www.yourwebsite.com",
29
+ ... "websiteKey": "ysc1_bFdbbET5WBnPTvoE5jTXxxxx"
30
+ ... })
31
+ {
32
+ "errorId":0,
33
+ "errorCode":"None",
34
+ "errorDescription":"None",
35
+ "taskId":"db0a3153-621d-4f5e-8554-a1c032597ee7",
36
+ "status":"ready",
37
+ "solution":{
38
+ "token": "dD0xNzMzMjc0MjkzO2k9Nxxxx"
39
+ }
40
+ }
41
+
42
+ Notes:
43
+ https://docs.capsolver.com/en/guide/captcha/FriendlyCaptcha/
44
+ """
45
+
46
+ def __init__(
47
+ self,
48
+ api_key: str,
49
+ captcha_type: Union[CaptchaTypeEnm, str] = CaptchaTypeEnm.FriendlyCaptchaTaskProxyless,
50
+ **kwargs,
51
+ ):
52
+
53
+ super().__init__(api_key=api_key, captcha_type=captcha_type, **kwargs)
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 Andrei
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,34 +1,15 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: python3-capsolver
3
- Version: 0.9.2
3
+ Version: 1.0.0a0
4
4
  Summary: Python 3.8+ Capsolver library with AIO module.
5
- Home-page: https://andreidrang.github.io/python3-capsolver/
6
- Author: AndreiDrang
7
- Author-email: python-captcha@pm.me
8
- License: MIT
5
+ Author-email: AndreiDrang <python-captcha@pm.me>
6
+ License: MIT License
7
+ Project-URL: Homepage, https://andreidrang.github.io/python3-capsolver/
9
8
  Project-URL: Documentation, https://andreidrang.github.io/python3-capsolver/
10
- Project-URL: Source, https://github.com/AndreiDrang/python3-capsolver
11
- Keywords: captcha
12
- recaptcha
13
- geetest
14
- hcaptcha
15
- capypuzzle
16
- rotatecaptcha
17
- funcaptcha
18
- keycaptcha
19
- python3
20
- python-library
21
- capsolver
22
- datadomeslider
23
- datadome
24
- mtcaptcha
25
- turnstile
26
- cloudflare
27
- amazon
28
- amazon_waf
29
- akamai
30
- imperva
31
- binance
9
+ Project-URL: Repository, https://github.com/AndreiDrang/python3-capsolver
10
+ Project-URL: Issues, https://github.com/AndreiDrang/python3-capsolver/issues
11
+ Project-URL: Changelog, https://github.com/AndreiDrang/python3-capsolver/releases
12
+ Keywords: captcha,recaptcha,geetest,hcaptcha,capypuzzle,rotatecaptcha,funcaptcha,keycaptcha,python3,python-library,capsolver,datadomeslider,datadome,mtcaptcha,turnstile,cloudflare,amazon,amazon_waf,akamai,imperva,binance
32
13
  Classifier: License :: OSI Approved :: MIT License
33
14
  Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
34
15
  Classifier: Development Status :: 5 - Production/Stable
@@ -39,34 +20,30 @@ Classifier: Programming Language :: Python :: 3.8
39
20
  Classifier: Programming Language :: Python :: 3.9
40
21
  Classifier: Programming Language :: Python :: 3.10
41
22
  Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
42
24
  Classifier: Framework :: AsyncIO
43
25
  Classifier: Operating System :: Unix
44
26
  Classifier: Operating System :: Microsoft :: Windows
45
27
  Classifier: Operating System :: MacOS
46
- Requires-Python: >=3.8.0
28
+ Requires-Python: >=3.8
47
29
  Description-Content-Type: text/markdown
48
- Requires-Dist: requests (>=2.21.0)
49
- Requires-Dist: aiohttp (>=3.7.4)
50
- Requires-Dist: pydantic (==2.4.2)
51
- Requires-Dist: tenacity (==8.*)
52
-
30
+ License-File: LICENSE
31
+ Requires-Dist: requests>=2.21.0
32
+ Requires-Dist: aiohttp>=3.9.2
33
+ Requires-Dist: msgspec<0.20,>=0.18
34
+ Requires-Dist: tenacity<10,>=8
53
35
 
54
36
  # python3-capsolver
55
37
 
56
- ![Logo](https://red-panda-dev.xyz/media/images/Capsolver.max-800x600.png)
38
+ [![Capsolver.png](https://s.vyjava.xyz/files/2024/12-December/17/109278aa/Capsolver.png)](https://vyjava.xyz/dashboard/image/109278aa-961a-4503-bed0-0a9c838dcef2)
57
39
 
58
- <a href="https://dashboard.capsolver.com/passport/register?inviteCode=kQTn-tG07Jb1">
59
- <img src="https://cdn.discordapp.com/attachments/1105172394655625306/1105180101802471575/20221207-160749.gif" alt="Capsolver's Banner">
60
- </a>
61
- <br>
62
- At the lowest price on the market, you may receive a variety of solutions, including reCAPTCHA V2, reCAPTCHA V3, hCaptcha, hCaptcha Click, FunCaptcha, picture-to-text, and more. With this service, 0.1s is the slowest speed ever measured.
63
40
  <hr>
64
41
 
65
42
  [![PyPI version](https://badge.fury.io/py/python3-capsolver.svg)](https://badge.fury.io/py/python3-capsolver)
66
43
  [![Python versions](https://img.shields.io/pypi/pyversions/python3-capsolver.svg?logo=python&logoColor=FBE072)](https://badge.fury.io/py/python3-capsolver)
67
44
  [![Downloads](https://static.pepy.tech/badge/python3-capsolver/month)](https://pepy.tech/project/python3-capsolver)
45
+ [![Static Badge](https://img.shields.io/badge/docs-Sphinx-green?label=Documentation&labelColor=gray)](https://andreidrang.github.io/python3-capsolver/)
68
46
 
69
- [![Maintainability](https://api.codeclimate.com/v1/badges/3c30167b5fb37a0775ea/maintainability)](https://codeclimate.com/github/AndreiDrang/python3-capsolver/maintainability)
70
47
  [![Codacy Badge](https://app.codacy.com/project/badge/Grade/323d4eda0fe1477bbea8fe8902b9e97e)](https://www.codacy.com/gh/AndreiDrang/python3-capsolver/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=AndreiDrang/python3-capsolver&amp;utm_campaign=Badge_Grade)
71
48
  [![codecov](https://codecov.io/gh/AndreiDrang/python3-capsolver/branch/main/graph/badge.svg?token=2L4VVIF4G8)](https://codecov.io/gh/AndreiDrang/python3-capsolver)
72
49
 
@@ -78,23 +55,10 @@ At the lowest price on the market, you may receive a variety of solutions, inclu
78
55
 
79
56
 
80
57
  Python 3 library for [Capsolver](https://dashboard.capsolver.com/passport/register?inviteCode=kQTn-tG07Jb1) service API.
81
-
82
58
  Tested on UNIX based OS.
83
59
 
84
60
  The library is intended for software developers and is used to work with the [Capsolver](https://dashboard.capsolver.com/passport/register?inviteCode=kQTn-tG07Jb1) service API.
85
61
 
86
- ***
87
-
88
- If you have any questions, please send a message to the [Telegram](https://t.me/pythoncaptcha) chat room.
89
-
90
- Or email python-captcha@pm.me
91
-
92
- ***
93
-
94
- You can check our other projects here - [RedPandaDev group](https://red-panda-dev.xyz/blog/). For example - [Torrents Tracker bot](https://t.me/torrents_tracker_bot) for Telegram.
95
-
96
- ***
97
-
98
62
  ## How to install?
99
63
 
100
64
  We recommend using the latest version of Python. `python3-capsolver` supports Python 3.7+.
@@ -122,4 +86,10 @@ Check [releases page](https://github.com/AndreiDrang/python3-capsolver/releases)
122
86
 
123
87
  ### How to get API Key to work with the library
124
88
  1. On the page - https://dashboard.capsolver.com/overview/user-center
125
- 2. Find it: ![img.png](files/img.png)
89
+ 2. Find it: [![img.png](https://s.vyjava.xyz/files/2024/12-December/17/ae8d4fbf/img.png)](https://vyjava.xyz/dashboard/image/ae8d4fbf-7451-441d-8984-79b1a7adbe27)
90
+
91
+ ### Contacts
92
+
93
+ If you have any questions, please send a message to the [Telegram](https://t.me/pythoncaptcha) chat room.
94
+
95
+ Or email python-captcha@pm.me
@@ -0,0 +1,28 @@
1
+ python3_capsolver/__init__.py,sha256=141uoiYvgRblIWZAy7AhQJz6iVqzY4b5cLxExIaKUlg,62
2
+ python3_capsolver/__version__.py,sha256=1brYiVUYR2domvrgdn9WgfP1w5wF4RsXI7MsjLmKjSM,23
3
+ python3_capsolver/aws_waf.py,sha256=wwNjW2bkS-EdxEkTDxW9zwUGCnW_bbEhtruSgw_R94I,5677
4
+ python3_capsolver/cloudflare.py,sha256=wGNG8bXLhWCTkuhnoSy48h8gJQVVQcdigQlmLatxSPQ,3742
5
+ python3_capsolver/control.py,sha256=QodZGEZcio2giwX8WvbVK20LvTRGmK5d_mqjBZFdncc,2083
6
+ python3_capsolver/datadome_slider.py,sha256=Iu-JJ0fdvj6ePkkTxYoqsMu4VYlL5ITMICm91CSwviQ,1890
7
+ python3_capsolver/friendly_captcha.py,sha256=ZMeWCyuNTpJcVs67Yq12OI14cXRqHB64u84jc1ZndnU,2729
8
+ python3_capsolver/gee_test.py,sha256=VjBOVggAkVRx6pGRys8kXl0-ZLFNCOMSYK_Bn95zk7o,2903
9
+ python3_capsolver/image_to_text.py,sha256=DOPF97Yv2khrFGOcuh924IW8L9DLiJ9RY0DfmKGgDJ4,4223
10
+ python3_capsolver/mt_captcha.py,sha256=a5fr4ZKb3G-F8w6c34oxYxp-2CBXgvCqzoUQlZ4y-4M,1626
11
+ python3_capsolver/recaptcha.py,sha256=tiZPC_OGfhA30SH6lnqo2curVDLDwGwGLvx1zVn3gYY,3052
12
+ python3_capsolver/vision_engine.py,sha256=RLpefX09M7xKznvoCMHVvO51fPkH69Zjz51san7xnQQ,3786
13
+ python3_capsolver/yandex.py,sha256=m32LwmX9uJ0rE70mUmmjo9htxvdYOimG-yWuFt7C88s,1908
14
+ python3_capsolver/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
+ python3_capsolver/core/aio_captcha_instrument.py,sha256=NAMVky6mIY83nnzaBtsgpcpJEWlXS2BVarvJkRjwzSY,4620
16
+ python3_capsolver/core/base.py,sha256=-RQ0SRyzLnfgg27jwZ6UDlmV5jECsnx5TkalN3kfj3g,3076
17
+ python3_capsolver/core/captcha_instrument.py,sha256=2lL_kqlTPoLaaMuS3Tib4ImeybYIOj4yEAxrFg9oeZI,5231
18
+ python3_capsolver/core/const.py,sha256=bY8bMw6XsxBuX4LRQ4mTxQmVnsgCWgoUVXTJlRLx3I4,803
19
+ python3_capsolver/core/context_instr.py,sha256=x3JQNd1ydlNdhuGKX_5gc-5Duq2pZJME0fs2YMQyGv4,503
20
+ python3_capsolver/core/enum.py,sha256=J5KSAOSHNy8Ivmv_yWcWORvavdorOtdZOOlfTohvFcE,2428
21
+ python3_capsolver/core/serializer.py,sha256=NEh2_T2P2NRG5PQR3Icy9Y27kQSUZ_GgI-rayouzK1U,1342
22
+ python3_capsolver/core/sio_captcha_instrument.py,sha256=eRlGkZe6IZ-G0l6NnC0XUiaY_Lan364kNxun3kKuaA0,4505
23
+ python3_capsolver/core/utils.py,sha256=5PMxryy22MIUmUXPIHqz38vg2C2bqa7uXHUNYRF8DlY,633
24
+ python3_capsolver-1.0.0a0.dist-info/LICENSE,sha256=N_utAsqhTp1pXXp-PTE-CFMg5BfIIqTbF-phwwzOHeQ,1063
25
+ python3_capsolver-1.0.0a0.dist-info/METADATA,sha256=9Qm1yiYvgNYi1LmFp9qRvWZhAlMRZ41Qs6p_aYoC4tc,5175
26
+ python3_capsolver-1.0.0a0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
27
+ python3_capsolver-1.0.0a0.dist-info/top_level.txt,sha256=yws7CqjoBfrn2ebCkAQmEaVlZ-zhbtflqpCDwAEX4kI,18
28
+ python3_capsolver-1.0.0a0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.37.1)
2
+ Generator: setuptools (75.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5