capmonstercloudclient 1.5.1__py3-none-any.whl → 1.6.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.
@@ -28,7 +28,8 @@ _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)
32
33
  )
33
34
 
34
35
 
@@ -77,7 +78,11 @@ class CapMonsterClient:
77
78
  RecaptchaComplexImageTaskRequest,
78
79
  FunCaptchaComplexImageTaskRequest,
79
80
  DataDomeCustomTaskProxylessRequest,
80
- DataDomeCustomTaskRequest],
81
+ DataDomeCustomTaskRequest,
82
+ BinanceTaskRequest,
83
+ BinanceTaskProxylessRequest,
84
+ ImpervaCustomTaskRequest,
85
+ ImpervaCustomTaskProxylessRequest],
81
86
  ) -> Dict[str, str]:
82
87
  '''
83
88
  Non-blocking method for captcha solving.
@@ -108,7 +113,11 @@ class CapMonsterClient:
108
113
  TurnstileRequest,
109
114
  HcaptchaComplexImageTaskRequest,
110
115
  RecaptchaComplexImageTaskRequest,
111
- FunCaptchaComplexImageTaskRequest],
116
+ FunCaptchaComplexImageTaskRequest,
117
+ BinanceTaskRequest,
118
+ BinanceTaskProxylessRequest,
119
+ ImpervaCustomTaskRequest,
120
+ ImpervaCustomTaskProxylessRequest],
112
121
  timeouts: GetResultTimeouts,
113
122
  ) -> Dict[str, str]:
114
123
 
@@ -43,3 +43,9 @@ 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)
@@ -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
@@ -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')
@@ -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,11 @@ 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
+
27
32
 
28
33
  REQUESTS = ['RecaptchaV2EnterpiseRequest', 'RecaptchaV2EnterpriseProxylessRequest',
29
34
  'RecaptchaV2ProxylessRequest', 'RecaptchaV2Request', 'RecaptchaV3ProxylessRequest',
@@ -31,4 +36,6 @@ REQUESTS = ['RecaptchaV2EnterpiseRequest', 'RecaptchaV2EnterpriseProxylessReques
31
36
  'GeetestRequest', 'GeetestProxylessRequest', 'HcaptchaProxylessRequest',
32
37
  'HcaptchaRequest', 'DataDomeCustomTaskRequest', 'DataDomeCustomTaskProxylessRequest',
33
38
  'TenDiCustomTaskRequest', 'TenDiCustomTaskProxylessRequest', 'BasiliskCustomTaskRequest',
34
- 'BasiliskCustomTaskProxylessRequest', 'AmazonWafRequest', 'AmazonWafProxylessRequest']
39
+ 'BasiliskCustomTaskProxylessRequest', 'AmazonWafRequest', 'AmazonWafProxylessRequest',
40
+ 'BinanceTaskRequest', 'BinanceTaskProxylessRequest', 'ImpervaCustomTaskProxylessRequest',
41
+ 'ImpervaCustomTaskRequest']
@@ -1 +1 @@
1
- 1.5.1
1
+ 1.6.0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: capmonstercloudclient
3
- Version: 1.5.1
3
+ Version: 1.6.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,19 @@ 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: aiohttp >=3.7.4
37
- Requires-Dist: pydantic ==2.1.*
36
+ Requires-Dist: aiohttp>=3.7.4
37
+ Requires-Dist: pydantic==2.1.*
38
+ Dynamic: author
39
+ Dynamic: author-email
40
+ Dynamic: classifier
41
+ Dynamic: description
42
+ Dynamic: description-content-type
43
+ Dynamic: home-page
44
+ Dynamic: keywords
45
+ Dynamic: license
46
+ Dynamic: requires-dist
47
+ Dynamic: requires-python
48
+ Dynamic: summary
38
49
 
39
50
  # Zennolab.CapMonsterCloud.Client
40
51
 
@@ -69,8 +80,6 @@ Supported captcha recognition requests:
69
80
 
70
81
  - [GeeTestProxylessRequest](https://zenno.link/doc-geetest-en)
71
82
  - [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
83
  - [ImageToTextRequest](https://zenno.link/doc-ImageToTextTask-en)
75
84
  - [RecaptchaV2ProxylessRequest](https://zenno.link/doc-recaptcha2-en)
76
85
  - [RecaptchaV2Request](https://zenno.link/doc-recaptcha2-proxy-en)
@@ -80,8 +89,11 @@ Supported captcha recognition requests:
80
89
  - [TurnstileProxylessRequest](https://zenno.link/doc-turnstile-en)
81
90
  - [TurnstileRequest](https://zenno.link/doc-turnstile-proxy-en)
82
91
  - [RecaptchaComplexImageTaskRequest](https://zenno.link/doc-complextask-rc-en)
83
- - [HcaptchaComplexImageTaskRequest](https://zenno.link/doc-complextask-hc-en)
84
92
  - [DataDomeCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/datadome)
85
93
  - [TenDiCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/tendi)
86
94
  - [BasiliskCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/Basilisk-task)
87
95
  - [AmazonWafRequest](https://docs.capmonster.cloud/docs/captchas/amazon-task)
96
+ - [BinanceTaskRequest](https://docs.capmonster.cloud/docs/captchas/binance)
97
+ - [BinanceTaskProxylessRequest](https://docs.capmonster.cloud/docs/captchas/binance)
98
+ - [ImpervaCustomTaskRequest](https://docs.capmonster.cloud/docs/captchas/incapsula)
99
+ - [ImpervaCustomTaskProxylessRequest](https://docs.capmonster.cloud/docs/captchas/incapsula)
@@ -1,18 +1,21 @@
1
- capmonstercloudclient/CapMonsterCloudClient.py,sha256=-Xpkiefv3oF4gaKuGl9kRPSbonsVJ6RJbKTpZT9bzok,9216
2
- capmonstercloudclient/GetResultTimeouts.py,sha256=Bt4gZ11lpXqGCYDvWx9SgABHmBtv6gqUnEDQliU-l58,1390
1
+ capmonstercloudclient/CapMonsterCloudClient.py,sha256=M_o11eAs_Hcdg36QA77V-AE6V-IrKXn12gpfpXkBUXY,9964
2
+ capmonstercloudclient/GetResultTimeouts.py,sha256=SqQlQwl0id5y8SwN9F4ug8CgvQaLV9hWxWjFiksr32A,1570
3
3
  capmonstercloudclient/__init__.py,sha256=XkfS_v1jZUx7HTUhdi-5uiZhvjvd9aLvt31jXXpVxeA,92
4
4
  capmonstercloudclient/captchaResult.py,sha256=qBRmadO9n6DMnG-IwJSzZEt54Z5OAXvWIC5Jvzd7OfI,314
5
5
  capmonstercloudclient/clientOptions.py,sha256=kd2CXnmz2_crZd85SoOHOjp1zBklEbu9OWDpk-JfBf4,895
6
6
  capmonstercloudclient/exceptions.py,sha256=9iTzO0ymBo7eAJwv7qtoPZTmb4yaQ6Fvi69VqBXTcwk,925
7
7
  capmonstercloudclient/requestController.py,sha256=9t31zNN4z1UBw4Q0N9ZIy47CwSQl2VaxD1eqDTDIr9w,497
8
8
  capmonstercloudclient/utils.py,sha256=hP090ddzDCLknr5wGCR7sIALDbOtWbiSzgZPvPnDC3c,609
9
- capmonstercloudclient/version.txt,sha256=3-fXGz9Cjrc-2FP4_e1l4pholuIdafRevwa7YjtFDhQ,6
9
+ capmonstercloudclient/version.txt,sha256=ViNosgpkvpVlG7gka3Qg9_zlVTjf-Zmu-qeGYqFNDTk,5
10
10
  capmonstercloudclient/requests/AmazonWafProxylessRequest.py,sha256=lgNC-03ccOsWZJM9xuLChaWAgNkOpMz4jRmhsK6yi58,753
11
11
  capmonstercloudclient/requests/AmazonWafRequest.py,sha256=vXw1AcTStr3NPFMSTUxi0ZuQ9ICEhwfhZ3m5BhSc6Jw,986
12
12
  capmonstercloudclient/requests/AmazonWafRequestBase.py,sha256=Ie4Vv6OZpFPvy6gQyuwsNMGKHEI4qNFa6Z5RK3KUqEw,308
13
13
  capmonstercloudclient/requests/BasiliskCustomTaskProxylessRequest.py,sha256=2Vg6DpzrE4QHbBGQLaWZWMNf6oIMORFWeRr8Dz3gRgY,573
14
14
  capmonstercloudclient/requests/BasiliskCustomTaskRequest.py,sha256=Avlc4f7_wAGUJ1MyazmA7Up8A7krmc4Z8TcvlcKpYuI,840
15
15
  capmonstercloudclient/requests/BasiliskCustomTaskRequestBase.py,sha256=dhBbn6ffPQRIV8Usg4GwPEhIK7d59fT3kKsjOrvuiUU,367
16
+ capmonstercloudclient/requests/BinanceTaskProxylessRequest.py,sha256=ClSz6yig3UgIkk-xROsJTW07fWjK1bazYNjKI45fEXU,546
17
+ capmonstercloudclient/requests/BinanceTaskRequest.py,sha256=zDiAnSSu4pdzajT61zDQf6w53At4XTBwTLknavYsRiQ,815
18
+ capmonstercloudclient/requests/BinanceTaskRequestBase.py,sha256=1LUOreZRfImj4p_Wc_wHMYT8f_piVeJtWKh1EQaMo48,293
16
19
  capmonstercloudclient/requests/ComplexImageTaskBase.py,sha256=7784BontlIxldtIEy9O4Id1nRo6abGpNJZl5z2KwusY,675
17
20
  capmonstercloudclient/requests/CustomTaskRequestBase.py,sha256=qilOId-0g7kDeaE0ofmAqsCq0visR6SG5uxYD2xbKu4,518
18
21
  capmonstercloudclient/requests/DataDomeCustomTaskProxylessRequest.py,sha256=ozFD8CWmGoAbKDRb3xy_JjpD7OsAdgSZSe0lpJvSXVw,1714
@@ -30,6 +33,9 @@ capmonstercloudclient/requests/HcaptchaProxylessRequest.py,sha256=fv3_1PMN4ABxXh
30
33
  capmonstercloudclient/requests/HcaptchaRequest.py,sha256=0e-yBeEWqk6-lXSxgcIWROrgbKyh1OICjDarbCp0AQg,1158
31
34
  capmonstercloudclient/requests/HcaptchaRequestBase.py,sha256=eF2njtIx3akgiPwA_hW8IMASBW9IEtkXRf0YDL9w4zE,436
32
35
  capmonstercloudclient/requests/ImageToTextRequest.py,sha256=iubmsWXBwpQKFSoqL2YugMCHjVRoj13HEH9BZbYley4,2492
36
+ capmonstercloudclient/requests/ImpervaCustomTaskProxylessRequest.py,sha256=YTCLEvDZkIko9inkc4JLZBNlxPnL3CToV7o5kwFB-Dk,1498
37
+ capmonstercloudclient/requests/ImpervaCustomTaskRequest.py,sha256=zw_dpvp5Yy2D5LeFZYSpuxZgIaSnpSibfIgs-bQzR_8,1765
38
+ capmonstercloudclient/requests/ImpervaCustomTaskRequestBase.py,sha256=se-LV7B-WSZSBlPXOFUfHWlpWwkjCPul9dCN6eVJ6oM,269
33
39
  capmonstercloudclient/requests/RecaptchaComplexImageTask.py,sha256=fhT5tJo8__Ffc0sr4v0SxG0_tvqQt4A301CdM0zA8PI,3299
34
40
  capmonstercloudclient/requests/RecaptchaV2EnterpiseRequest.py,sha256=4mD8Lv52K9rhEzwXEBefnN0sN8TGwOsGvoFVrU7T44A,965
35
41
  capmonstercloudclient/requests/RecaptchaV2EnterpriseProxylessRequest.py,sha256=2B8tJXDwb_L-UHCJ0jz_ut116HzWk1EuDQBMfPOxSoc,718
@@ -43,13 +49,13 @@ capmonstercloudclient/requests/TenDiCustomTaskRequest.py,sha256=jWgGQaidkQHuJ8De
43
49
  capmonstercloudclient/requests/TenDiCustomTaskRequestBase.py,sha256=3bnONuD0u9Qs2qZ6XCTV3G8tOqHQIgTm-sG4azHTikQ,361
44
50
  capmonstercloudclient/requests/TurnstileProxylessRequest.py,sha256=ZRiBYYudP5z8J79YjjMf5PSgR9q1eWTCb1TWWfnIn10,342
45
51
  capmonstercloudclient/requests/TurnstileRequest.py,sha256=xPH5EyXwvw3apI1YlUEcTktGP3wxkaRAWKpP6uqOguI,378
46
- capmonstercloudclient/requests/TurnstileRequestBase.py,sha256=8zzcQLV1Sh7LVuMcEmhrxuPKkObNO0gHmVm1-jUFbI4,1958
47
- capmonstercloudclient/requests/__init__.py,sha256=ljuazzIqpXE_2JustJQL-27wGFxWnN7lj_dMGKt_QBo,2287
52
+ capmonstercloudclient/requests/TurnstileRequestBase.py,sha256=TRXbxmbZKM9449ZUni0g3ZdLIX4bFmh2PWdaLvNWlhc,2008
53
+ capmonstercloudclient/requests/__init__.py,sha256=4Fd7Q-bxniIXF5sc4RIIsGXOIEnrvdtC8hwaOzZjJz0,2694
48
54
  capmonstercloudclient/requests/baseRequest.py,sha256=oVOtKdCfVhxQ9x4qDkIc1D_-q3B08hNQeUKrBLwkjaM,279
49
55
  capmonstercloudclient/requests/enums.py,sha256=itJ95OEzwous9zOe4n411w5LeBw4yCpCCTMomlT3LU0,1000
50
56
  capmonstercloudclient/requests/proxy_info.py,sha256=ctmxvykMflsym-snO449t9mOZ1jxpUFTnxcI8koACUw,678
51
- capmonstercloudclient-1.5.1.dist-info/LICENSE,sha256=VIIsA4331arqJBp_QqiY2cjVszTfuSt3I7uEUr4ouYw,1065
52
- capmonstercloudclient-1.5.1.dist-info/METADATA,sha256=TyluVaZEYPeYMIIfy9rULZVHF3ArS34H5nsSdG22_gU,3610
53
- capmonstercloudclient-1.5.1.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
54
- capmonstercloudclient-1.5.1.dist-info/top_level.txt,sha256=_rR6-Wb02PxobU8D33r_0OONJgybsros2e9H8opYGnA,22
55
- capmonstercloudclient-1.5.1.dist-info/RECORD,,
57
+ capmonstercloudclient-1.6.0.dist-info/LICENSE,sha256=VIIsA4331arqJBp_QqiY2cjVszTfuSt3I7uEUr4ouYw,1065
58
+ capmonstercloudclient-1.6.0.dist-info/METADATA,sha256=kpesZFnlX9xJ7G-EqxSwZ0iMufFIXUWScqnSzwGvWSo,3973
59
+ capmonstercloudclient-1.6.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
60
+ capmonstercloudclient-1.6.0.dist-info/top_level.txt,sha256=_rR6-Wb02PxobU8D33r_0OONJgybsros2e9H8opYGnA,22
61
+ capmonstercloudclient-1.6.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.3.0)
2
+ Generator: setuptools (75.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5