[python] `uv sync` fails using a Python 3.14 interpreter
Nobody has claimed this yet.
- Dominant language
- SystemVerilog
- Stars
- 3.6k
- Forks
- 1.1k
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 141
Description
### Description
To reproduce, make sure the `requires-python` in `pyproject.toml` supports 3.14, and make sure you are using python e.g. 3.14.2 with UV (>= 3.14 seems to be needed), and then run:
```sh
uv venv
source .venv/bin/activate
uv sync
```
This then failed for me with the following (shortened) log:
```
Resolved 100 packages in 0.53ms
× Failed to build `libcst==1.7.0`
├─▶ The build backend returned an error
╰─▶ Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit status: 1)
[stdout]
running bdist_wheel
running build
running build_py
...
--- stderr
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
warning: build failed, waiting for other jobs to finish...
error: `cargo rustc --lib --message-format=json-render-diagnostics --manifest-path native/libcst/Cargo.toml --release -v --features pyo3/extension-module --crate-type cdylib --` failed with code 101
hint: This usually indicates a problem with the package or the build environment.
help: `libcst` (v1.7.0) was included because `opentitan` (v0.0.0) depends on `libcst`
```
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the failure with the stated Python 3.14, uv venv, and uv sync commands. Then inspect pyproject.toml and the libcst build referenced through native/libcst/Cargo.toml, including the PyO3 0.23.5 error; done means uv sync completes successfully on the supported Python 3.14 setup.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, rust
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100