-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Publish Python 3.13 wheels on PyPI #178
Comments
Blocked by #149 |
@parthea how can I help get this done? |
We have a multi-cloud product and need this to support GCP with Python 3.12. The current situation is that Python 3.12 is supported on AWS, but not on GCP or Azure because of dependency issues. If there is anything I can do to help, please let me know. |
This is a blocking us from upgrading to Python 3.12. Any news on this issue would be most appreciated. Thanks! |
As a workaround you can build it manually in Docker using this instruction (+several hours for debugging 😀):
|
Not really a workaround when the request is specifically to avoid having to build from source 😉 |
I do appreciate you trying to offer a solution, but honestly this is a really bad developer experience. If it was just me I wouldn't mind, but our users are modellers, they install our library using pip and expect it to work. We can't start publishing instructions telling them to install Docker and build stuff from source, this is exactly the kind of pain we are trying to solve for them. Also the tools available in enterprise environments are normally hugely restricted, if Docker is even an option you probably have to raise a bunch of requests and go through an approval workflow which can take an unlimited amount of time, maybe you even need an entirely different machine and have to set up all your tools again. It's just not practical and our users won't do it. We will have to continue telling our users that GCP doesn't support Python 3.12 until the packages are available through the normal mechanism. This is what we need:
I hope this helps explain the context a little bit! In my field there are lots of people who want to use these tools but issues like this will stop them in their tracks. |
Gentle bump. Python 3.12 is now 6 months old. |
See #149 (comment) for ETA |
Could you conceivably make use of Python's limited API [1]? This would avoid having to rebuild wheels whenever a new version of Python is released. [1] https://docs.python.org/3/c-api/stable.html#limited-c-api |
Why is #149 a blocker? This appears to be affecting everyone attempting to use the Google Cloud SDK with Python 3.12, and should therefore be expedited, no? |
Thank you! |
To put some practical numbers on the message “significantly slower”, I ran a mini benchmark, checksumming 1MiB of data on both versions. Python 3.11, with extension:
Python 3.12, without extension:
It’s about ~500,000 times slower. Perhaps one could budget an extra 100ms for each Google API request. This degradation is not tolerable for the project I’m working on, so we’ll have to delay upgrading Python or workaround and compile ourselves. |
This bash command builds the wheels and drops them in the current directory: for arch in arm64 amd64
do docker run --rm -iv "$PWD":/host --platform=linux/$arch python:3.12 /bin/bash <<-"END"
set -ex
export PY_BIN="$(which python)"
git clone --recursive --depth 1 --branch v1.5.0 https://github.com/googleapis/python-crc32c
cd python-crc32c
pip install -r scripts/dev-requirements.txt
./scripts/local-linux/build_libcrc32c.sh
pip install --no-index --find-links=wheels google-crc32c
python ./scripts/check_crc32c_extension.py
python -c "from google_crc32c import *"
cp wheels/*.whl /host
END
done Based on #178 (comment) by @ADR-007 |
This work is in progress, we're having some build system issues on Windows and Apple Silicon. Hope to have an update soon. Thanks all. |
I couldn't solve it for my 3.12.* version, so I supressed the message as such: import warnings # before any from x
warnings.filterwarnings("ignore", category=RuntimeWarning, module="google_crc32c") # before any from x I added this on my |
@v-amorim note that doing that will just silence the warning but the real problem is the performance downgrade exemplified in #178 (comment). |
Python 3.13.0rc1 is ABI stable so publishing 3.13 wheels can also be done. |
This issue is a blocker for me, I can't deploy to AWS Lambda. |
It’s not closed. |
Hi, since the blocker #149 for this task is merged already, when can we expect the fix for this one, please? 🙏 Thank you. |
@ondrejdavidod, the normal release for Python 3.12 will be available today. For Python 3.13, we're still working on it. |
There's a PR that adds support for building cp313 wheels: #254 |
Is your feature request related to a problem? Please describe.
For now, installing python-crc32 with Python 3.12 is done by building from sources rather than just installing a wheel.
Describe the solution you'd like
Please publish Python 3.12 wheels.
Describe alternatives you've considered
Building from sources: this is slow & error prone.
Additional context
Python 3.12 will be released next week and has been ABI stable since rc1.
The text was updated successfully, but these errors were encountered: