GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Integrate remaining Python 3.15 final runtime and libraries by youknowdot · Pull Request #8954 · RustPython/RustPython

Conversation

@youknowdot

@youknowdot youknowdot commented Oct 3, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

Current rebase and Lib C API coverage follow-up (2026-10-31)

Current head: 6b2120fe1fcf63e9032b829f63f7c3de8bfcf015. Rebase commit 088a94d7feabebb246d772f29ddebc492337efec replays the aggregate remaining integration from ac6fbcf97bc92cdeed6f5776bcbacc40a7b29653 onto main b7e6e584f1c73b55a9a27790fd81e715a59e92bf. Historical sections below describe their named commits, not current-head validation. The upgrade remains in progress; this is not a complete CPython-compatibility claim.

The workflow-only follow-up separates canonical test_frame, test_inspect, and test_monitoring into a strict C API-enabled coverage cohort, matching normal CI's feature/environment configuration. The general coverage suite remains non-CAPI and excludes exactly those three modules. Default snippets, the existing general collection continue-on-error policy, and final coverage reporting are unchanged. Coverage artifacts are cleaned once before collection and retained across feature cohorts.

Validation of the new workflow: normal applicable commit hooks, actionlint 1.7.12, YAML configuration assertions, diff checks, and independent source review passed. Zizmor 1.31.1 SARIF scanning completed with the same five pre-existing permissions findings as the untouched baseline; this is not a warning-free scan. No local C API or coverage runtime was executed. For this exact head, normal correctness CI and Lib Dependencies completed successfully. Completed Linux/macOS/Windows logs show all three canonical C API modules passing. The strict instrumented C API cohort also passed: 538 tests run, 60 skipped, including TestFrameCApi.test_basic ... ok; all three modules reported success. The subsequent general non-CAPI coverage collection still aborted at the pre-existing xz-core overflow and returned exit 1 under its existing failure-tolerant policy. Coverage reporting completed afterward. Consequently the Periodic workflow success is not a full Python coverage-suite pass. These results validate the specific feature/cohort correction, not complete Python compatibility.

For the preceding exact head 088a94d7, normal correctness CI and Lib Dependencies passed. Normal CI executes the three C API modules separately with C API exports enabled. Periodic checks also reported success, but its tolerated full Python coverage step did not pass: test_lzma aborted in xz-core 0.1.0-rc.0 on subtraction overflow followed by a destructor panic. The same abort and test_int failures occur on the rebase-base main run. Those issues are not fixed by this workflow change. The prior separate canonical manager XML-RPC coverage regression did execute and pass. Old green status must not be treated as validation of this new head or of the complete coverage suite.

AI assistance: OpenAI Codex assisted with source diagnosis, this workflow change, and static review; the commit includes the assistance trailer. No interpreter behavior, dependency pins, or test assertions were changed by this follow-up.


Summary

Remaining Python 3.15 integration based on official CPython v3.15.0 (d220409a13b77de7a6c30abe16ea90db01528edc). This remains a broad integration draft, not a claim of complete compatibility. Meaningful runtime and library changes continue to be separated into focused PRs.

Main reconciliation and compiler reduction

Reconciliation commit: 1880d095ecc534c1000d344c0b98ddfe56307b7a. Validated source tree: 9a61a9a8f4a8bf1830af4c10db95e5acdd2392ca.

  • Integrate main df0d1b74c04408365f66666a03054d673dbccee7 on top of mega 0706c9bc463b9067d298b70448740704e64cab8c, preserving landed Implement PEP 798 comprehension unpacking #9342 comprehension unpacking/diagnostics, Fix Windows runtime compatibility issues #9406 Windows runtime compatibility, Preserve ctypes py_object provenance across casts and pointer writes #9391 ctypes provenance, Share ctypes backing-owner snapshots between aggregate copies #9392/Fix ctypes subclass bitfields and native type metadata #9395 ctypes ownership/type metadata, and Decide tp_new inheritance of static types at type initialization #9386 static tp_new inheritance.
  • Resolve the three compiler conflicts by preserving the cloned parser options required by Implement PEP 798 comprehension unpacking #9342. Keep the new unpacking-diagnostic ownership checks intact.
  • Remove the duplicate early lazy_future_import_error helper and its three call sites (64 lines). The existing main-owned unsupported_grammar_error already rejects lazy __future__ imports with the same ordinary message and four-byte lazy range. This deliberately restores main's error precedence and incomplete-interactive-input behavior; it is not claimed to be behavior-identical to the previous mega ordering.
  • Do not introduce a new parser rule, new vendoring, test assertion changes, duplicate snippets, or a tiny standalone cleanup PR.

