add support for memoryview objects #3107
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes boto/boto3#3423
I know it's been labeled needs-discussion, but I wanted to check if it really was as easy as just modifying a couple
isinstance
checks, and after trying it and seeing it really was just that I thought I might as well write up a PR for it.I've been working on piskvorky/smart_open#380 and it would save significant amounts of memory if it was possible to directly pass
memoryview
objects to botocore.I opted to modify all cases where I found
isinstance.*bytearray
in the code, even though boto/boto3#3423 only directly needs the modifications invalidate.py
andutils.py
afaik. But I see no reason not to accept it in all those places.I also noticed there was no test for
bytearray
+ httpchecksum, and the error message for type validation didn't includestr
despite theisinstance
line above accepting it, so quickly fixed those as well.