Closed alexprengere closed 1 year ago
Yep, right now brotli installation fails with Python 3.11 and pip with default options.
It would be incredibly useful to provide abi3
wheels, which makes sure that no additional work is needed to support future Python releases: https://cibuildwheel.readthedocs.io/en/stable/faq/#abi3
Wheel installation will fix this deprecation on 3.11/pip23.1:
DEPRECATION: brotli is being installed using the legacy 'setup.py install' method,
because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1
will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option.
Discussion can be found at https://github.com/pypa/pip/issues/8559
DEPRECATION: brotli is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed.
incredibly useful to provide abi3 wheels
indeed, but last time I tried this a couple years ago abi3 wheels would only work for linux or macos, but not for windows. I don't know if anything changed since then, would be worth retrying.
note the brotli's wheels are built from this other repo https://github.com/google/brotli-wheels it's probably just a matter of adding 3.11 to the build matrix and cibuildwheel should do the rest. I'll take a look
Anecdata: We've successfully shipped abi3 wheels for Windows, Linux and macOS about a month ago. It looks like everything works pretty flawlessly nowadays. 🙌
Here's an example conversion for aioquic I did a week ago: https://github.com/aiortc/aioquic/compare/main...mhils:aioquic:abi3 (CI: https://github.com/mhils/aioquic/actions/runs/3406468326)
I think this was closed by mistake @eustas.
Agree. That was auto-close because of "fix #xxx" in description
I built the python 3.11 wheels in https://github.com/google/brotli-wheels/pull/15 and can upload them manually using twine to PyPI, like I did for 3.10 wheels a year ago. If @eustas cuts a new Brotli release, I can also update brotli-wheels repository to point to the latest git tag and new wheels can be built. Last tag was 2 years ago.
Regarding abi3 wheels I suggest you file a separate issue. I can't work on it right now, but found this interesting article https://blog.trailofbits.com/2022/11/15/python-wheels-abi-abi3audit/
I just uploaded the wheels for CPython 3.11 for linux, mac and windows at https://pypi.org/project/Brotli/1.0.9/#files so this can be closed
I confirm the wheels are up there, thanks!
As Python3.11 will be released later today, it would be truly great of 3.11 wheels could be added to the latest release.