nonecap 0.8.2__tar.gz → 0.8.3__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.
- {nonecap-0.8.2 → nonecap-0.8.3}/PKG-INFO +4 -4
- {nonecap-0.8.2 → nonecap-0.8.3}/README.md +1 -1
- {nonecap-0.8.2 → nonecap-0.8.3}/pyproject.toml +2 -2
- {nonecap-0.8.2 → nonecap-0.8.3}/src/nonecap/_types.py +1 -0
- nonecap-0.8.3/src/nonecap/_version.py +1 -0
- {nonecap-0.8.2 → nonecap-0.8.3}/tests/test_client.py +1 -0
- {nonecap-0.8.2 → nonecap-0.8.3}/tests/typing_assertions.py +1 -0
- nonecap-0.8.2/src/nonecap/_version.py +0 -1
- {nonecap-0.8.2 → nonecap-0.8.3}/.github/workflows/ci.yml +0 -0
- {nonecap-0.8.2 → nonecap-0.8.3}/.gitignore +0 -0
- {nonecap-0.8.2 → nonecap-0.8.3}/LICENSE +0 -0
- {nonecap-0.8.2 → nonecap-0.8.3}/src/nonecap/__init__.py +0 -0
- {nonecap-0.8.2 → nonecap-0.8.3}/src/nonecap/_client.py +0 -0
- {nonecap-0.8.2 → nonecap-0.8.3}/src/nonecap/_errors.py +0 -0
- {nonecap-0.8.2 → nonecap-0.8.3}/src/nonecap/py.typed +0 -0
- {nonecap-0.8.2 → nonecap-0.8.3}/tests/__init__.py +0 -0
- {nonecap-0.8.2 → nonecap-0.8.3}/tests/conftest.py +0 -0
- {nonecap-0.8.2 → nonecap-0.8.3}/tests/test_async_client.py +0 -0
- {nonecap-0.8.2 → nonecap-0.8.3}/tests/test_feedback.py +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: nonecap
|
|
3
|
-
Version: 0.8.
|
|
4
|
-
Summary: Official Python client for the
|
|
5
|
-
Project-URL: Homepage, https://nonecap.com
|
|
3
|
+
Version: 0.8.3
|
|
4
|
+
Summary: Official Python client for NoneCap, the hCaptcha solver API.
|
|
5
|
+
Project-URL: Homepage, https://nonecap.com/
|
|
6
6
|
Project-URL: Documentation, https://nonecap.com/api-reference
|
|
7
7
|
Project-URL: Repository, https://github.com/nonecap/nonecap-py
|
|
8
8
|
Project-URL: Issues, https://github.com/nonecap/nonecap-py/issues
|
|
@@ -38,7 +38,7 @@ Description-Content-Type: text/markdown
|
|
|
38
38
|
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT"></a>
|
|
39
39
|
</p>
|
|
40
40
|
|
|
41
|
-
<p align="center">Official Python client for the <a href="https://nonecap.com">
|
|
41
|
+
<p align="center">Official Python client for the NoneCap <a href="https://nonecap.com/">hCaptcha solver</a> API.</p>
|
|
42
42
|
|
|
43
43
|
Submit a captcha, get back a token. The client handles the polling, the timeouts, and the error cases so you don't write the request loop yourself. Sync and async, fully typed.
|
|
44
44
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT"></a>
|
|
8
8
|
</p>
|
|
9
9
|
|
|
10
|
-
<p align="center">Official Python client for the <a href="https://nonecap.com">
|
|
10
|
+
<p align="center">Official Python client for the NoneCap <a href="https://nonecap.com/">hCaptcha solver</a> API.</p>
|
|
11
11
|
|
|
12
12
|
Submit a captcha, get back a token. The client handles the polling, the timeouts, and the error cases so you don't write the request loop yourself. Sync and async, fully typed.
|
|
13
13
|
|
|
@@ -5,7 +5,7 @@ build-backend = "hatchling.build"
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "nonecap"
|
|
7
7
|
dynamic = ["version"]
|
|
8
|
-
description = "Official Python client for the
|
|
8
|
+
description = "Official Python client for NoneCap, the hCaptcha solver API."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
11
11
|
license-files = ["LICENSE"]
|
|
@@ -35,7 +35,7 @@ classifiers = [
|
|
|
35
35
|
]
|
|
36
36
|
|
|
37
37
|
[project.urls]
|
|
38
|
-
Homepage = "https://nonecap.com"
|
|
38
|
+
Homepage = "https://nonecap.com/"
|
|
39
39
|
Documentation = "https://nonecap.com/api-reference"
|
|
40
40
|
Repository = "https://github.com/nonecap/nonecap-py"
|
|
41
41
|
Issues = "https://github.com/nonecap/nonecap-py/issues"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.8.3"
|
|
@@ -313,6 +313,7 @@ class TestErrorMapping:
|
|
|
313
313
|
("internal_error", "type_not_served", False),
|
|
314
314
|
("challenge_not_loaded", "recaptcha_not_loaded", False),
|
|
315
315
|
("token_not_granted", "refused_wording_unescaped", True),
|
|
316
|
+
("capacity_exhausted", "session_capped", True),
|
|
316
317
|
],
|
|
317
318
|
)
|
|
318
319
|
def test_uncharged_capacity_and_type_reasons_are_typed(
|
|
@@ -94,6 +94,7 @@ def egress_blocked_reasons() -> None:
|
|
|
94
94
|
_r5: SolveErrorReason = "browser_lane_capped"
|
|
95
95
|
_r6: SolveErrorReason = "recaptcha_not_loaded"
|
|
96
96
|
_r7: SolveErrorReason = "refused_wording_unescaped"
|
|
97
|
+
_r8: SolveErrorReason = "session_capped"
|
|
97
98
|
# A reason the API never defined must not type-check.
|
|
98
99
|
_bad: SolveErrorReason = "proxy_egress_blockd" # type: ignore[assignment]
|
|
99
100
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.8.2"
|
|
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
|