Fix hypothesis dependency on PyPy 3.9 and PyPy 3.10
Marco Ricci

Marco Ricci commited on 2026-08-23 12:56:29
Zeige 1 geänderte Dateien mit 6 Einfügungen und 0 Löschungen.


Because `hypothesis` requires a Rust toolchain for building 6.156 and
higher, and because this is not installable on PyPy 3.10 and lower, pin
`hypothesis` to 6.155.* and lower on PyPy 3.9 and 3.10.

This was already broken for quite some time, but cropped up again after
redoing the virtualenvs in commit
4fbfed4a4de887bd35f295863ea7548989024bf7.
... ...
@@ -88,6 +88,11 @@ dev = [
88 88
     # not marked as incompatible with Python 3.9.
89 89
     'pytest < 8.4 ; python_version < "3.10"',
90 90
     'hypothesis != 6.130.13, != 6.131.*, != 6.132.*, != 6.133.*, != 6.134.*, != 6.135.0, != 6.135.1 ; python_version < "3.10"',
91
+    # `hypothesis` requires a Rust toolchain since version 6.156, and
92
+    # publishes wheels for PyPy 3.11 only. PyO3 version 0.27 also dropped
93
+    # support for PyPy 3.9 and 3.10, and cannot be overridden within
94
+    # pyproject.toml.
95
+    'hypothesis < 6.156 ; platform_python_implementation == "PyPy" and python_version < "3.11"',
91 96
 ]
92 97
 export = [
93 98
     # export - additional dependencies for `derivepassphrase export`
... ...
@@ -390,6 +395,7 @@ dependencies = [
390 395
     'pytest-xdist[psutil] >= 3.6.0; platform_python_implementation != "PyPy"',
391 396
     'pytest < 8.4 ; python_version < "3.10"',
392 397
     'hypothesis != 6.130.13, != 6.131.*, != 6.132.*, != 6.133.*, != 6.134.*, != 6.135.0, != 6.135.1 ; python_version < "3.10"',
398
+    'hypothesis < 6.156 ; platform_python_implementation == "PyPy" and python_version < "3.11"',
393 399
 ]
394 400
 features = ["export", "export-dev-wheels"]
395 401
 matrix-name-format = '{variable}_{value}'
396 402