-
Notifications
You must be signed in to change notification settings - Fork 958
Description
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