Files
LEANN/check_pyzmq_wheels.py
Andy Lee 3c8d32f156 fix: prevent pyzmq compilation during tests
- Cap pyzmq version to <27 for manylinux2014 compatibility
- Pre-install pyzmq binary wheel before tests using CIBW_BEFORE_TEST
- Force pip to use only binary wheels with --only-binary :all:
2025-07-25 11:35:31 -07:00

42 lines
1.2 KiB
Python

#!/usr/bin/env python3
"""Check which pyzmq versions have manylinux2014 wheels available."""
import json
import urllib.request
def check_pyzmq_wheels():
url = "https://pypi.org/pypi/pyzmq/json"
with urllib.request.urlopen(url) as response:
data = json.loads(response.read())
versions_with_manylinux2014 = {}
for version, releases in data["releases"].items():
manylinux_wheels = []
for release in releases:
filename = release["filename"]
if "manylinux2014" in filename or "manylinux_2_17" in filename:
if "cp310" in filename: # Python 3.10
manylinux_wheels.append(filename)
if manylinux_wheels:
versions_with_manylinux2014[version] = manylinux_wheels
# Sort versions
from packaging.version import parse
sorted_versions = sorted(
versions_with_manylinux2014.keys(), key=parse, reverse=True
)
print("PyZMQ versions with manylinux2014 wheels for Python 3.10:")
for version in sorted_versions[:10]: # Show top 10
print(f" {version}")
for wheel in versions_with_manylinux2014[version]:
print(f" - {wheel}")
if __name__ == "__main__":
check_pyzmq_wheels()