-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Adding _base64_crc32c function for storage integrity checks. #692
Conversation
It already handles that, via the following in its own try:
setup(**setup_dict)
except KeyboardInterrupt:
raise
except:
# If there are any compilation errors or there are no build tools available
# for the extension module, delete the extension module and try to install
# the pure Python version.
del setup_dict['ext_modules']
setup(**setup_dict) Note that |
D'oh! My bad for not checking. Great news though. RE: Python 3.3/3.4 support
I don't know if there is a formal way to "refresh" the package that is 4+ years old. |
f67d530
to
48e1e0a
Compare
Running the generator is not so helpful: One of the biggest perks is the |
import binascii | ||
try: | ||
import crcmod | ||
except ImportError: |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Because setup(
name='gcloud',
...
extras_require={
'storage_checksum': ['crcmod'],
}, It needs to be in |
@tseaver We need to determine what to do about Python 3 compatibility before moving too far forward. It seems relying on this library from PyPI is not possible in the current state. |
We could fork it to https://github.com/GoogleCloudPlatform/gcloud-python, I guess, and ensure that its tests support the versions we care about. |
@cmcqueen Do you have any contact with the maintainers of |
I have had contact in the past, though that was several years ago (I contributed some changes to |
Thanks for the quick reply! That would be great. We essentially just want to get Python 3.3. and Python 3.4 supported in the library without forking it. I don't know what happens to abandoned PyPI packages, but it seems something like |
I reached out today to Ray Buvel (the author) via the SourceForge message UI |
Thanks @tseaver. Maybe we could file an issue with https://github.com/pypa/pip or reach out to https://groups.google.com/forum/#!forum/pypa-dev (Python Packaging Authority). |
What is needed for 3.3 and 3.4 support? Do you mean just compile Windows binaries? I compiled the old ones I think, but only for 32-bit not 64-bit. (I wish the Python foundation provided a service to compile Windows binaries for Python packages, since it's difficult to get set up to compile them, for both 32-bit and 64-bit. It would be really helpful.) There is this unofficial repository of Python binary packages, including crcmod |
@cmcqueen Yes, we'd like to have Windows users able to use |
@tseaver Did you ever hear from Ray Buvel? |
@tseaver Did you ever hear from Ray Buvel? |
@dhermes Nope, crickets. |
Declaring bankruptcy on this PR, which is two years old and no activity for 18 months. |
@frankyn This is the ticket for our never-merged CRC32C support. |
Thank you @tseaver! |
So the open question is we need to define a package to use for crc32c checksum support? |
@frankyn Yes. |
@tseaver I have yet to do two things:
crcmod
as a dependency insetup.py
.crcmod
is compiled C code and it should be optional. Is there a way to asksetuptools
to try to install, but continue on if it fails?This is work towards #547. Picks up where #611 left off.
Some relevant snippets I used:
(ADDED 3/11/2015): https://github.com/GoogleCloudPlatform/gsutil/blob/748c9da8497816dbf9d2044dc25ff16ecf6494f0/gslib/copy_helper.py#L769
https://github.com/GoogleCloudPlatform/gsutil/blob/748c9da8497816dbf9d2044dc25ff16ecf6494f0/gslib/hashing_helper.py#L99-L116
https://github.com/GoogleCloudPlatform/gsutil/blob/748c9da8497816dbf9d2044dc25ff16ecf6494f0/gslib/copy_helper.py#L771
https://github.com/GoogleCloudPlatform/gsutil/blob/748c9da8497816dbf9d2044dc25ff16ecf6494f0/gslib/copy_helper.py#L778