Repository navigation
Refresh Python 3.15 HTTP, URL and documentation libraries - #9193
youknowdot wants to merge 4 commits into
Conversation
Import the connected documentation and HTTP/URL library closure from CPython d220409a13b77de7a6c30abe16ea90db01528edc using scripts/update_lib. Preserve surviving RustPython test guards; the upstream-removed CGI test class has no remaining marker target. Assisted-by: OpenAI Codex:model version unavailable
Canonical Python 3.15 removed the target method; migrate with an empty marker override rather than retain an expected-failure call to a nonexistent super method. Assisted-by: OpenAI Codex:model version unavailable
Expose the existing source-directory predicate as sys._is_python_build and regenerate pinned pydoc with the explicit updater transform shared with the mega repair. Installed layouts and explicit basedir arguments retain upstream behavior. Assisted-by: OpenAI Codex:model version unavailable
The existing platform-neutral Lib and Cargo.toml predicate is needed by sys._is_python_build on all platforms; preserve its algorithm unchanged. Assisted-by: OpenAI Codex:model version unavailable
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
📦 Library DependenciesThe following Lib/ modules were modified. Here are their dependencies: :4: SyntaxWarning: invalid decimal literal dependencies:
dependent tests: (52 tests)
[ ] lib: cpython/Lib/urllib dependencies:
dependent tests: (101 tests)
[x] lib: cpython/Lib/webbrowser.py dependencies:
dependent tests: (7 tests)
[ ] lib: cpython/Lib/pydoc.py dependencies:
dependent tests: (5 tests)
[x] lib: cpython/Lib/pkgutil.py dependencies:
dependent tests: (10 tests)
[ ] lib: cpython/Lib/wsgiref dependencies:
dependent tests: (1 tests)
Legend:
|
Summary
Split the connected HTTP/URL/documentation closure from #8954 onto current main. Refresh 10 production modules from CPython 3.15 pin
d220409a13b77de7a6c30abe16ea90db01528edc:pydoc,pkgutil,webbrowser,http.client,http.server,http.cookiejar,http.cookies,urllib.parse,urllib.request, andwsgiref.simple_server, with their canonical tests and required pydoc data.The dependency chain is real: pydoc uses pkgutil/URL parsing/HTTP server/browser helpers; server and request use the HTTP client and URL parser; request uses cookiejar; wsgiref uses the HTTP server. Data and unchanged modules are not counted toward the production-module total.
Canonical production bytes are preserved except for one explicitly reviewed updater transformation in pydoc: Cargo source builds use
sys._stdlib_dirfor the default stdlib classification. Explicitbasedir, installed RustPython, and CPython behavior remain unchanged. The transformation requires the exact pinned source hash and exact file, and never refreshes unrelated dependencies. Its native prerequisite only exposes the existing platform-neutral source-directory predicate assys._is_python_buildand removes that predicate's Windows-only compilation guard.All live test guards are preserved. Two obsolete targets are removed with upstream deletion evidence: the entire removed CGI test class, and a wsgiref forwarder calling a nonexistent canonical parent method. No new skip or expected failure hides the pydoc regression.
Verification
Fresh locked/offline release build on Linux, with normal,
-E, and-Iimport provenance bound to this worktree. Full canonical pydoc now passes 118 tests and sysconfig passes 41, retaining existing platform/implementation markers. 296 updater tests and normal repository hooks pass.All 13 scoped canonical suites reran on the new binary (949 reported tests plus four separately rerun selectors). Existing getpath tests pass 5/5; workspace tests report 1,400 passed/18 ignored, CAPI tests 123 passed/4 ignored. Both workspace and CAPI strict all-target Clippy pass. Workspace/CAPI embedded tests created only new bytecode caches; exact additions were hash-verified and quarantined, then full source audits passed. No original source changed.
Default external-network resource gates remain disabled; HTTP/TLS loopback and browser mocks are exercised. The inherited proxy causes the same urllib/urllib2 failures on the unchanged CPython oracle; four exact malformed-URL/mocked redirect selectors are separately verified with only their child proxy environment normalized. They do not make external connections. Historical oracle results are labeled historical comparisons, not new paired runs. AF_UNIX/ptrace and external network suites remain outside this runner's scope. macOS/Windows compilation is left to CI; local cross-platform execution is not claimed.
AI assistance
OpenAI Codex assisted with source selection, updater implementation, dependency review, validation, and this PR description. Model version is unavailable. Commits include the required Assisted-by trailer.