Skip to content

Commit 4426ee6

Browse files
committed
build: move pygithub to release group to fix free-threaded wheel builds
pygithub pulls in cryptography via pyjwt[crypto]. cryptography 44.0.0 ships only abi3 wheels, which free-threaded interpreters cannot use, so uv builds it from sdist; its bundled PyO3 0.23.2 caps at Python 3.13 and fails on 3.14t. pygithub is only used by the manual release changelog script, so move it out of the dev group into a new release group. 'uv sync --dev' (used by CI test jobs) no longer drags in cryptography.
1 parent 87aff5d commit 4426ee6

3 files changed

Lines changed: 11 additions & 3 deletions

File tree

dev/release/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ We maintain a `CHANGELOG.md` so our users know what has been changed between rel
7575
The changelog is generated using a Python script:
7676

7777
```bash
78+
$ uv sync --group release
7879
$ GITHUB_TOKEN=<TOKEN> ./dev/release/generate-changelog.py 52.0.0 HEAD 53.0.0 > dev/changelog/53.0.0.md
7980
```
8081

pyproject.toml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,13 +202,18 @@ dev = [
202202
"numpy>=2.3.2;python_version>='3.14'",
203203
"pre-commit>=4.3.0",
204204
"pyarrow>=19.0.0",
205-
"pygithub==2.5.0",
206205
"pytest-asyncio>=0.23.3",
207206
"pytest>=7.4.4",
208207
"pyyaml>=6.0.3",
209208
"ruff>=0.15.1",
210209
"toml>=0.10.2",
211210
]
211+
# Release tooling only. Kept out of `dev` because pygithub pulls in
212+
# cryptography, which ships no free-threaded wheel and fails to build
213+
# from sdist under free-threaded interpreters (PyO3 < 3.14 support).
214+
release = [
215+
"pygithub==2.5.0",
216+
]
212217
docs = [
213218
"ipython>=8.12.3",
214219
"jinja2>=3.1.5",

uv.lock

Lines changed: 4 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)