Releases: googleapis/google-resumable-media-python
0.2.0
- Removed
google.resumable_media.exceptions
module (moved intogoogle.resumable_media.common
) (feed0a0) - Making sure we pass unicode to
json.loads()
rather thanbytes
. (#13)
PyPI: https://pypi.org/project/google-resumable-media/0.2.0/
Docs: https://googlecloudplatform.github.io/google-resumable-media-python/0.2.0/
0.1.1
-
Renamed
constants
module ascommon
-
Added
RetryStrategy
class so individual upload and download instances could have fine-grained control over how they attempt retries. -
Added non-public
_retry_strategy
attribute (e.g.) to all upload and download classes. For now, this cannot be modified via the public interface however, it can still be used, e.g.from google import resumable_media from google.resumable_media.requests import SimpleUpload upload_url = u'https://some-url.invald' upload = SimpleUpload(upload_url) upload._retry_strategy = resumable_media.RetryStrategy(max_retries=10)
PyPI: https://pypi.python.org/pypi/google-resumable-media/0.1.1
Docs: https://googlecloudplatform.github.io/google-resumable-media-python/0.1.1/
0.1.0
- Bumped minor version from
0.0.{micro}
to0.1.{micro}
- Bugfix: Actually passing
total_bytes
to the low-level_prepare*
method inrequests.ResumableUpload.initiate()
PyPI: https://pypi.python.org/pypi/google-resumable-media/0.1.0
Docs: https://googlecloudplatform.github.io/google-resumable-media-python/0.1.0/
0.0.5
- Adding optional
total_bytes
argument toResumableUpload.initiate()
. This can be used to explicitly declare the size of the upload. Until this release, the upload size was determined implicitly by callingstream.seek(0, os.SEEK_END)
(i.e. seeking until the end of the stream). - Adding optional
stream_final
arguments toResumableUpload.initiate()
. Whenstream_final=False
(andtotal_bytes
is unset), the upload will be started with an unknown size. This can occur, e.g. if the resource is generated on the fly, such as application logs. Such uploads are considered "finished" when thestream
is exhausted and at that point the upload will send a content range header indicating completion to the server.
This feature was mentioned in the initial release notes as:
- Support for resumable uploads with size unknown when
initiate()
-d
PyPI: https://pypi.python.org/pypi/google-resumable-media/0.0.5
Docs: https://googlecloudplatform.github.io/google-resumable-media-python/0.0.5/
0.0.4
- Re-organized implementation from
google.resumable_media
intogoogle.resumable_media.requests
. - This way, the subpackages
google.resumable_media.FOO
can explicitly support a given transport libraryFOO
. - Currently, the only one with explicit support is
requests
.
This re-org was mentioned in the initial release notes as:
Upload / download classes that explicitly support a particular transport
It's worth noting that the majority of the behavior has been moved into partially abstract classes in the non-public google.resumable_media._download
and google.resumable_media._upload
modules. This way, support for new transports can be added with little effort.
PyPI: https://pypi.python.org/pypi/google-resumable-media/0.0.4
Docs: https://googlecloudplatform.github.io/google-resumable-media-python/0.0.4/
0.0.3
Added automatic retries for any 429, 500, 502, 503 or 504 error responses.
The retry algorithm will sleep for 1, 2, 4, 8, 16, 32, 64, 64, ... seconds, doubling the wait time for each new failure until a maximum of 64 seconds is reached. (There will be some random jitter added to each sleep time to avoid server overload from multiple clients.) If 10 total minutes of wait time have accrued, there are no more attempts to retry.
This re-org was mentioned in the initial release notes as:
Automatic retries with exponential backoff for retry-able errors (429, 500, 502, 503, 504)
PyPI: https://pypi.python.org/pypi/google-resumable-media/0.0.3
Docs: https://googlecloudplatform.github.io/google-resumable-media-python/0.0.3/
0.0.2
Two changes have been added between releases
- Adding optional
headers
to all upload and download classes. These headers are sent in addition to the required headers for uploading, downloading and initiating requests - Adding
ChunkedDownload.invalid
and making download instances invalid on some failed calls toconsume_next_chunk
PyPI: https://pypi.python.org/pypi/google-resumable-media/0.0.2
Docs: https://googlecloudplatform.github.io/google-resumable-media-python/0.0.2/
0.0.1
Initial release. Five classes provided as core interface:
resumable_media.Download
resumable_media.ChunkedDownload
resumable_media.SimpleUpload
resumable_media.MultipartUpload
resumable_media.ResumableUpload
and a single exception type for failures:
Hop on the landing page for an overview of how to use each of the provided types.
Features missing from this release:
- Automatic retries with exponential backoff for retry-able errors (429, 500, 502, 503, 504)
- Upload / download classes that explicitly support a particular transport (e.g.
requests
) - Support for resumable uploads with size unknown when
initiate()
-d
PyPI: https://pypi.python.org/pypi/google-resumable-media/0.0.1
Docs: https://googlecloudplatform.github.io/google-resumable-media-python/0.0.1/