Skip to content

Bump pyo3 to 0.29.3 to fix wheel builds on PyPy 3.12 - #69

Merged
Marenz merged 1 commit into
frequenz-floss:v0.x.xfrom
Marenz:fix/pypy312-pyo3-bump
Nov 6, 2026
Merged

Marenz merged 1 commit into
frequenz-floss:v0.x.xfrom
Marenz:fix/pypy312-pyo3-bump

Conversation

@Marenz

@Marenz Marenz commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Same issue and fix as frequenz-microgrid-component-graph-python#127: the manylinux/musllinux build images now ship PyPy 3.12, which maturin's --find-interpreter picks up, and pyo3-ffi 0.29.0 fails to compile for it. pyo3-ffi 0.29.3 fixes it.

CI started failing on build-linux (aarch64) and build-musllinux
(aarch64) because the manylinux/musllinux build images now ship
PyPy 3.12. maturin's `--find-interpreter` picks it up automatically,
and pyo3-ffi 0.29.0 fails to compile for it:

    error[E0425]: cannot find type `c_int` in this scope
    error[E0425]: cannot find type `_PyInterpreterFrame` in this scope

In pyo3-ffi 0.29.0, `PyDict_ClearWatcher`/`Watch`/`Unwatch` and the
`PyUnstable_InterpreterFrame_*` functions are declared for any
`Py_3_12` target, but the `c_int` import and the `_PyInterpreterFrame`
type they need are only defined when not building for PyPy. PyPy 3.12
hits this mismatch and the crate fails to compile.

pyo3-ffi 0.29.3 fixes the cfg gating so both sides agree again. Our
code is unaffected; this is just a dependency bump to a newer patch
release. Same fix as frequenz-microgrid-component-graph-python#127.

Signed-off-by: Mathias L. Baumann <mathias.baumann@frequenz.com>
@Marenz
Marenz requested a review from a team as a code owner November 3, 2026 11:55
@Marenz
Marenz requested review from daniel-zullo-frequenz and removed request for a team November 3, 2026 11:55
@github-actions github-actions Bot added part:docs Affects the documentation part:tooling Affects the development tooling (CI, deployment, dependency management, etc.) labels Nov 3, 2026
@Marenz
Marenz enabled auto-merge November 3, 2026 12:41
@Marenz
Marenz added this pull request to the merge queue Nov 6, 2026
Merged via the queue into frequenz-floss:v0.x.x with commit 34bcea6 Nov 6, 2026
9 checks passed
@Marenz
Marenz deleted the fix/pypy312-pyo3-bump branch November 6, 2026 12:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

part:docs Affects the documentation part:tooling Affects the development tooling (CI, deployment, dependency management, etc.)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants