PyO3
pyo3
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
Merge remote-tracking branch 'origin/main' into heap-type-traverse
davidhewitt:heap-type-traverse
5 minutes ago
Merge remote-tracking branch 'origin/main' into pypy-gc-untrack
davidhewitt:pypy-gc-untrack
17 minutes ago
Merge remote-tracking branch 'origin/main' into relnotes-0.29.2
davidhewitt:relnotes-0.29.2
27 minutes ago
ci: fix ffi-check for backport of `Py_CompileStringFlags` symbol (#6302) * ci: fix ffi-check for backport of `Py_CompileStringFlags` symbol * always use latest Python versions
main
1 hour ago
always use latest Python versions
davidhewitt:fix-3.14.7
2 hours ago
add release notes for 0.29.2
davidhewitt:relnotes-0.29.2
3 hours ago
Add support for `__del__` (`tp_finalize`) in `#[pymethods]` `__del__` maps to the `Py_tp_finalize` slot through a SlotDef calling convention that validates the receiver: instance methods only, with no arguments besides an optional `Python<'_>`. PyO3's `tp_dealloc` calls `PyObject_CallFinalizerFromDealloc` before any teardown, mirroring CPython's `subtype_dealloc`: the finalizer runs at most once per instance for GC types (tracked by the GC "finalized" bit), may resurrect the object (in which case deallocation is aborted), and for GC types runs while the object is still GC-tracked. Errors raised in `__del__` (including panics) are reported as unraisable; any exception already set when the finalizer runs is saved and restored around the call, matching CPython's `slot_tp_finalize`. `PyObject_CallFinalizerFromDealloc` is only part of the limited API from Python 3.15, so `__del__` requires 3.15 or later when building with the `abi3` feature; the `finalizefunc` trampoline is always defined, but `#[pymethods]` emits a const assertion next to every `__del__` which fails compilation with a clear diagnostic on older abi3 builds.
messense:__del__
8 hours ago
add CI job for `no_std`
Person-93:no_std_ci
9 hours ago
Latest Branches
CodSpeed Performance Gauge
-1%
always implement `tp_traverse` to traverse type object
#6269
16 minutes ago
74d0abe
davidhewitt:heap-type-traverse
CodSpeed Performance Gauge
0%
define `PyObject_GC_Track` and `PyObject_GC_UnTrack` for PyPy
#6299
38 minutes ago
225f739
davidhewitt:pypy-gc-untrack
CodSpeed Performance Gauge
0%
add release notes for 0.29.2
#6301
40 minutes ago
066fe36
davidhewitt:relnotes-0.29.2
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs