Skip to content
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

Replace PyCrypto with PyCryptodome #91

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

kroq-gar78
Copy link

@kroq-gar78 kroq-gar78 commented Sep 21, 2024

Fixes #90 and allows installation for Python 3.11 and 3.12.

Not sure if any encryption-related functions are tested automatically.

@kroq-gar78 kroq-gar78 marked this pull request as draft September 21, 2024 23:15
@mvdoc
Copy link
Contributor

mvdoc commented Sep 23, 2024

Pinging @anwarnunez @candytaco : it looks like pycryptodome is a drop-in replacement of pycrypto with support of recent python versions.

@anwarnunez
Copy link
Contributor

anwarnunez commented Sep 24, 2024

Thanks for the pull request @kroq-gar78 and thanks for pinging @mvdoc .

@kroq-gar78 : Apologies for my fuzzy memory but yes as far as I recall encryption functionality is tested automatically with a series of upload/downloads. However, I'm not sure there is an explicit test to decrypt a pre-existing object.

I'm curious as to the level of backwards compatibility here. Does it mean that existing arrays encrypted with pycrypto will be seemlessly decrypted with pycryptodome? We need to (1) perform this test and ideally (2) incorporate it as a unitest in order to proceed.

@kroq-gar78 Are you able to perform (1) on your end?
@candytaco (2) would require storing a known array (e.g. np.arange()) in the test bucket that persists across CI runs, with the object name being tagged with pycrypto and python versions. The unitest can then glob those objects and download+decrypt them. Would you or someone in the lab be able to take that on? I no longer have credentials.

Another option is to remove support for encryption but I'm not sure how disruptive that would be. It's not great that pycrypto is preventing cottoncandy installs in Python 3.11+.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

pycrypto dependency breaks install on Python >= 3.11
3 participants