Problem
RatelimitException is declared in ddgs/exceptions.py:8 but is never raised anywhere in the codebase. Rate-limit errors from search engines bubble up as generic DDGSException, so callers cannot catch rate-limit errors distinctly to trigger backoff/retry.
Steps
pip install ddgs==9.14.4
grep -rn RatelimitException ddgs/ in the installed package
Expected
At least one raise site (e.g. HTTP 429 in http_client.py, or a per-engine mapping) so users can except RatelimitException.
Actual
Only the class definition matches. Zero raise sites. Verified against main @ ddgs/exceptions.py:8, ddgs/http_client.py, and all ddgs/engines/*.py.
Environment
- OS: any
- Python: >=3.10 (per
pyproject.toml)
- ddgs: 9.14.4 (
ddgs/__init__.py:11)
Related closed issues about rate limiting: #290, #272, #101.
Thanks for maintaining deedy5/ddgs!
Problem
RatelimitExceptionis declared inddgs/exceptions.py:8but is never raised anywhere in the codebase. Rate-limit errors from search engines bubble up as genericDDGSException, so callers cannot catch rate-limit errors distinctly to trigger backoff/retry.Steps
pip install ddgs==9.14.4grep -rn RatelimitException ddgs/in the installed packageExpected
At least one raise site (e.g. HTTP 429 in
http_client.py, or a per-engine mapping) so users canexcept RatelimitException.Actual
Only the class definition matches. Zero raise sites. Verified against
main@ddgs/exceptions.py:8,ddgs/http_client.py, and allddgs/engines/*.py.Environment
pyproject.toml)ddgs/__init__.py:11)Related closed issues about rate limiting: #290, #272, #101.
Thanks for maintaining deedy5/ddgs!