Skip to content

Commit e67b71f

Browse files
authored
Merge pull request #163 from AndreiDrang/main
v1.1.1
2 parents 200f271 + 5cc21f8 commit e67b71f

16 files changed

Lines changed: 175 additions & 18 deletions

File tree

.github/workflows/build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ jobs:
2323
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
2424

2525
steps:
26-
- uses: actions/checkout@v4
26+
- uses: actions/checkout@v6
2727
- name: Set up Python ${{ matrix.python-version }}
28-
uses: actions/setup-python@v5
28+
uses: actions/setup-python@v6
2929
with:
3030
python-version: ${{ matrix.python-version }}
3131

.github/workflows/build_sphinx.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ jobs:
1414
runs-on: ubuntu-latest
1515

1616
steps:
17-
- uses: actions/checkout@v4
17+
- uses: actions/checkout@v6
1818
- name: Set up Python 3.11
19-
uses: actions/setup-python@v5
19+
uses: actions/setup-python@v6
2020
with:
2121
python-version: 3.11.6
2222

.github/workflows/install.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ jobs:
2323
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
2424

2525
steps:
26-
- uses: actions/checkout@v4
26+
- uses: actions/checkout@v6
2727
- name: Set up Python ${{ matrix.python-version }}
28-
uses: actions/setup-python@v5
28+
uses: actions/setup-python@v6
2929
with:
3030
python-version: ${{ matrix.python-version }}
3131

.github/workflows/lint.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ jobs:
2727
python-version: ["3.12"]
2828

2929
steps:
30-
- uses: actions/checkout@v4
30+
- uses: actions/checkout@v6
3131
- name: Set up Python ${{ matrix.python-version }}
32-
uses: actions/setup-python@v5
32+
uses: actions/setup-python@v6
3333
with:
3434
python-version: ${{ matrix.python-version }}
3535

.github/workflows/sphinx.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ jobs:
1414
runs-on: ubuntu-latest
1515

1616
steps:
17-
- uses: actions/checkout@v4
17+
- uses: actions/checkout@v6
1818
- name: Set up Python 3.11
19-
uses: actions/setup-python@v5
19+
uses: actions/setup-python@v6
2020
with:
2121
python-version: 3.11.6
2222

.github/workflows/test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ jobs:
3030
python-version: ["3.12"]
3131

3232
steps:
33-
- uses: actions/checkout@v4
33+
- uses: actions/checkout@v6
3434
- name: Set up Python ${{ matrix.python-version }}
35-
uses: actions/setup-python@v5
35+
uses: actions/setup-python@v6
3636
with:
3737
python-version: ${{ matrix.python-version }}
3838

AGENTS.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# PROJECT KNOWLEDGE BASE
2+
3+
**Generated:** 2026-01-13
4+
5+
## OVERVIEW
6+
Python 3.8+ library for Capsolver service API. Supports both synchronous (`requests`) and asynchronous (`aiohttp`) operations. Uses `msgspec` for high-performance JSON serialization.
7+
8+
## STRUCTURE
9+
```
10+
./
11+
├── src/python3_capsolver/ # Main library package
12+
│ ├── core/ # Base classes, serializers, instruments
13+
│ └── *.py # Service-specific implementations (ReCaptcha, Cloudflare, etc.)
14+
├── tests/ # Pytest suite
15+
└── docs/ # Sphinx documentation
16+
```
17+
18+
## WHERE TO LOOK
19+
| Task | Location | Notes |
20+
|------|----------|-------|
21+
| **Base Logic** | `src/python3_capsolver/core/` | `base.py`, `serializer.py`, `enum.py` |
22+
| **Service Implementations** | `src/python3_capsolver/*.py` | `recaptcha.py`, `cloudflare.py`, etc. |
23+
| **Tests** | `tests/` | Matches source structure |
24+
| **Configuration** | `pyproject.toml` | Build, dependency, tool config |
25+
26+
## CONVENTIONS
27+
- **Formatter**: `black` (line-length 120), `isort` (profile "black").
28+
- **Serialization**: `msgspec` preferred over `json` for performance.
29+
- **Concurrency**: Dual support (Sync/Async) required for all instruments.
30+
- **Retries**: `tenacity` library used for resilience.
31+
32+
## COMMANDS
33+
```bash
34+
make tests # Run test suite
35+
pip install . # Install package locally
36+
```
37+
38+
## NOTES
39+
- Dependencies: `requests`, `aiohttp`, `msgspec`, `tenacity`.
40+
- Requires `API_KEY` in environment for tests.
41+

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.PHONY: install remove refactor lint build upload tests doc
2+
13
install:
24
pip3 install -e .
35

docs/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
sphinx==8.2.3
1+
sphinx==9.1.0
22
pallets_sphinx_themes==2.3.0
33
myst-parser==4.0.1

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ classifiers = [
8686
dependencies = [
8787
"requests>=2.21.0",
8888
"aiohttp>=3.9.2",
89-
"msgspec>=0.18,<0.20",
89+
"msgspec>=0.18,<=0.21",
9090
"tenacity>=8,<10"
9191
]
9292

0 commit comments

Comments
 (0)