Bug Description
cargo build --workspace (and therefore cargo test --workspace / just test) fails to compile the cupcake-py crate when the default Python interpreter is 3.14, because pyo3-ffi 0.23.5 supports a maximum of Python 3.13:
error: failed to run custom build command for `pyo3-ffi v0.23.5`
...
error: the configured Python interpreter version (3.14) is newer than PyO3's maximum supported version (3.13)
= help: please check if an updated version of PyO3 is available. Current version: 0.23.5
= help: set PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 to suppress this check and build anyway using the stable ABI
This blocks the documented workspace build/test flow for any contributor whose system Python is 3.14.
Steps to Reproduce
- On a machine where
python3 is 3.14 (e.g. current Arch/CachyOS)
- From the repo root, run
cargo build --workspace (or just test)
- Build fails in
pyo3-ffi as above.
Expected Behavior
The workspace builds/tests on Python 3.14, or the documented test command does not depend on a cupcake-py build that breaks on it.
Actual Behavior
cargo build/test --workspace aborts during pyo3-ffi build script. cargo ... --workspace --exclude cupcake-py succeeds, and the CLI (cargo build -p cupcake-cli) is unaffected — only cupcake-py is impacted.
Harness
N/A (build/test tooling)
Cupcake Version
0.5.2
Operating System
Linux
OS Version
CachyOS (Arch-based), CPython 3.14
Additional Context
Possible fixes:
- Bump
pyo3/pyo3-ffi to a release that supports Python 3.14.
- Set
PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 (and/or enable pyo3's abi3 feature) in CI and .cargo/config.toml.
- Exclude
cupcake-py from the default just test recipe and document a separate bindings-test command.
🤖 Written by Claude Opus 4.8, authorized by @chozandrias76
Bug Description
cargo build --workspace(and thereforecargo test --workspace/just test) fails to compile thecupcake-pycrate when the default Python interpreter is 3.14, becausepyo3-ffi 0.23.5supports a maximum of Python 3.13:This blocks the documented workspace build/test flow for any contributor whose system Python is 3.14.
Steps to Reproduce
python3is 3.14 (e.g. current Arch/CachyOS)cargo build --workspace(orjust test)pyo3-ffias above.Expected Behavior
The workspace builds/tests on Python 3.14, or the documented test command does not depend on a
cupcake-pybuild that breaks on it.Actual Behavior
cargo build/test --workspaceaborts duringpyo3-ffibuild script.cargo ... --workspace --exclude cupcake-pysucceeds, and the CLI (cargo build -p cupcake-cli) is unaffected — onlycupcake-pyis impacted.Harness
N/A (build/test tooling)
Cupcake Version
0.5.2
Operating System
Linux
OS Version
CachyOS (Arch-based), CPython 3.14
Additional Context
Possible fixes:
pyo3/pyo3-ffito a release that supports Python 3.14.PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1(and/or enable pyo3'sabi3feature) in CI and.cargo/config.toml.cupcake-pyfrom the defaultjust testrecipe and document a separate bindings-test command.🤖 Written by Claude Opus 4.8, authorized by @chozandrias76