The two other pre-existing compiler residuals remain unchanged: the vendored parser's concatenated-literal diagnostic range and the obsolete-comparison adapter associated with #9074. Their ownership and validation are separate from this cleanup.

Validation of previous reconciliation 1880d095

  • cargo check --locked --offline -j1 -p rustpython-compiler --lib --target x86_64-unknown-linux-gnu passed.
  • cargo clippy --locked --offline -j1 -p rustpython-compiler --lib --target x86_64-unknown-linux-gnu -- -D warnings passed.
  • Both ran with a fresh target and verified source, dependency, tool, native-library, and configuration inputs. The compiler and codegen source paths were confirmed; pre/post input verification and supervised process cleanup passed.
  • Compiler rustfmt and staged diff checks passed. Explicit affected-file conflict, Ruff format/check, redundant-test-patch, rustfmt and prettier hooks all passed without changing the validated tree. The normal commit hook also passed its applicable checks. Cspell alone was omitted for this commit under the maintainer’s explicit one-time exception because its npm bootstrap is blocked. Cspell has not passed; the exception does not extend to later commits.

These are focused compiler compile-only results, not a new CLI build, Python execution, full workspace/C-API test run, or all-platform CI result. #9342's green CI does not automatically validate mega's different parser composition. For exact commit 1880d095ecc534c1000d344c0b98ddfe56307b7a, correctness CI completed successfully with all 24 jobs, including Linux, macOS, Windows and WASI CPython jobs. Lib Dependencies also passed. These hosted results apply to this commit, not future unpublished changes. That prior head conflicted with newer main b25ab5e76b1f287e3599bd60a58b65abf167de7b; the appended reconciliation below resolves that source composition. The prior green run does not validate the new head or establish merge readiness.

Remaining scope and limits

The earlier 1880d095 reconciliation left the inherited vendor trees unchanged. The new update below removes XML vendoring after #9197 landed. The remaining Ruff parser vendor tree is unchanged and remains subject to existing ownership/architecture constraints; retaining it does not endorse new vendoring. Parser/AST/warning-producer residuals, C-API fixtures, interpreter lifecycle/GC changes and their existing ownership constraints remain separate work. No new full-suite, parser fuzz, lifecycle/GC stress, profiler, native-stack/thread or JIT runtime test was executed for this cleanup.

Previous validation belongs to its previously identified commits, not this composition. This PR stays draft while splitting and compatibility work continue. No merge or automatic merge is requested.

AI assistance

Source reconciliation, cleanup, independent review and automated validation were assisted by dot. The runtime does not expose its exact model version. Commit trailers disclose the assistance; no human-use verification is claimed.


Reconcile landed XML and remove unused mega scaffolding

Published source commit: 4914518a068987677abfa8e9d609414b1506820a; validated tree: fad1706539e0bc52e687d0b56a6756555417b4d5.

Normal merge of pinned main b25ab5e76b1f287e3599bd60a58b65abf167de7b into mega 1880d095ecc534c1000d344c0b98ddfe56307b7a, combined with the separately reviewed six-file monitoring/lazy-predicate cleanup. This reduces the existing mega branch; no duplicate XML PR is needed.

Landed XML reconciliation

  • Preserve all 14 XML library/test and Rust files exactly as merged in Align XML backend and canonical libraries with Python 3.15 #9197, including its 25 proven expected-failure retirements.
  • Delete the obsolete 39-file vendor/xml tree and its Cargo workspace/hook exclusions; retain unrelated parser-vendor configuration unchanged.
  • Use published xml 1.4.0 with the exact registry source and lock checksum from main.
  • Drop the vendor-specific amplification APIs and restore main's 10 amplification expectations, including inherited-test wrappers. These are the existing merged-main limitations, not new skips or changed assertions. Existing registry expansion limits remain unchanged.
  • Retain the landed limitations: namespace maps do not preserve redundant same-URI declarations or arbitrary declaration order; the reparse flag does not establish full Expat deferred-callback timing or buffered-WASM performance/security parity; external child feeding remains unsupported. The external-DTD canonical test proves resolver dispatch and the expected unsupported-scheme URLError, not successful external DTD parsing.

