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

Upgrade boto versions to support Python 3.12 and 3.13 #97

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

kroq-gar78
Copy link
Contributor

@kroq-gar78 kroq-gar78 commented Mar 7, 2025

This raises the boto3 and botocore version cap and fixes #95 . boto3>=1.36 may use some AWS-specific APIs that are not compatible with our S3 endpoint -- this may be an issue after Python 3.14. I also noticed that some versions of urllib=1.25.* , which were required by the previous boto version pins, are actually incompatible with the newer versions of botocore, though they are incorrectly marked as compatible.

This PR does not:

  • add the version requirements to setup.py , which I believe is where dependencies are read for wheels (please correct if I'm wrong)
  • force an upgrade of boto3 and botocore to newer versions (but it does for urllib3, which should be compatible with the previous boto versions)
    Neither should be hard to change.

Some tests still fail inconsistently because objects are not found after being uploaded, e.g.

FAILED cottoncandy/tests/test_roundtrip.py::test_dict2cloud[s3] - TypeError: unsupported operand type(s) for -: 'NoneType' and 'float'
FAILED cottoncandy/tests/test_roundtrip_big.py::test_upload_raw_array[s3] - botocore.exceptions.ClientError: An error occurred (404) when calling the HeadObject operation: Not Found

(I see #96 tries to fix this, though I haven't tried it here.) I'm not sure if these errors are worse with the newer boto/urllib versions, or if it's worse with our endpoint specifically, but Python 3.9 seems to be consistently ok.

Also requires an explicit lower bound for urllib3, since botocore allows
urllib3==1.25 but that fails for Python >= 3.12.
@kroq-gar78 kroq-gar78 changed the title Upgrade boto versions for Python >= 3.12 Upgrade boto versions to support Python >= 3.12 Mar 7, 2025
@kroq-gar78 kroq-gar78 changed the title Upgrade boto versions to support Python >= 3.12 Upgrade boto versions to support Python 3.12 and 3.13 Mar 8, 2025
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.

New versions of botocore required for python >= 3.12
1 participant