-
Notifications
You must be signed in to change notification settings - Fork 0
Description
While working on #19 I noticed that the CI pipeline was failing when running the tests on Python 3.14:
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.22.6
= help: set PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 to suppress this
check and build anyway using the stable ABI
warning: build failed, waiting for other jobs to finish...
💥 maturin failed
Caused by: Failed to build a native library through cargo
Caused by: Cargo build finished with "exit status:
101": `env -u CARGO PYO3_BUILD_EXTENSION_MODULE="1"
PYO3_ENVIRONMENT_SIGNATURE="cpython-3.14-64bit"
PYO3_PYTHON="/home/runner/.cache/uv/builds-v0/.tmpIn6GiK/bin/python"
PYTHON_SYS_EXECUTABLE="/home/runner/.cache/uv/builds-v0/.tmpIn6GiK/bin/python"
"cargo" "rustc" "--profile" "release" "--features"
"pyo3/extension-module" "--message-format"
"json-render-diagnostics" "--manifest-path"
"/home/runner/.cache/uv/sdists-v9/pypi/pydantic-core/2.27.2/MVUu0U7C8ptPjWYcBVT9j/src/Cargo.toml"
"--lib" "--crate-type" "cdylib"`
Error: command ['maturin', 'pep517', 'build-wheel', '-i',
'/home/runner/.cache/uv/builds-v0/.tmpIn6GiK/bin/python',
'--compatibility', 'off'] returned non-zero exit status 1
hint: This usually indicates a problem with the package or the build
environment.
help: `pydantic-core` (v2.27.2) was included because `hla-algorithm` depends
on `pydantic` (v2.10.6) which depends on `pydantic-core`
(see https://github.com/cfe-lab/hla_algorithm/actions/runs/20493301332/job/58889157314 for the full log).
The issue appeared to be that the pinned version of Pydantic needed to be upgraded; however, when I upgraded Pydantic on my home development system (an ARM-based Mac), the tests ran but failed, with the failure coming from what seems to be Pydantic. The tests do run without issues on my office machine (an Intel-based Mac), suggesting that the ARM version of either Python 3.14 or Pydantic 2.12.5 are the issue.
In the meantime, we'll restrict the package to require Python 3.11, 3.12, or 3.13, and leave Pydantic at 2.10. In the future, we may be able to hammer this out.