Monitoring/lazy-predicate cleanup

  • Remove the otherwise unused native monitoring adapter/version state and its private _testcapi monitoring fixture/registration.
  • Restore ordinary Python monitoring and sys wiring to pinned main. Remove only the later duplicate badsyntax predicate; retain the earlier unconditional exclusion and other short-circuit guards.
  • The removed adapter had no actual PyMonitoring C ABI exports. Canonical consumers remain under their existing whole-class skip; no canonical monitoring assertion or skip is changed. Unrelated _testcapi fixtures remain intact.

This deliberately removes monitoring-specific private fixture names in capi-enabled builds; it is not a universal API/behavior-equivalence claim or a native C monitoring test pass.

Validation boundaries

  • Independent source composition review: all 14 landed XML entries match main and all six earlier cleanup entries match reviewed tree da956ed18b6ae43fa6e8591bde1f874c3f36325f.
  • Focused locked/offline metadata resolution and fresh-target cargo check -p rustpython-stdlib --lib --no-default-features --features compiler,host_env,threading --target x86_64-unknown-linux-gnu passed on this combined tree (stdlib check: 535 seconds). Shared leases, resource bounds and full pre/post source/tool/cache closure checks passed.
  • Earlier derive-impl and capi-enabled VM checks passed on the separate six-file cleanup, not this combined tree. Align XML backend and canonical libraries with Python 3.15 #9197's successful CI was on its separate published head, not the combined mega candidate.
  • Configured merge-conflict and rustfmt checks passed; Ruff/patch checks reported no applicable files under normal merge selection. No hook altered the source.
  • No combined interpreter runtime tests, Clippy, C API runtime validation, or full-workspace success is claimed.
  • The normal Git commit ran all other configured hooks; cspell alone was omitted locally under the user’s new instruction to check it in CI. Earlier exceptions were not reused. For this 4914518a head, hosted Lint/cspell and Lib Dependencies passed; Linux production and CAPI canonical jobs and WASI passed. Remaining correctness jobs were still active/queued before the follow-up below. These results do not validate the newer follow-up head.

AI assistance: dot prepared source composition, migration provenance checks and bounded validation. Exact model version is not exposed.


Remove unnecessary ASDL assets and helper exposure

Follow-up commit: cc9f601182cad6054a5e57c111ba20ce7886c282; source tree: 39469209bdab4783a33e8bb4ecf40d22ec52d4f6.

This follow-up removes the mega-only Parser/Python.asdl, Parser/asdl.py, and accompanying README. They are CPython ASDL test assets, not inputs to RustPython's Rust parser, code generator or build. The only tracked loader is the canonical test_asdl_parser suite; its source-build guard, assertions and all other Lib files remain unchanged.

In the normal RustPython checkout/build configuration, sysconfig.is_python_build() finds no CPython Modules/Setup or Modules/Setup.local marker. The parent commit's Linux canonical CI already reported test_asdl_parser skipped -- test irrelevant for an installed Python while these assets were present. This is not an unconditional skip guarantee for unusual _PYTHON_PROJECT_BASE/sys._home overrides pointing at a foreign CPython source build.

The same cleanup restores make_generator_or_coro to main's private visibility. Its two actual tracked callers are in the same module; the three other mentions are comments. No generator implementation or Python behavior is changed.

Validation: exact four-path diff, unchanged Lib tree, helper file byte-identical to pinned main, complete tracked consumer search, staged diff checks and configured conflict/rustfmt checks passed. No new local interpreter runtime, full build or Clippy run was performed for this follow-up. The normal Git commit ran all other configured hooks successfully; local cspell alone was omitted under the user's instruction to use CI. For exact follow-up head cc9f601182cad6054a5e57c111ba20ce7886c282, correctness CI completed successfully, including Linux, macOS and Windows native canonical/CAPI jobs. Hosted Lint passed, with cspell verified in both hook stages, and Lib Dependencies passed. These hosted results apply to this exact head; they do not establish complete Python compatibility or remove the draft and validation limitations above.


Reconcile cross-interpreter fixture boundaries with #9408

Follow-up commit: dfdd8a5560c511424d720ad1391645bf549b936e; source tree: 77d0bbccedc9a106b7b9ec0cb72688259868387e.

This follow-up reuses the reviewed #9408 source at 90bb550c2d52a156627ae391ca8a48fdfdcafb14: vm/crossinterp.rs and its test_support.rs are byte-identical to that revision, and the matching capsule fixture block is carried into mega without changing its unrelated interpreter lifecycle or time fixtures.

  • Remove fixture-only Marshalled from production SharedValue, restore private from_function, and remove the fixture-only public pickle/marshal/script constructors. Preserve all serialization modes in a crate-private CrossinterpData bridge.
  • Keep capsule creation, cloning and destruction consistent with the relocated payload. Static whole-crate consumer review found no remaining calls to the removed public helpers; their only prior external consumers were the migrated fixture block.
  • Exactly three Rust files change (+86/-71); this reduces production API exposure, not total lines. No canonical Lib file, test assertion, interpreter lifecycle implementation, parser or main-owned change is modified. This is not a new duplicate PR or a wholesale main merge.

Validation: independent source integration review and staged whitespace checks passed. The normal commit ran configured hooks other than cspell successfully (conflict/rustfmt passed; other file types were inapplicable); local cspell is omitted under the user's instruction to verify it in CI. The environment reset removed the dependency/build cache, so no new local compile, Clippy or interpreter runtime result is claimed. Prior #9408 and mega CI belong to their respective heads and do not validate this new composition. For exact follow-up head dfdd8a5560c511424d720ad1391645bf549b936e, correctness CI completed successfully with all 24 jobs, including Linux, macOS and Windows production/CAPI canonical jobs. Hosted Lint passed, with cspell verified in both hook stages, and Lib Dependencies passed. These hosted results validate this exact head within the workflow coverage, not complete Python compatibility. The PR remains draft, with all earlier behavioral and validation limitations retained.


Drop nonessential codegen/VM refactor differences

Follow-up commit: cbb1ce4fd26bc0b5687174bdd1df2609fc0f9afa; source tree: d9b7b6ede1c27bb84b67c583a03a4b9dec3f43eb.

Restore four files byte-for-byte to pinned main 77046cf527fac8a1429683c1d6fe66a30e3f1be7: crates/codegen/src/compile.rs, crates/vm/src/import.rs, crates/vm/src/vm/mod.rs, and crates/vm/src/stdlib/_ast/python.rs. The first three contain only comment differences. The AST differences were a constructor return-style rewrite and reuse of an existing abstract-type list, not new compatibility behavior.

The existing abstract_types() helper and its real is_abstract consumer remain intact. AST registration explicitly binds the module's AST attribute to NodeAst before annotation initialization. Restoring main initializes the same base and twelve abstract types, with main's assignment order (AST.__annotations__ is assigned before _fields, _attributes and __match_args__, rather than afterward). This does not claim identical class-dictionary insertion order or every observable; it is normal-path source reasoning, not a new allocation-failure or runtime-equivalence test claim. Actual type-comment rejection metadata, parser/compiler behavior, cross-interpreter bridges, interpreter lifecycle, source-directory reporting, and all canonical Lib files remain untouched.

This removes four files from mega's diff against pinned main. The follow-up itself adds 20 and removes 5 lines; it reduces patch scope, not total source size. Independent source review, exact main-blob comparison and normal applicable commit hooks passed for this small restoration (conflict/rustfmt passed; other file types were inapplicable). No fresh local compile, Clippy or interpreter runtime was run; cspell is checked in CI under the user's instruction. Previous green results belong to dfdd8a556, not this new head. New-head correctness, Lib Dependencies and cspell CI are pending; draft status and previous limitations remain.


Reconcile the newly landed cross-interpreter split

Merge commit: 720ca7869188421c264f3da7f2a960ca674f6009; source tree: f84ee214d99e416e9a68b78c68a76aee27678daf.

#9408 landed as main 058bebf0f07be2508feed2470933990c9edb16c4 while the preceding cleanup was being published. GitHub's synthetic merge of cbb1ce4fd with that new main combined two equivalent import layouts and failed with Rust E0252 (CrossinterpData imported twice). This was a compile failure in the combined tree, not a test assertion failure or a reason to remove the fixture.

This normal main merge preserves the landed CSV and C API changes and all four preceding cleanup files. The only manual merge adjustment removes the duplicate grouped import, retaining the standalone import exactly as landed in #9408. Incoming canonical Lib changes are copied from main without manual edits. No test expectations, compiler/parser behavior or fixture functionality is removed.

Independent source review checks the natural merge plus the exact one-line resolution, incoming-main entries, and one remaining import. Normal applicable commit hooks passed (conflict/rustfmt; other file types were inapplicable under merge selection); local cspell is left to hosted CI as authorized. No new local compile/runtime pass is claimed. The preceding cbb1ce4fd workflow contains real compilation failures and must not be described as green; new-head correctness, Lib Dependencies and cspell CI remain pending. Draft status and earlier validation limits are retained.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@coderabbitai

coderabbitai Bot commented Oct 3, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

Share

  • X
  • Mastodon
  • Reddit
  • LinkedIn
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

youknowone
youknowone reviewed Oct 3, 2026
View reviewed changes
Comment thread extra_tests/snippets/builtin_compile_module.py

@youknowone youknowone Oct 3, 2026

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't add duplicated tests from Lib/test

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@youknowdot youknowdot Oct 9, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aligned this file with the complete snippet already merged in #8947 (43065e7). There is now no snippet diff against current main, and the merged coverage is preserved. The CPython 3.15.0 reference run and commit hooks passed; the mega branch native suite has not been rerun for this test-only alignment.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@youknowdot youknowdot changed the title Prepare Python 3.15 with the rc2 standard library and runtime prerequisites Prepare Python 3.15 with rc3 libraries and native prerequisites Oct 4, 2026
@youknowdot
youknowdot force-pushed the cpython-315-mega-integration branch from fb0f7b6 to 85d2fb9 Compare October 4, 2026 12:26
This was referenced Oct 4, 2026
CI: bound dependency comments and retain complete reports #8958
Draft
Use populated entries for unpickler MEMOIZE indexes #8959
Merged
Fix disabled stream identity and conditional annotation operand checks #8960
Merged
Fix ctypes function pointer casts on Python 3.14 #8965
Merged
@youknowdot
youknowdot force-pushed the cpython-315-mega-integration branch 2 times, most recently from 1aba241 to 16a2ef9 Compare October 5, 2026 01:42
@codspeed

codspeed Bot commented Oct 5, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

Merging this PR will degrade performance by 10.12%

❌ 1 regressed benchmark
✅ 61 untouched benchmarks
⏩ 4 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Benchmark BASE HEAD Efficiency
❌ rustpython[json_loads.py] 75.1 µs 83.5 µs -10.12%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing youknowdot:cpython-315-mega-integration (720ca78) with main (058bebf)

Open in CodSpeed

Footnotes

  1. 4 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@youknowdot
youknowdot force-pushed the cpython-315-mega-integration branch 6 times, most recently from 0d7489c to e14427a Compare October 8, 2026 10:08
This was referenced Oct 8, 2026
Fix os.closerange and immediate process exit #9006
Merged
Return EBADF for negative stat file descriptors #9008
Merged
Prevent ContextVar cache hits after Context address reuse #9009
Merged
_zoneinfo: reject empty quoted POSIX TZ abbreviations #9017
Merged
_json: skip items() for empty dict subclasses #9018
Merged
math.log: handle large integer bases and error order #9019
Merged
youknowone pushed a commit that referenced this pull request Oct 9, 2026
@youknowdot
Skip overridden items for empty dictionaries in JSON encoding (#9018)
48419bd
Split the Python 3.14-compatible empty native dictionary fast path from #8954. Extend the existing JSON snippet with root, nested, sorting, and nonempty subclass regression coverage.

Assisted-by: OpenAI Codex:model identifier unavailable
youknowone pushed a commit that referenced this pull request Oct 9, 2026
@youknowdot
Handle math.log bases without premature float conversion (#9019)
bd8fdb7
Use the natural logarithm path for both operands, evaluating x first. Preserve large integer bases and raise ZeroDivisionError for base one while retaining noninteger conversion errors.

Split the Python 3.14-compatible behavior from #8954 without its additional __index__ fallback or changes to log2 and log10.

Assisted-by: OpenAI Codex:model identifier unavailable
This was referenced Oct 9, 2026
csv: preserve dialect conversion errors and ordering #9020
Merged
select: validate and expand Windows descriptor capacity #9021
Merged
Preserve Windows time conversion error classes #9022
Merged
Test Windows signal wakeup socket error reporting #9023
Merged
Translate WASI signal dispositions through libc sentinels #9024
Merged
@youknowdot youknowdot mentioned this pull request Oct 23, 2026
Sync selected Python 3.15 core library tests and repr type errors #9321
Merged
@youknowdot
youknowdot force-pushed the cpython-315-mega-integration branch from 4a79418 to eb08f9c Compare October 24, 2026 03:53
This was referenced Oct 24, 2026
Align profiler bindings and capability checks with Python 3.15 #9340
Merged
Implement PEP 798 comprehension unpacking #9342
Merged
Align Python 3.15 bytecode tooling #9344
Merged
Restore canonical traceback Levenshtein coverage #9346
Merged
Handle full-width operands in the None-return scanner #9347
Merged
Add canonical sampling profiler CLI for offline replay #9358
Merged
Add canonical offline sampling profiler tests #9360
Merged
refactor: share PyTime conversions with time.sleep #9362
Merged
Update Python 3.15 test harness helpers and discovery #9364
Merged
Add canonical Python 3.15 sampling collector sources #9366
Merged
Add canonical Python 3.15 optional native integration sources #9368
Merged
Sync canonical Python 3.15 gated test sources and Lib metadata #9369
Merged
Add canonical cross-interpreter serialization tests and fixture bridges #9408
Merged
Fix source decoding diagnostics and normalize decoded newlines #9429
Merged
Preserve unpacked GenericAlias state during substitution #9467
Merged
@youknowdot
youknowdot force-pushed the cpython-315-mega-integration branch from ac6fbcf to 088a94d Compare October 31, 2026 00:03
This was referenced Oct 31, 2026
Restore profiling child monitor Lib files with child PID enumeration #9496
Merged
Restore canonical limited C API consumer tests #9501
Merged
@youknowdot
youknowdot force-pushed the cpython-315-mega-integration branch from 6b2120f to 8ae4466 Compare November 1, 2026 00:30
@youknowdot youknowdot mentioned this pull request Nov 3, 2026
Align select-family conversion and timeouts #9663
Closed
@youknowdot
youknowdot force-pushed the cpython-315-mega-integration branch 3 times, most recently from c294af7 to 1907791 Compare November 9, 2026 17:51
youknowdot and others added 4 commits November 11, 2026 00:01
@youknowdot
Reconcile remaining Python 3.15 integration with landed main
64bf35b
Replay the existing aggregate integration and strict C API coverage correction
onto main 42d2696. Preserve landed runtime
changes and automatic library reconciliation. Retain original Python filename
objects through grammar-warning and legacy-warning composition, adapting the
two aggregate-only compiler callers to the landed filename signature.

Independent source composition review and all configured applicable hooks
passed. Focused offline VM library check and strict threading-feature Clippy
passed on this source tree. Default non-threading strict Clippy still reports
the main-owned Arc<BufferWrite> non-Send/Sync lint in _ctypes/base.rs.
No fresh interpreter runtime or full-workspace result is claimed.

Assisted-by: OpenAI Codex:model version unavailable
@youknowdot
Preserve WTF-8 in C API type-name formatting fixture
a06786a
Adapt the aggregate-only alternate type-name formatter to the landed Wtf8Buf return type. Keep the existing module gates and replace only the verified separator without lossy conversion of the qualified-name suffix.

Validation: independent source review, configured hooks, offline VM check and strict Clippy with threading,capi passed. No new interpreter runtime or full-suite result is claimed.

Assisted-by: OpenAI Codex:model version unavailable
@codex @youknowdot
Rely on scope cleanup for redundant explicit drops
3fd23f0
Keep retained owners outside lock scopes and preserve callback-sensitive release ordering.

Assisted-by: OpenAI Codex:model version not exposed
@youknowdot
Preserve positional-only fatal_error message in Clinic binding
5d127b4
CPython 3.15 declares both fatal_error arguments positional-only. Mark the message explicitly so the strict FromArgs shape remains valid after rebasing.

Assisted-by: OpenAI Codex:version-unavailable
@youknowdot
youknowdot force-pushed the cpython-315-mega-integration branch from 1907791 to 5d127b4 Compare November 10, 2026 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@youknowone youknowone youknowone left review comments

At least 1 approving review is required to merge this pull request.

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@youknowdot @youknowone @codex
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.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.