Conversation
Bare except: catches SystemExit and KeyboardInterrupt. (cherry picked from commit 8ccc0f2)
Resolve exact pages before a bounded suggestion fallback. Add configurable timeouts, typed transport failures and bounded retries; bind lazy properties to their originating language and bound module caches. Handle empty and malformed metadata, continuation and supported parsing responses consistently. Retain the legacy suite with isolated fixtures and add deterministic transport, page, cache, API contract and framework tests. The offline suite passes 143 tests; the optional LangChain tests run separately.
Add modern package metadata, CI, clean-install checks and opt-in live probes. Document behavior changes, installation from the development branch, configuration and limits; credit the earlier contributions incorporated or adapted in this work.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes incorrect page matches, hanging requests, and errors when loading page
data. Adds regression tests, wheels, and CI for Python 3.10–3.14.
Changes
256 entries each for five minutes and protect cached lists from mutation.
Compatibility
Python 3.10 is the new minimum. Existing function names and positional arguments
are preserved.
auto_suggest=Trueremains the default, but exact disambiguationpages now raise instead of being replaced by a suggestion.
Requests default to a 5-second connect timeout and a 15-second read timeout,
with at most two retries.
RequestErrorcovers HTTP/API failures;HTTPTimeoutErrorremains available. Missing lists return[]and absentcoordinates return
None.Tests
143 offline tests pass on Python 3.10–3.14 on macOS, including all 32 legacy
tests. Clean wheel/source installs and four LangChain integration tests pass.
Live checks passed on English, French and Japanese Wikipedia. Linux and Windows
results will be checked in CI.
Remaining work
This overlaps with Akber's packaging and HTTP PRs, listed below. Trusted
Publishing and Dependabot can be added on top. The remaining differences need
review before combining the changes.
Backlog
All 163 issues and 45 PRs open on September 28 are listed below. Related issues
are grouped. Some reports still need their original examples checked; this is
not a list of issues to close automatically.
45 pull requests
163 issues, grouped by problem