feat(storage): Sync main and async branch by googlyrahman · Pull Request #1674 · googleapis/python-storage · GitHub
Skip to content
This repository was archived by the owner on Mar 31, 2026. It is now read-only.

feat(storage): Sync main and async branch#1674

Merged
googlyrahman merged 13 commits into
asyncfrom
main
Dec 19, 2025
Merged

feat(storage): Sync main and async branch#1674
googlyrahman merged 13 commits into
asyncfrom
main

Conversation

@googlyrahman

Copy link
Copy Markdown
Contributor

The PR sync the main and async branch.

chandra-siri and others added 11 commits December 9, 2025 13:32
…upload (#1654)

feat: send entire object checksum in the final api call of resumable
upload

fixes b/461994245

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
feat: Support urllib3 >= 2.6.0

**Context**:
* This library implements a custom decoders ( `_GzipDecoder` ,
`_BrotliDecoder` ) which inherit from `urllib3.response.ContentDecoder`
* Interface of `urllib3.response.ContentDecoder` was changed in
[2.6.0](https://urllib3.readthedocs.io/en/stable/changelog.html#id1) to
fix security vulnerability for highly compressed data reads.
(Decompression bombs)

Hence we need to change our interfaces as well. 

**Changes**
* Add `max_length` param on decompress method, provide default value of
-1 (same as urllib3's decompress)
* Provide backwards compatibility  ( ie urllib3 <= 2.5.0)
🤖 I have created a release *beep* *boop*
---


##
[3.7.0](v3.6.0...v3.7.0)
(2025-12-09)


### Features

* Auto enable mTLS when supported certificates are detected
([#1637](#1637))
([4e91c54](4e91c54))
* Send entire object checksum in the final api call of resumable upload
([#1654](#1654))
([ddce7e5](ddce7e5))
* Support urllib3 &gt;= 2.6.0
([#1658](#1658))
([57405e9](57405e9))


### Bug Fixes

* **bucket:** Move blob fails when the new blob name contains characters
that need to be url encoded
([#1605](#1605))
([ec470a2](ec470a2))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Chandra Shekhar Sirimala <chandrasiri@google.com>
chore: add gcs-fs as CODEOWNERS
fix: close write object stream always. 

otherwise Task will remain for long time until GC kills it and it'll
throw this `"Task was destroyed but it is pending!"`
…1636)

fix(experimental): no state lookup while opening bidi-write stream
This PR adds support for Python 3.14 to the library.

Key changes include:
- Updating `setup.py` to include the Python 3.14 classifier.
- Updating `testing/constraints-3.14.txt` to specify `grpcio >= 1.75.1`.
- Updating `noxfile.py` to include 3.14 sessions and set default to
3.14.
- Updating `.github/sync-repo-settings.yaml` to include 3.14 in required
checks.

Tests were run locally using the `python-multi` Docker image for Python
3.9 and 3.14. Some unit tests failed due to environment issues within
the container, but these are not expected to occur in the CI
environment.

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Anthonios Partheniou <partheniou@google.com>
…nt (#1668)

skip failing samples due to public access prevention enforcement. 

More Details on b/469643064
chore: add system test for cloud path
chore: add system 3.9 tests as required
feat: expose persisted size in MRD (MultiRangeReader)
@googlyrahman googlyrahman requested a review from a team as a code owner December 18, 2025 07:01
@googlyrahman googlyrahman requested review from a team and balajismaniam December 18, 2025 07:01
@product-auto-label product-auto-label Bot added the size: l Pull request size is large. label Dec 18, 2025
@product-auto-label product-auto-label Bot added the api: storage Issues related to the googleapis/python-storage API. label Dec 18, 2025
@gemini-code-assist

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request synchronizes the main and async branches, introducing a variety of changes. Key updates include dropping support for older Python versions while adding support for Python 3.14, updating dependencies, and enhancing CI configurations. A notable feature is the ability to send checksums with the final chunk of resumable uploads for improved data integrity. The experimental asyncio modules have also received several bug fixes and improvements. The tests have been updated accordingly to cover these changes. Overall, the changes are well-implemented and improve the library. I have one minor suggestion to fix a typo in a docstring.

:type read_ranges: List[Tuple[int, int, "BytesIO"]]
:param read_ranges: A list of tuples, where each tuple represents a
byte range (start_byte, bytes_to_read, writeable_buffer). Buffer has
combintaion of byte_range and writeable buffer in format -

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There's a typo in the docstring. combintaion should be combination.

Suggested change

@googlyrahman googlyrahman added kokoro:run Add this label to force Kokoro to re-run the tests. kokoro:force-run Add this label to force Kokoro to re-run the tests. labels Dec 18, 2025
@yoshi-kokoro yoshi-kokoro removed kokoro:run Add this label to force Kokoro to re-run the tests. kokoro:force-run Add this label to force Kokoro to re-run the tests. labels Dec 18, 2025
fix: add system test for opening with read_handle
@googlyrahman googlyrahman added kokoro:run Add this label to force Kokoro to re-run the tests. kokoro:force-run Add this label to force Kokoro to re-run the tests. labels Dec 19, 2025
@yoshi-kokoro yoshi-kokoro removed kokoro:run Add this label to force Kokoro to re-run the tests. kokoro:force-run Add this label to force Kokoro to re-run the tests. labels Dec 19, 2025
@googlyrahman googlyrahman enabled auto-merge (squash) December 19, 2025 07:13
@googlyrahman googlyrahman added kokoro:run Add this label to force Kokoro to re-run the tests. kokoro:force-run Add this label to force Kokoro to re-run the tests. labels Dec 19, 2025
@yoshi-kokoro yoshi-kokoro removed kokoro:run Add this label to force Kokoro to re-run the tests. kokoro:force-run Add this label to force Kokoro to re-run the tests. labels Dec 19, 2025
chore: Prevent OS Login key accumulation in e2e tests
@googlyrahman googlyrahman merged commit 096642f into async Dec 19, 2025
14 of 16 checks passed
googlyrahman added a commit to googlyrahman/python-storage that referenced this pull request Feb 5, 2026
The PR sync the main and async branch.

---------

Co-authored-by: Chandra Shekhar Sirimala <chandrasiri@google.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Chalmer Lowe <chalmerlowe@google.com>
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Anthonios Partheniou <partheniou@google.com>
googlyrahman added a commit to googlyrahman/python-storage that referenced this pull request Feb 19, 2026
The PR sync the main and async branch.

---------

Co-authored-by: Chandra Shekhar Sirimala <chandrasiri@google.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Chalmer Lowe <chalmerlowe@google.com>
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Anthonios Partheniou <partheniou@google.com>
googlyrahman added a commit to googlyrahman/python-storage that referenced this pull request Feb 19, 2026
The PR sync the main and async branch.

---------

Co-authored-by: Chandra Shekhar Sirimala <chandrasiri@google.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Chalmer Lowe <chalmerlowe@google.com>
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

api: storage Issues related to the googleapis/python-storage API. size: l Pull request size is large.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants