Upgrade boto versions to support Python 3.12 and 3.13
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.
I think the tests should pass now. @kroq-gar78 can you please rebase main and force push to this PR to check?
Superseded by #108