Skip to content

dependency resolution failing with python 3.14 and coincurve 21.0.0 #8591

@endothermicdev

Description

@endothermicdev

Python 3.14.0 was just released. Also 16f4f27 recently updated coincurve to 21.0.0. This combination breaks our CI because uv defaults to python 3.14, and coincurve 21.0.0 fails to install under python 3.14 due to a cffi dependency that has since been addressed in coincurve, but is not yet available in a release.

[2025-10-09 14:48:48,175] DEBUG: Using CPython 3.14.0
[2025-10-09 14:48:48,176] DEBUG: Creating virtual environment at: .venv
[2025-10-09 14:48:48,176] DEBUG: Activate with: source .venv/bin/activate
[2025-10-09 14:48:50,406] DEBUG: Resolved 11 packages in 85ms
[2025-10-09 14:48:50,406] DEBUG:    Building coincurve==21.0.0
[2025-10-09 14:48:50,406] DEBUG:   × Failed to build `coincurve==21.0.0`
[2025-10-09 14:48:50,407] DEBUG:   ├─▶ The build backend returned an error
[2025-10-09 14:48:50,410] DEBUG:   ╰─▶ Call to `hatchling.build.build_wheel` failed (exit status: 1)
[2025-10-09 14:48:50,410] DEBUG: 
[2025-10-09 14:48:50,410] DEBUG:       [stderr]
[2025-10-09 14:48:50,411] DEBUG:       Traceback (most recent call last):
[2025-10-09 14:48:50,411] DEBUG:         File "<string>", line 11, in <module>
[2025-10-09 14:48:50,411] DEBUG:           wheel_filename =
[2025-10-09 14:48:50,411] DEBUG:       backend.build_wheel("/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmpNUYJwr",
[2025-10-09 14:48:50,411] DEBUG:       {}, None)
[2025-10-09 14:48:50,411] DEBUG:         File
[2025-10-09 14:48:50,411] DEBUG:       "/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmprSEpgm/lib/python3.14/site-packages/hatchling/build.py",
[2025-10-09 14:48:50,411] DEBUG:       line 58, in build_wheel
[2025-10-09 14:48:50,411] DEBUG:           return os.path.basename(next(builder.build(directory=wheel_directory,
[2025-10-09 14:48:50,411] DEBUG:       versions=['standard'])))
[2025-10-09 14:48:50,411] DEBUG:       
[2025-10-09 14:48:50,411] DEBUG:       ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2025-10-09 14:48:50,411] DEBUG:         File
[2025-10-09 14:48:50,411] DEBUG:       "/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmprSEpgm/lib/python3.14/site-packages/hatchling/builders/plugin/interface.py",
[2025-10-09 14:48:50,411] DEBUG:       line 147, in build
[2025-10-09 14:48:50,411] DEBUG:           build_hook.initialize(version, build_data)
[2025-10-09 14:48:50,411] DEBUG:           ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
[2025-10-09 14:48:50,411] DEBUG:         File
[2025-10-09 14:48:50,411] DEBUG:       "/home/runner/work/_temp/setup-uv-cache/sdists-v9/pypi/coincurve/21.0.0/4aa4gAxTNXZcS1G5utAt4/src/hatch_build.py",
[2025-10-09 14:48:50,411] DEBUG:       line 34, in initialize
[2025-10-09 14:48:50,411] DEBUG:           raise RuntimeError(message)
[2025-10-09 14:48:50,411] DEBUG:       RuntimeError: Expected exactly one LICENSE file in cffi distribution,
[2025-10-09 14:48:50,411] DEBUG:       got 0
[2025-10-09 14:48:50,411] DEBUG: 
[2025-10-09 14:48:50,411] DEBUG:       hint: This usually indicates a problem with the package or the build
[2025-10-09 14:48:50,411] DEBUG:       environment.
[2025-10-09 14:48:50,411] DEBUG:   help: `coincurve` (v21.0.0) was included because `pyln-client` (v25.9)
[2025-10-09 14:48:50,411] DEBUG:         depends on `pyln-proto` (v25.9) which depends on `coincurve`
[2025-10-09 14:48:50,411] ERROR: Failed to install virtual environment

Downgrading to coincurve v20.0.0 also fails due to incompatibility with python 3.9, 3.9.1. How do we feel about increasing the minimum python version from 3.9 to 3.9.2 so that we can (at least temporarily) downgrade back to coincurve 20.0.0? That would allow running the latest python 3.14.0. Alternatively we can restrain the upper bound of python to <3.14 (in which case dependencies seem to resolve for older versions), or wait for the next coincurve release.

reported by @nepet

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions