capmonstercloudclient 1.5.2__tar.gz → 2.0.0__tar.gz
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.
- {capmonstercloudclient-1.5.2/capmonstercloudclient.egg-info → capmonstercloudclient-2.0.0}/PKG-INFO +36 -7
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/README.md +4 -3
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/CapMonsterCloudClient.py +14 -3
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/GetResultTimeouts.py +9 -0
- capmonstercloudclient-2.0.0/capmonstercloud_client/requests/BinanceTaskProxylessRequest.py +17 -0
- capmonstercloudclient-2.0.0/capmonstercloud_client/requests/BinanceTaskRequest.py +22 -0
- capmonstercloudclient-2.0.0/capmonstercloud_client/requests/BinanceTaskRequestBase.py +11 -0
- capmonstercloudclient-2.0.0/capmonstercloud_client/requests/ImpervaCustomTaskProxylessRequest.py +33 -0
- capmonstercloudclient-2.0.0/capmonstercloud_client/requests/ImpervaCustomTaskRequest.py +39 -0
- capmonstercloudclient-2.0.0/capmonstercloud_client/requests/ImpervaCustomTaskRequestBase.py +8 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/RecaptchaComplexImageTask.py +1 -1
- capmonstercloudclient-2.0.0/capmonstercloud_client/requests/RecognitionComplexImageTaskRequest.py +45 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/TurnstileRequestBase.py +1 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/__init__.py +9 -1
- capmonstercloudclient-2.0.0/capmonstercloud_client/version.txt +1 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0/capmonstercloudclient.egg-info}/PKG-INFO +36 -7
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloudclient.egg-info/SOURCES.txt +7 -0
- capmonstercloudclient-2.0.0/capmonstercloudclient.egg-info/requires.txt +30 -0
- capmonstercloudclient-2.0.0/requirements.txt +18 -0
- capmonstercloudclient-1.5.2/capmonstercloud_client/version.txt +0 -1
- capmonstercloudclient-1.5.2/capmonstercloudclient.egg-info/requires.txt +0 -2
- capmonstercloudclient-1.5.2/requirements.txt +0 -2
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/LICENSE +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/MANIFEST.in +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/__init__.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/captchaResult.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/clientOptions.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/exceptions.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requestController.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/AmazonWafProxylessRequest.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/AmazonWafRequest.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/AmazonWafRequestBase.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/BasiliskCustomTaskProxylessRequest.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/BasiliskCustomTaskRequest.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/BasiliskCustomTaskRequestBase.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/ComplexImageTaskBase.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/CustomTaskRequestBase.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/DataDomeCustomTaskProxylessRequest.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/DataDomeCustomTaskRequest.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/DataDomeCustomTaskRequestBase.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/FuncaptchaComplexImageTask.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/FuncaptchaProxylessRequest.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/FuncaptchaRequest.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/FuncaptchaRequestBase.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/GeetestProxylessRequest.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/GeetestRequest.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/GeetestRequestBase.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/HcaptchaComplexImageTask.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/HcaptchaProxylessRequest.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/HcaptchaRequest.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/HcaptchaRequestBase.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/ImageToTextRequest.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/RecaptchaV2EnterpiseRequest.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/RecaptchaV2EnterpriseProxylessRequest.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/RecaptchaV2EnterpriseRequestBase.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/RecaptchaV2ProxylessRequest.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/RecaptchaV2Request.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/RecaptchaV2RequestBase.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/RecaptchaV3ProxylessRequest.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/TenDiCustomTaskProxylessRequest.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/TenDiCustomTaskRequest.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/TenDiCustomTaskRequestBase.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/TurnstileProxylessRequest.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/TurnstileRequest.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/baseRequest.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/enums.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/proxy_info.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/utils.py +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloudclient.egg-info/dependency_links.txt +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloudclient.egg-info/top_level.txt +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/pyproject.toml +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/setup.cfg +0 -0
- {capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/setup.py +0 -0
{capmonstercloudclient-1.5.2/capmonstercloudclient.egg-info → capmonstercloudclient-2.0.0}/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: capmonstercloudclient
|
3
|
-
Version:
|
3
|
+
Version: 2.0.0
|
4
4
|
Summary: Official CapMonsterCloud Client: https://capmonster.cloud/
|
5
5
|
Home-page: https://github.com/ZennoLab/capmonstercloud-client-python
|
6
6
|
Author: Andrey Ilyin
|
@@ -33,8 +33,36 @@ Classifier: Operating System :: MacOS
|
|
33
33
|
Requires-Python: >=3.6
|
34
34
|
Description-Content-Type: text/markdown
|
35
35
|
License-File: LICENSE
|
36
|
-
Requires-Dist:
|
37
|
-
Requires-Dist:
|
36
|
+
Requires-Dist: aiohappyeyeballs==2.4.4; python_version >= "3.9" and python_version <= "3.13"
|
37
|
+
Requires-Dist: aiohttp==3.11.10; python_version >= "3.9" and python_version <= "3.13"
|
38
|
+
Requires-Dist: aiosignal==1.3.1; python_version >= "3.9" and python_version <= "3.13"
|
39
|
+
Requires-Dist: annotated-types==0.7.0; python_version >= "3.9" and python_version <= "3.13"
|
40
|
+
Requires-Dist: async-timeout==5.0.1; python_version >= "3.9" and python_version <= "3.11"
|
41
|
+
Requires-Dist: attrs==24.2.0; python_version >= "3.9" and python_version <= "3.13"
|
42
|
+
Requires-Dist: frozenlist==1.5.0; python_version >= "3.9" and python_version <= "3.13"
|
43
|
+
Requires-Dist: idna==3.10; python_version >= "3.9" and python_version <= "3.13"
|
44
|
+
Requires-Dist: multidict==6.1.0; python_version >= "3.9" and python_version <= "3.13"
|
45
|
+
Requires-Dist: propcache==0.2.1; python_version >= "3.9" and python_version <= "3.13"
|
46
|
+
Requires-Dist: pydantic-core==2.27.1; python_version >= "3.9" and python_version <= "3.13"
|
47
|
+
Requires-Dist: pydantic==2.10.3; python_version >= "3.9" and python_version <= "3.13"
|
48
|
+
Requires-Dist: typing-extensions==4.12.2; python_version >= "3.9" and python_version <= "3.13"
|
49
|
+
Requires-Dist: yarl==1.18.3; python_version >= "3.9" and python_version <= "3.13"
|
50
|
+
Requires-Dist: aiohttp==3.7.4; python_version >= "3.6" and python_version <= "3.8"
|
51
|
+
Requires-Dist: pydantic==2.10.3; python_version >= "3.8" and python_version < "3.9"
|
52
|
+
Requires-Dist: pydantic==2.5.3; python_version >= "3.7" and python_version < "3.8"
|
53
|
+
Requires-Dist: pydantic==2.1.*; python_version < "3.7"
|
54
|
+
Dynamic: author
|
55
|
+
Dynamic: author-email
|
56
|
+
Dynamic: classifier
|
57
|
+
Dynamic: description
|
58
|
+
Dynamic: description-content-type
|
59
|
+
Dynamic: home-page
|
60
|
+
Dynamic: keywords
|
61
|
+
Dynamic: license
|
62
|
+
Dynamic: license-file
|
63
|
+
Dynamic: requires-dist
|
64
|
+
Dynamic: requires-python
|
65
|
+
Dynamic: summary
|
38
66
|
|
39
67
|
# Zennolab.CapMonsterCloud.Client
|
40
68
|
|
@@ -69,8 +97,6 @@ Supported captcha recognition requests:
|
|
69
97
|
|
70
98
|
- [GeeTestProxylessRequest](https://zenno.link/doc-geetest-en)
|
71
99
|
- [GeeTestRequest](https://zenno.link/doc-geetest-proxy-en)
|
72
|
-
- [HCaptchaProxylessRequest](https://zenno.link/doc-hcaptcha-en)
|
73
|
-
- [HCaptchaRequest](https://zenno.link/doc-hcaptcha-proxy-en)
|
74
100
|
- [ImageToTextRequest](https://zenno.link/doc-ImageToTextTask-en)
|
75
101
|
- [RecaptchaV2ProxylessRequest](https://zenno.link/doc-recaptcha2-en)
|
76
102
|
- [RecaptchaV2Request](https://zenno.link/doc-recaptcha2-proxy-en)
|
@@ -80,8 +106,11 @@ Supported captcha recognition requests:
|
|
80
106
|
- [TurnstileProxylessRequest](https://zenno.link/doc-turnstile-en)
|
81
107
|
- [TurnstileRequest](https://zenno.link/doc-turnstile-proxy-en)
|
82
108
|
- [RecaptchaComplexImageTaskRequest](https://zenno.link/doc-complextask-rc-en)
|
83
|
-
- [HcaptchaComplexImageTaskRequest](https://zenno.link/doc-complextask-hc-en)
|
84
109
|
- [DataDomeCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/datadome)
|
85
110
|
- [TenDiCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/tendi)
|
86
111
|
- [BasiliskCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/Basilisk-task)
|
87
112
|
- [AmazonWafRequest](https://docs.capmonster.cloud/docs/captchas/amazon-task)
|
113
|
+
- [BinanceTaskRequest](https://docs.capmonster.cloud/docs/captchas/binance)
|
114
|
+
- [BinanceTaskProxylessRequest](https://docs.capmonster.cloud/docs/captchas/binance)
|
115
|
+
- [ImpervaCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/incapsula)
|
116
|
+
- [ImpervaCustomTaskProxylessRequest](https://docs.capmonster.cloud/docs/captchas/incapsula)
|
@@ -31,8 +31,6 @@ Supported captcha recognition requests:
|
|
31
31
|
|
32
32
|
- [GeeTestProxylessRequest](https://zenno.link/doc-geetest-en)
|
33
33
|
- [GeeTestRequest](https://zenno.link/doc-geetest-proxy-en)
|
34
|
-
- [HCaptchaProxylessRequest](https://zenno.link/doc-hcaptcha-en)
|
35
|
-
- [HCaptchaRequest](https://zenno.link/doc-hcaptcha-proxy-en)
|
36
34
|
- [ImageToTextRequest](https://zenno.link/doc-ImageToTextTask-en)
|
37
35
|
- [RecaptchaV2ProxylessRequest](https://zenno.link/doc-recaptcha2-en)
|
38
36
|
- [RecaptchaV2Request](https://zenno.link/doc-recaptcha2-proxy-en)
|
@@ -42,8 +40,11 @@ Supported captcha recognition requests:
|
|
42
40
|
- [TurnstileProxylessRequest](https://zenno.link/doc-turnstile-en)
|
43
41
|
- [TurnstileRequest](https://zenno.link/doc-turnstile-proxy-en)
|
44
42
|
- [RecaptchaComplexImageTaskRequest](https://zenno.link/doc-complextask-rc-en)
|
45
|
-
- [HcaptchaComplexImageTaskRequest](https://zenno.link/doc-complextask-hc-en)
|
46
43
|
- [DataDomeCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/datadome)
|
47
44
|
- [TenDiCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/tendi)
|
48
45
|
- [BasiliskCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/Basilisk-task)
|
49
46
|
- [AmazonWafRequest](https://docs.capmonster.cloud/docs/captchas/amazon-task)
|
47
|
+
- [BinanceTaskRequest](https://docs.capmonster.cloud/docs/captchas/binance)
|
48
|
+
- [BinanceTaskProxylessRequest](https://docs.capmonster.cloud/docs/captchas/binance)
|
49
|
+
- [ImpervaCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/incapsula)
|
50
|
+
- [ImpervaCustomTaskProxylessRequest](https://docs.capmonster.cloud/docs/captchas/incapsula)
|
@@ -28,7 +28,9 @@ _instance_config = (
|
|
28
28
|
((TenDiCustomTaskRequest, TenDiCustomTaskProxylessRequest), getTenDiTimeouts),
|
29
29
|
((BasiliskCustomTaskRequest, BasiliskCustomTaskProxylessRequest), getBasiliskTimeouts),
|
30
30
|
((AmazonWafRequest, AmazonWafProxylessRequest), getAmazonWafTimeouts),
|
31
|
-
|
31
|
+
((BinanceTaskRequest, BinanceTaskProxylessRequest), getBinanceTimeouts),
|
32
|
+
((ImpervaCustomTaskRequest, ImpervaCustomTaskProxylessRequest), getImpervaTimeouts),
|
33
|
+
((RecognitionComplexImageTaskRequest), getCITTimeouts)
|
32
34
|
)
|
33
35
|
|
34
36
|
|
@@ -77,7 +79,12 @@ class CapMonsterClient:
|
|
77
79
|
RecaptchaComplexImageTaskRequest,
|
78
80
|
FunCaptchaComplexImageTaskRequest,
|
79
81
|
DataDomeCustomTaskProxylessRequest,
|
80
|
-
DataDomeCustomTaskRequest
|
82
|
+
DataDomeCustomTaskRequest,
|
83
|
+
BinanceTaskRequest,
|
84
|
+
BinanceTaskProxylessRequest,
|
85
|
+
ImpervaCustomTaskRequest,
|
86
|
+
ImpervaCustomTaskProxylessRequest,
|
87
|
+
RecognitionComplexImageTaskRequest],
|
81
88
|
) -> Dict[str, str]:
|
82
89
|
'''
|
83
90
|
Non-blocking method for captcha solving.
|
@@ -108,7 +115,11 @@ class CapMonsterClient:
|
|
108
115
|
TurnstileRequest,
|
109
116
|
HcaptchaComplexImageTaskRequest,
|
110
117
|
RecaptchaComplexImageTaskRequest,
|
111
|
-
FunCaptchaComplexImageTaskRequest
|
118
|
+
FunCaptchaComplexImageTaskRequest,
|
119
|
+
BinanceTaskRequest,
|
120
|
+
BinanceTaskProxylessRequest,
|
121
|
+
ImpervaCustomTaskRequest,
|
122
|
+
ImpervaCustomTaskProxylessRequest],
|
112
123
|
timeouts: GetResultTimeouts,
|
113
124
|
) -> Dict[str, str]:
|
114
125
|
|
@@ -43,3 +43,12 @@ def getBasiliskTimeouts() -> GetResultTimeouts:
|
|
43
43
|
|
44
44
|
def getAmazonWafTimeouts() -> GetResultTimeouts:
|
45
45
|
return GetResultTimeouts(1, 10, 3, 180)
|
46
|
+
|
47
|
+
def getBinanceTimeouts() -> GetResultTimeouts:
|
48
|
+
return GetResultTimeouts(1, 0, 1, 20)
|
49
|
+
|
50
|
+
def getImpervaTimeouts() -> GetResultTimeouts:
|
51
|
+
return GetResultTimeouts(1, 0, 1, 20)
|
52
|
+
|
53
|
+
def getCITTimeouts() -> GetResultTimeouts:
|
54
|
+
return GetResultTimeouts(0.35, 0, 0.2, 10)
|
@@ -0,0 +1,17 @@
|
|
1
|
+
from typing import Dict, Union
|
2
|
+
|
3
|
+
from .BinanceTaskRequestBase import BinanceTaskRequestBase
|
4
|
+
|
5
|
+
|
6
|
+
class BinanceTaskProxylessRequest(BinanceTaskRequestBase):
|
7
|
+
type: str = 'BinanceTaskProxyless'
|
8
|
+
|
9
|
+
def getTaskDict(self) -> Dict[str, Union[str, int, bool]]:
|
10
|
+
task = {}
|
11
|
+
task['type'] = self.type
|
12
|
+
task['validateId'] = self.validateId
|
13
|
+
task['websiteURL'] = self.websiteUrl
|
14
|
+
task['websiteKey'] = self.websiteKey
|
15
|
+
if self.userAgent is not None:
|
16
|
+
task['userAgent'] = self.userAgent
|
17
|
+
return task
|
@@ -0,0 +1,22 @@
|
|
1
|
+
from typing import Dict, Union
|
2
|
+
from pydantic import Field, validator
|
3
|
+
|
4
|
+
from .proxy_info import ProxyInfo
|
5
|
+
from .BinanceTaskRequestBase import BinanceTaskRequestBase
|
6
|
+
|
7
|
+
class BinanceTaskRequest(BinanceTaskRequestBase, ProxyInfo):
|
8
|
+
|
9
|
+
def getTaskDict(self) -> Dict[str, Union[str, int, bool]]:
|
10
|
+
task = {}
|
11
|
+
task['type'] = self.type
|
12
|
+
task['validateId'] = self.validateId
|
13
|
+
task['websiteURL'] = self.websiteUrl
|
14
|
+
task['websiteKey'] = self.websiteKey
|
15
|
+
task['proxyType'] = self.proxyType
|
16
|
+
task['proxyAddress'] = self.proxyAddress
|
17
|
+
task['proxyPort'] = self.proxyPort
|
18
|
+
task['proxyLogin'] = self.proxyLogin
|
19
|
+
task['proxyPassword'] = self.proxyPassword
|
20
|
+
if self.userAgent is not None:
|
21
|
+
task['userAgent'] = self.userAgent
|
22
|
+
return task
|
@@ -0,0 +1,11 @@
|
|
1
|
+
from .baseRequest import BaseRequest, Field
|
2
|
+
from typing import Optional
|
3
|
+
|
4
|
+
|
5
|
+
class BinanceTaskRequestBase(BaseRequest):
|
6
|
+
|
7
|
+
type: str = Field(default='BinanceTask')
|
8
|
+
websiteKey: str = Field()
|
9
|
+
websiteUrl: str = Field()
|
10
|
+
validateId: str = Field()
|
11
|
+
userAgent: Optional[str] = None
|
capmonstercloudclient-2.0.0/capmonstercloud_client/requests/ImpervaCustomTaskProxylessRequest.py
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
from typing import Dict, Union
|
2
|
+
from pydantic import Field, validator
|
3
|
+
|
4
|
+
from .ImpervaCustomTaskRequestBase import ImpervaCustomTaskRequestBase
|
5
|
+
|
6
|
+
class ImpervaCustomTaskProxylessRequest(ImpervaCustomTaskRequestBase):
|
7
|
+
metadata : Dict[str, str]
|
8
|
+
|
9
|
+
@validator('metadata')
|
10
|
+
def validate_metadata(cls, value):
|
11
|
+
if value.get('incapsulaScriptBase64') is None:
|
12
|
+
raise TypeError(f'Expect that incapsulaScriptBase64 will be defined.')
|
13
|
+
else:
|
14
|
+
if not isinstance(value.get('incapsulaScriptBase64'), str):
|
15
|
+
raise TypeError(f'Expect that incapsulaScriptBase64 will be str.')
|
16
|
+
if value.get('incapsulaSessionCookie') is None:
|
17
|
+
raise TypeError(f'Expect that incapsulaSessionCookie will be defined.')
|
18
|
+
else:
|
19
|
+
if not isinstance(value.get('incapsulaSessionCookie'), str):
|
20
|
+
raise TypeError(f'Expect that incapsulaSessionCookie will be str.')
|
21
|
+
if value.get('reese84UrlEndpoint') is not None and not isinstance(value.get('incapsulaSessionCookie'), str):
|
22
|
+
raise TypeError(f'Expect that reese84UrlEndpoint will be str.')
|
23
|
+
return value
|
24
|
+
|
25
|
+
def getTaskDict(self) -> Dict[str, Union[str, int, bool]]:
|
26
|
+
task = {}
|
27
|
+
task['type'] = self.type
|
28
|
+
task['class'] = self.captchaClass
|
29
|
+
task['websiteURL'] = self.websiteUrl
|
30
|
+
task['metadata'] = self.metadata
|
31
|
+
if self.userAgent is not None:
|
32
|
+
task['userAgent'] = self.userAgent
|
33
|
+
return task
|
@@ -0,0 +1,39 @@
|
|
1
|
+
from typing import Dict, Union
|
2
|
+
from pydantic import Field, validator
|
3
|
+
|
4
|
+
from .proxy_info import ProxyInfo
|
5
|
+
from .ImpervaCustomTaskRequestBase import ImpervaCustomTaskRequestBase
|
6
|
+
|
7
|
+
class ImpervaCustomTaskRequest(ImpervaCustomTaskRequestBase, ProxyInfo):
|
8
|
+
metadata : Dict[str, str]
|
9
|
+
|
10
|
+
@validator('metadata')
|
11
|
+
def validate_metadata(cls, value):
|
12
|
+
if value.get('incapsulaScriptBase64') is None:
|
13
|
+
raise TypeError(f'Expect that incapsulaScriptBase64 will be defined.')
|
14
|
+
else:
|
15
|
+
if not isinstance(value.get('incapsulaScriptBase64'), str):
|
16
|
+
raise TypeError(f'Expect that incapsulaScriptBase64 will be str.')
|
17
|
+
if value.get('incapsulaSessionCookie') is None:
|
18
|
+
raise TypeError(f'Expect that incapsulaSessionCookie will be defined.')
|
19
|
+
else:
|
20
|
+
if not isinstance(value.get('incapsulaSessionCookie'), str):
|
21
|
+
raise TypeError(f'Expect that incapsulaSessionCookie will be str.')
|
22
|
+
if value.get('reese84UrlEndpoint') is not None and not isinstance(value.get('incapsulaSessionCookie'), str):
|
23
|
+
raise TypeError(f'Expect that reese84UrlEndpoint will be str.')
|
24
|
+
return value
|
25
|
+
|
26
|
+
def getTaskDict(self) -> Dict[str, Union[str, int, bool]]:
|
27
|
+
task = {}
|
28
|
+
task['type'] = self.type
|
29
|
+
task['class'] = self.captchaClass
|
30
|
+
task['websiteURL'] = self.websiteUrl
|
31
|
+
task['metadata'] = self.metadata
|
32
|
+
task['proxyType'] = self.proxyType
|
33
|
+
task['proxyAddress'] = self.proxyAddress
|
34
|
+
task['proxyPort'] = self.proxyPort
|
35
|
+
task['proxyLogin'] = self.proxyLogin
|
36
|
+
task['proxyPassword'] = self.proxyPassword
|
37
|
+
if self.userAgent is not None:
|
38
|
+
task['userAgent'] = self.userAgent
|
39
|
+
return task
|
@@ -0,0 +1,8 @@
|
|
1
|
+
from typing import Dict, Union
|
2
|
+
from pydantic import Field
|
3
|
+
|
4
|
+
from .CustomTaskRequestBase import CustomTaskRequestBase
|
5
|
+
|
6
|
+
class ImpervaCustomTaskRequestBase(CustomTaskRequestBase):
|
7
|
+
type: str = Field(default='CustomTask')
|
8
|
+
captchaClass: str = Field(default='Imperva')
|
capmonstercloudclient-2.0.0/capmonstercloud_client/requests/RecognitionComplexImageTaskRequest.py
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
from typing import Optional, List, Dict, Union
|
2
|
+
from pydantic import validator
|
3
|
+
from .ComplexImageTaskBase import ComplexImageTaskRequestBase
|
4
|
+
from ..exceptions import NumbersImagesErrors, ZeroImagesErrors, TaskNotDefinedError
|
5
|
+
|
6
|
+
|
7
|
+
class RecognitionComplexImageTaskRequest(ComplexImageTaskRequestBase):
|
8
|
+
captchaClass: str = 'recognition'
|
9
|
+
metadata: Dict[str, str]
|
10
|
+
|
11
|
+
@validator('metadata')
|
12
|
+
def validate_metadata(cls, value):
|
13
|
+
if value.get('Task') is None:
|
14
|
+
raise TaskNotDefinedError(f'Expect that Task will be defined.')
|
15
|
+
else:
|
16
|
+
if not isinstance(value.get('Task'), str):
|
17
|
+
raise TypeError(f'Expect that Task will be str.')
|
18
|
+
if not set(value.keys()).issubset(set(["Task", "TaskArgument"])):
|
19
|
+
raise TypeError(f'Allowed keys for metadata are "Task" and "TaskArgument"')
|
20
|
+
return value
|
21
|
+
|
22
|
+
@validator('imagesBase64')
|
23
|
+
def validate_images_array(cls, value):
|
24
|
+
if value is not None:
|
25
|
+
if not isinstance(value, (list, tuple)):
|
26
|
+
raise TypeError(f'Expect that type imagesBase64 array will be <list> or <tuple>, got {type(value)}')
|
27
|
+
elif not len(value):
|
28
|
+
raise ZeroImagesErrors(f'At least one image base64 expected, got {len(value)}')
|
29
|
+
# Check for each element type
|
30
|
+
contain_types = [isinstance(x, str) for x in value]
|
31
|
+
if not all(contain_types):
|
32
|
+
raise TypeError(f'Next images from imagesBase64 array are not string: {contain_types}')
|
33
|
+
else:
|
34
|
+
raise ZeroImagesErrors(f'At least one image base64 expected, got {len(value)}')
|
35
|
+
return value
|
36
|
+
|
37
|
+
def getTaskDict(self) -> Dict[str, Union[str, int, bool]]:
|
38
|
+
task = {}
|
39
|
+
task['type'] = self.taskType
|
40
|
+
task['class'] = self.captchaClass
|
41
|
+
task['imagesBase64'] = self.imagesBase64
|
42
|
+
task['metadata'] = self.metadata
|
43
|
+
if self.userAgent is not None:
|
44
|
+
task['userAgent'] = self.userAgent
|
45
|
+
return task
|
@@ -13,6 +13,7 @@ class TurnstileRequestBase(BaseRequest):
|
|
13
13
|
userAgent: Optional[str] = Field(default=None)
|
14
14
|
cloudflareTaskType: Optional[str] = Field(default=None)
|
15
15
|
htmlPageBase64: Optional[str] = Field(default=None)
|
16
|
+
apiJsUrl: Optional[str] = Field(default=None)
|
16
17
|
|
17
18
|
@validator('cloudflareTaskType')
|
18
19
|
def validate_cloudflare_task(cls, value):
|
@@ -24,6 +24,12 @@ from .BasiliskCustomTaskRequest import BasiliskCustomTaskRequest
|
|
24
24
|
from .BasiliskCustomTaskProxylessRequest import BasiliskCustomTaskProxylessRequest
|
25
25
|
from .AmazonWafRequest import AmazonWafRequest
|
26
26
|
from .AmazonWafProxylessRequest import AmazonWafProxylessRequest
|
27
|
+
from .BinanceTaskRequest import BinanceTaskRequest
|
28
|
+
from .BinanceTaskProxylessRequest import BinanceTaskProxylessRequest
|
29
|
+
from .ImpervaCustomTaskRequest import ImpervaCustomTaskRequest
|
30
|
+
from .ImpervaCustomTaskProxylessRequest import ImpervaCustomTaskProxylessRequest
|
31
|
+
from .RecognitionComplexImageTaskRequest import RecognitionComplexImageTaskRequest
|
32
|
+
|
27
33
|
|
28
34
|
REQUESTS = ['RecaptchaV2EnterpiseRequest', 'RecaptchaV2EnterpriseProxylessRequest',
|
29
35
|
'RecaptchaV2ProxylessRequest', 'RecaptchaV2Request', 'RecaptchaV3ProxylessRequest',
|
@@ -31,4 +37,6 @@ REQUESTS = ['RecaptchaV2EnterpiseRequest', 'RecaptchaV2EnterpriseProxylessReques
|
|
31
37
|
'GeetestRequest', 'GeetestProxylessRequest', 'HcaptchaProxylessRequest',
|
32
38
|
'HcaptchaRequest', 'DataDomeCustomTaskRequest', 'DataDomeCustomTaskProxylessRequest',
|
33
39
|
'TenDiCustomTaskRequest', 'TenDiCustomTaskProxylessRequest', 'BasiliskCustomTaskRequest',
|
34
|
-
'BasiliskCustomTaskProxylessRequest', 'AmazonWafRequest', 'AmazonWafProxylessRequest'
|
40
|
+
'BasiliskCustomTaskProxylessRequest', 'AmazonWafRequest', 'AmazonWafProxylessRequest',
|
41
|
+
'BinanceTaskRequest', 'BinanceTaskProxylessRequest', 'ImpervaCustomTaskProxylessRequest',
|
42
|
+
'ImpervaCustomTaskRequest', 'RecognitionComplexImageTaskRequest']
|
@@ -0,0 +1 @@
|
|
1
|
+
2.0.0
|
{capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0/capmonstercloudclient.egg-info}/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: capmonstercloudclient
|
3
|
-
Version:
|
3
|
+
Version: 2.0.0
|
4
4
|
Summary: Official CapMonsterCloud Client: https://capmonster.cloud/
|
5
5
|
Home-page: https://github.com/ZennoLab/capmonstercloud-client-python
|
6
6
|
Author: Andrey Ilyin
|
@@ -33,8 +33,36 @@ Classifier: Operating System :: MacOS
|
|
33
33
|
Requires-Python: >=3.6
|
34
34
|
Description-Content-Type: text/markdown
|
35
35
|
License-File: LICENSE
|
36
|
-
Requires-Dist:
|
37
|
-
Requires-Dist:
|
36
|
+
Requires-Dist: aiohappyeyeballs==2.4.4; python_version >= "3.9" and python_version <= "3.13"
|
37
|
+
Requires-Dist: aiohttp==3.11.10; python_version >= "3.9" and python_version <= "3.13"
|
38
|
+
Requires-Dist: aiosignal==1.3.1; python_version >= "3.9" and python_version <= "3.13"
|
39
|
+
Requires-Dist: annotated-types==0.7.0; python_version >= "3.9" and python_version <= "3.13"
|
40
|
+
Requires-Dist: async-timeout==5.0.1; python_version >= "3.9" and python_version <= "3.11"
|
41
|
+
Requires-Dist: attrs==24.2.0; python_version >= "3.9" and python_version <= "3.13"
|
42
|
+
Requires-Dist: frozenlist==1.5.0; python_version >= "3.9" and python_version <= "3.13"
|
43
|
+
Requires-Dist: idna==3.10; python_version >= "3.9" and python_version <= "3.13"
|
44
|
+
Requires-Dist: multidict==6.1.0; python_version >= "3.9" and python_version <= "3.13"
|
45
|
+
Requires-Dist: propcache==0.2.1; python_version >= "3.9" and python_version <= "3.13"
|
46
|
+
Requires-Dist: pydantic-core==2.27.1; python_version >= "3.9" and python_version <= "3.13"
|
47
|
+
Requires-Dist: pydantic==2.10.3; python_version >= "3.9" and python_version <= "3.13"
|
48
|
+
Requires-Dist: typing-extensions==4.12.2; python_version >= "3.9" and python_version <= "3.13"
|
49
|
+
Requires-Dist: yarl==1.18.3; python_version >= "3.9" and python_version <= "3.13"
|
50
|
+
Requires-Dist: aiohttp==3.7.4; python_version >= "3.6" and python_version <= "3.8"
|
51
|
+
Requires-Dist: pydantic==2.10.3; python_version >= "3.8" and python_version < "3.9"
|
52
|
+
Requires-Dist: pydantic==2.5.3; python_version >= "3.7" and python_version < "3.8"
|
53
|
+
Requires-Dist: pydantic==2.1.*; python_version < "3.7"
|
54
|
+
Dynamic: author
|
55
|
+
Dynamic: author-email
|
56
|
+
Dynamic: classifier
|
57
|
+
Dynamic: description
|
58
|
+
Dynamic: description-content-type
|
59
|
+
Dynamic: home-page
|
60
|
+
Dynamic: keywords
|
61
|
+
Dynamic: license
|
62
|
+
Dynamic: license-file
|
63
|
+
Dynamic: requires-dist
|
64
|
+
Dynamic: requires-python
|
65
|
+
Dynamic: summary
|
38
66
|
|
39
67
|
# Zennolab.CapMonsterCloud.Client
|
40
68
|
|
@@ -69,8 +97,6 @@ Supported captcha recognition requests:
|
|
69
97
|
|
70
98
|
- [GeeTestProxylessRequest](https://zenno.link/doc-geetest-en)
|
71
99
|
- [GeeTestRequest](https://zenno.link/doc-geetest-proxy-en)
|
72
|
-
- [HCaptchaProxylessRequest](https://zenno.link/doc-hcaptcha-en)
|
73
|
-
- [HCaptchaRequest](https://zenno.link/doc-hcaptcha-proxy-en)
|
74
100
|
- [ImageToTextRequest](https://zenno.link/doc-ImageToTextTask-en)
|
75
101
|
- [RecaptchaV2ProxylessRequest](https://zenno.link/doc-recaptcha2-en)
|
76
102
|
- [RecaptchaV2Request](https://zenno.link/doc-recaptcha2-proxy-en)
|
@@ -80,8 +106,11 @@ Supported captcha recognition requests:
|
|
80
106
|
- [TurnstileProxylessRequest](https://zenno.link/doc-turnstile-en)
|
81
107
|
- [TurnstileRequest](https://zenno.link/doc-turnstile-proxy-en)
|
82
108
|
- [RecaptchaComplexImageTaskRequest](https://zenno.link/doc-complextask-rc-en)
|
83
|
-
- [HcaptchaComplexImageTaskRequest](https://zenno.link/doc-complextask-hc-en)
|
84
109
|
- [DataDomeCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/datadome)
|
85
110
|
- [TenDiCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/tendi)
|
86
111
|
- [BasiliskCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/Basilisk-task)
|
87
112
|
- [AmazonWafRequest](https://docs.capmonster.cloud/docs/captchas/amazon-task)
|
113
|
+
- [BinanceTaskRequest](https://docs.capmonster.cloud/docs/captchas/binance)
|
114
|
+
- [BinanceTaskProxylessRequest](https://docs.capmonster.cloud/docs/captchas/binance)
|
115
|
+
- [ImpervaCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/incapsula)
|
116
|
+
- [ImpervaCustomTaskProxylessRequest](https://docs.capmonster.cloud/docs/captchas/incapsula)
|
@@ -19,6 +19,9 @@ capmonstercloud_client/requests/AmazonWafRequestBase.py
|
|
19
19
|
capmonstercloud_client/requests/BasiliskCustomTaskProxylessRequest.py
|
20
20
|
capmonstercloud_client/requests/BasiliskCustomTaskRequest.py
|
21
21
|
capmonstercloud_client/requests/BasiliskCustomTaskRequestBase.py
|
22
|
+
capmonstercloud_client/requests/BinanceTaskProxylessRequest.py
|
23
|
+
capmonstercloud_client/requests/BinanceTaskRequest.py
|
24
|
+
capmonstercloud_client/requests/BinanceTaskRequestBase.py
|
22
25
|
capmonstercloud_client/requests/ComplexImageTaskBase.py
|
23
26
|
capmonstercloud_client/requests/CustomTaskRequestBase.py
|
24
27
|
capmonstercloud_client/requests/DataDomeCustomTaskProxylessRequest.py
|
@@ -36,6 +39,9 @@ capmonstercloud_client/requests/HcaptchaProxylessRequest.py
|
|
36
39
|
capmonstercloud_client/requests/HcaptchaRequest.py
|
37
40
|
capmonstercloud_client/requests/HcaptchaRequestBase.py
|
38
41
|
capmonstercloud_client/requests/ImageToTextRequest.py
|
42
|
+
capmonstercloud_client/requests/ImpervaCustomTaskProxylessRequest.py
|
43
|
+
capmonstercloud_client/requests/ImpervaCustomTaskRequest.py
|
44
|
+
capmonstercloud_client/requests/ImpervaCustomTaskRequestBase.py
|
39
45
|
capmonstercloud_client/requests/RecaptchaComplexImageTask.py
|
40
46
|
capmonstercloud_client/requests/RecaptchaV2EnterpiseRequest.py
|
41
47
|
capmonstercloud_client/requests/RecaptchaV2EnterpriseProxylessRequest.py
|
@@ -44,6 +50,7 @@ capmonstercloud_client/requests/RecaptchaV2ProxylessRequest.py
|
|
44
50
|
capmonstercloud_client/requests/RecaptchaV2Request.py
|
45
51
|
capmonstercloud_client/requests/RecaptchaV2RequestBase.py
|
46
52
|
capmonstercloud_client/requests/RecaptchaV3ProxylessRequest.py
|
53
|
+
capmonstercloud_client/requests/RecognitionComplexImageTaskRequest.py
|
47
54
|
capmonstercloud_client/requests/TenDiCustomTaskProxylessRequest.py
|
48
55
|
capmonstercloud_client/requests/TenDiCustomTaskRequest.py
|
49
56
|
capmonstercloud_client/requests/TenDiCustomTaskRequestBase.py
|
@@ -0,0 +1,30 @@
|
|
1
|
+
|
2
|
+
[:python_version < "3.7"]
|
3
|
+
pydantic==2.1.*
|
4
|
+
|
5
|
+
[:python_version >= "3.6" and python_version <= "3.8"]
|
6
|
+
aiohttp==3.7.4
|
7
|
+
|
8
|
+
[:python_version >= "3.7" and python_version < "3.8"]
|
9
|
+
pydantic==2.5.3
|
10
|
+
|
11
|
+
[:python_version >= "3.8" and python_version < "3.9"]
|
12
|
+
pydantic==2.10.3
|
13
|
+
|
14
|
+
[:python_version >= "3.9" and python_version <= "3.11"]
|
15
|
+
async-timeout==5.0.1
|
16
|
+
|
17
|
+
[:python_version >= "3.9" and python_version <= "3.13"]
|
18
|
+
aiohappyeyeballs==2.4.4
|
19
|
+
aiohttp==3.11.10
|
20
|
+
aiosignal==1.3.1
|
21
|
+
annotated-types==0.7.0
|
22
|
+
attrs==24.2.0
|
23
|
+
frozenlist==1.5.0
|
24
|
+
idna==3.10
|
25
|
+
multidict==6.1.0
|
26
|
+
propcache==0.2.1
|
27
|
+
pydantic-core==2.27.1
|
28
|
+
pydantic==2.10.3
|
29
|
+
typing-extensions==4.12.2
|
30
|
+
yarl==1.18.3
|
@@ -0,0 +1,18 @@
|
|
1
|
+
aiohappyeyeballs==2.4.4 ; python_version >= "3.9" and python_version <= "3.13"
|
2
|
+
aiohttp==3.11.10 ; python_version >= "3.9" and python_version <= "3.13"
|
3
|
+
aiosignal==1.3.1 ; python_version >= "3.9" and python_version <= "3.13"
|
4
|
+
annotated-types==0.7.0 ; python_version >= "3.9" and python_version <= "3.13"
|
5
|
+
async-timeout==5.0.1 ; python_version >= "3.9" and python_version <= "3.11"
|
6
|
+
attrs==24.2.0 ; python_version >= "3.9" and python_version <= "3.13"
|
7
|
+
frozenlist==1.5.0 ; python_version >= "3.9" and python_version <= "3.13"
|
8
|
+
idna==3.10 ; python_version >= "3.9" and python_version <= "3.13"
|
9
|
+
multidict==6.1.0 ; python_version >= "3.9" and python_version <= "3.13"
|
10
|
+
propcache==0.2.1 ; python_version >= "3.9" and python_version <= "3.13"
|
11
|
+
pydantic-core==2.27.1 ; python_version >= "3.9" and python_version <= "3.13"
|
12
|
+
pydantic==2.10.3 ; python_version >= "3.9" and python_version <= "3.13"
|
13
|
+
typing-extensions==4.12.2 ; python_version >= "3.9" and python_version <= "3.13"
|
14
|
+
yarl==1.18.3 ; python_version >= "3.9" and python_version <= "3.13"
|
15
|
+
aiohttp==3.7.4 ; python_version >= "3.6" and python_version <= "3.8"
|
16
|
+
pydantic==2.10.3 ; python_version >= "3.8" and python_version < "3.9"
|
17
|
+
pydantic==2.5.3 ; python_version >= "3.7" and python_version < "3.8"
|
18
|
+
pydantic==2.1.* ; python_version < "3.7"
|
@@ -1 +0,0 @@
|
|
1
|
-
1.5.2
|
File without changes
|
File without changes
|
{capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/__init__.py
RENAMED
File without changes
|
{capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/captchaResult.py
RENAMED
File without changes
|
{capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/clientOptions.py
RENAMED
File without changes
|
{capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/exceptions.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{capmonstercloudclient-1.5.2 → capmonstercloudclient-2.0.0}/capmonstercloud_client/requests/enums.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|