Skip to content

Releases: googleapis/google-resumable-media-python

0.1.0

03 May 21:35
Compare
Choose a tag to compare

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

02 May 17:54
Compare
Choose a tag to compare
  • Adding optional total_bytes argument to ResumableUpload.initiate(). This can be used to explicitly declare the size of the upload. Until this release, the upload size was determined implicitly by calling stream.seek(0, os.SEEK_END) (i.e. seeking until the end of the stream).
  • Adding optional stream_final arguments to ResumableUpload.initiate(). When stream_final=False (and total_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 the stream 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

28 Apr 21:57
Compare
Choose a tag to compare

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

24 Apr 22:55
Compare
Choose a tag to compare

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

24 Apr 14:52
Compare
Choose a tag to compare

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 to consume_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

21 Apr 19:26
Compare
Choose a tag to compare

Initial release. Five classes provided as core interface:

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/