| route-pattern | /_view_fragments/voltron/pull_requests/show/:user_id/:repository/:id/pull_request_layout(.:format) |
| route-controller | voltron_pull_requests_fragments |
| route-action | pull_request_layout |
| fetch-nonce | v2:72f05add-fdf3-c160-4221-d00840f372dc |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | A380:D9FFD:818020:B2D352:6A4F3F7D |
| html-safe-nonce | d98b23fac58b65a0f87880b87388c12513ff271e7f8fc19a07f81547412facdd |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBMzgwOkQ5RkZEOjgxODAyMDpCMkQzNTI6NkE0RjNGN0QiLCJ2aXNpdG9yX2lkIjoiNjcwODA2MjcyMjc3OTQ2MzU0OSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 18c1592fcfe2f1ae32dac1aaf5d3210aa3869c7f6dbc19a97410a2e74f511b47 |
| hovercard-subject-tag | pull_request:3480819143 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | ///voltron/pull_requests_fragments/pull_request_layout |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/voltron/pull_requests/show/googleapis/google-cloud-python/16528/pull_request_layout |
| twitter:image | https://opengraph.githubassets.com/eb3240dd509d6a478b38c52337fea86a2a37431ea019a0f1e12fa3db44f980c5/googleapis/google-cloud-python/pull/16528 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/eb3240dd509d6a478b38c52337fea86a2a37431ea019a0f1e12fa3db44f980c5/googleapis/google-cloud-python/pull/16528 |
| og:image:alt | This PR implements AsyncMultiRangeDownloader with a new _StreamMultiplexer, enabling multiple concurrent range downloads to share a single bidirectional gRPC stream.
Before vs. After
Feature
Bef... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | zhixiangli |
| hostname | github.com |
| expected-hostname | github.com |
| None | b92d11c0aa4a77d54ef4af1078b6a15fb5a70a215b30c4ecf28889d5a8e656d9 |
| turbo-cache-control | no-cache |
| go-import | github.com/googleapis/google-cloud-python git https://github.com/googleapis/google-cloud-python.git |
| octolytics-dimension-user_id | 16785467 |
| octolytics-dimension-user_login | googleapis |
| octolytics-dimension-repository_id | 16316451 |
| octolytics-dimension-repository_nwo | googleapis/google-cloud-python |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 16316451 |
| octolytics-dimension-repository_network_root_nwo | googleapis/google-cloud-python |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | bd7117b1c6ffeee7d2cef27314e02d57ec87c011 |
| ui-target | canary-1 |
| theme-color | #1e2327 |
| color-scheme | light dark |
| Skip to content | https://github.com/googleapis/google-cloud-python/pull/16528#start-of-content |
|
| https://github.com/ |
|
Sign in
| https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgoogleapis%2Fgoogle-cloud-python%2Fpull%2F16528 |
| GitHub CopilotWrite better code with AI | https://github.com/features/copilot |
| GitHub Copilot appDirect agents from issue to merge | https://github.com/features/ai/github-app |
| MCP RegistryNewIntegrate external tools | https://github.com/mcp |
| ActionsAutomate any workflow | https://github.com/features/actions |
| CodespacesInstant dev environments | https://github.com/features/codespaces |
| IssuesPlan and track work | https://github.com/features/issues |
| Code ReviewManage code changes | https://github.com/features/code-review |
| GitHub Advanced SecurityFind and fix vulnerabilities | https://github.com/security/advanced-security |
| Code securitySecure your code as you build | https://github.com/security/advanced-security/code-security |
| Secret protectionStop leaks before they start | https://github.com/security/advanced-security/secret-protection |
| Why GitHub | https://github.com/why-github |
| Documentation | https://docs.github.com |
| Blog | https://github.blog |
| Changelog | https://github.blog/changelog |
| Marketplace | https://github.com/marketplace |
| View all features | https://github.com/features |
| Enterprises | https://github.com/enterprise |
| Small and medium teams | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| App Modernization | https://github.com/solutions/use-case/app-modernization |
| DevSecOps | https://github.com/solutions/use-case/devsecops |
| DevOps | https://github.com/solutions/use-case/devops |
| CI/CD | https://github.com/solutions/use-case/ci-cd |
| View all use cases | https://github.com/solutions/use-case |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| View all industries | https://github.com/solutions/industry |
| View all solutions | https://github.com/solutions |
| AI | https://github.com/resources/articles?topic=ai |
| Software Development | https://github.com/resources/articles?topic=software-development |
| DevOps | https://github.com/resources/articles?topic=devops |
| Security | https://github.com/resources/articles?topic=security |
| View all topics | https://github.com/resources/articles |
| Customer stories | https://github.com/customer-stories |
| Events & webinars | https://github.com/resources/events |
| Ebooks & reports | https://github.com/resources/whitepapers |
| Business insights | https://github.com/solutions/executive-insights |
| GitHub Skills | https://skills.github.com |
| Documentation | https://docs.github.com |
| Customer support | https://support.github.com |
| Community forum | https://github.com/orgs/community/discussions |
| Trust center | https://github.com/trust-center |
| Partners | https://github.com/partners |
| View all resources | https://github.com/resources |
| GitHub SponsorsFund open source developers | https://github.com/open-source/sponsors |
| Security Lab | https://securitylab.github.com |
| Maintainer Community | https://maintainers.github.com |
| Accelerator | https://github.com/open-source/accelerator |
| GitHub Stars | https://stars.github.com |
| Archive Program | https://archiveprogram.github.com |
| Topics | https://github.com/topics |
| Trending | https://github.com/trending |
| Collections | https://github.com/collections |
| Enterprise platformAI-powered developer platform | https://github.com/enterprise |
| GitHub Advanced SecurityEnterprise-grade security features | https://github.com/security/advanced-security |
| Copilot for BusinessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/enterprise/premium-support |
| Pricing | https://github.com/pricing |
| Search syntax tips | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
| documentation | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
|
Sign in
| https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgoogleapis%2Fgoogle-cloud-python%2Fpull%2F16528 |
|
Sign up
| https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fpull_requests_fragments%2Fpull_request_layout&source=header-repo&source_repo=googleapis%2Fgoogle-cloud-python |
| Reload | https://github.com/googleapis/google-cloud-python/pull/16528 |
| Reload | https://github.com/googleapis/google-cloud-python/pull/16528 |
| Reload | https://github.com/googleapis/google-cloud-python/pull/16528 |
| Please reload this page | https://github.com/googleapis/google-cloud-python/pull/16528 |
|
googleapis
| https://github.com/googleapis |
| google-cloud-python | https://github.com/googleapis/google-cloud-python |
|
Notifications
| https://github.com/login?return_to=%2Fgoogleapis%2Fgoogle-cloud-python |
|
Fork
1.7k
| https://github.com/login?return_to=%2Fgoogleapis%2Fgoogle-cloud-python |
|
Star
5.3k
| https://github.com/login?return_to=%2Fgoogleapis%2Fgoogle-cloud-python |
|
Code
| https://github.com/googleapis/google-cloud-python |
|
Issues
442
| https://github.com/googleapis/google-cloud-python/issues |
|
Pull requests
141
| https://github.com/googleapis/google-cloud-python/pulls |
|
Discussions
| https://github.com/googleapis/google-cloud-python/discussions |
|
Actions
| https://github.com/googleapis/google-cloud-python/actions |
|
Projects
| https://github.com/googleapis/google-cloud-python/projects |
|
Security and quality
0
| https://github.com/googleapis/google-cloud-python/security |
|
Insights
| https://github.com/googleapis/google-cloud-python/pulse |
|
Code
| https://github.com/googleapis/google-cloud-python |
|
Issues
| https://github.com/googleapis/google-cloud-python/issues |
|
Pull requests
| https://github.com/googleapis/google-cloud-python/pulls |
|
Discussions
| https://github.com/googleapis/google-cloud-python/discussions |
|
Actions
| https://github.com/googleapis/google-cloud-python/actions |
|
Projects
| https://github.com/googleapis/google-cloud-python/projects |
|
Security and quality
| https://github.com/googleapis/google-cloud-python/security |
|
Insights
| https://github.com/googleapis/google-cloud-python/pulse |
| zhixiangli | https://github.com/zhixiangli |
| googleapis:main | https://github.com/googleapis/google-cloud-python/tree/main |
| zhixiangli:zhixiangli/multiplexing-downloader | https://github.com/zhixiangli/google-cloud-python/tree/zhixiangli/multiplexing-downloader |
| Conversation | https://github.com/googleapis/google-cloud-python/pull/16528 |
| Commits18 (18) | https://github.com/googleapis/google-cloud-python/pull/16528/commits |
| Checks | https://github.com/googleapis/google-cloud-python/pull/16528/checks |
| Files changed | https://github.com/googleapis/google-cloud-python/pull/16528/files |
| feat: implement AsyncMultiRangeDownloader with multiplexed bidi-gRPC stream support | https://github.com/googleapis/google-cloud-python/pull/16528#top |
| zhixiangli | https://github.com/zhixiangli |
| googleapis:main | https://github.com/googleapis/google-cloud-python/tree/main |
| zhixiangli:zhixiangli/multiplexing-downloader | https://github.com/zhixiangli/google-cloud-python/tree/zhixiangli/multiplexing-downloader |
|
| https://github.com/zhixiangli |
| zhixiangli | https://github.com/zhixiangli |
| Apr 2, 2026 | https://github.com/googleapis/google-cloud-python/pull/16528#issue-4192374615 |
| Please reload this page | https://github.com/googleapis/google-cloud-python/pull/16528 |
| Please reload this page | https://github.com/googleapis/google-cloud-python/pull/16528 |
| https://github.com/zhixiangli |
| zhixiangli | https://github.com/zhixiangli |
| code owners | https://github.com/googleapis/google-cloud-python/blob/2e508b6b008df77e886ce83f8f5ac3fd8fbe4ff7/.github/CODEOWNERS#L5 |
| April 2, 2026 07:22 | https://github.com/googleapis/google-cloud-python/pull/16528#event-24138402367 |
| https://github.com/apps/gemini-code-assist |
| gemini-code-assist | https://github.com/apps/gemini-code-assist |
|
Apr 2, 2026
| https://github.com/googleapis/google-cloud-python/pull/16528#pullrequestreview-4048856077 |
|
View reviewed changes
| https://github.com/googleapis/google-cloud-python/pull/16528/files |
| gemini-code-assist | https://github.com/apps/gemini-code-assist |
| https://github.com/googleapis/google-cloud-python/pull/16528#pullrequestreview-4048856077 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://github.com/googleapis/google-cloud-python/pull/16528 |
| packages/google-cloud-storage/google/cloud/storage/asyncio/_stream_multiplexer.py | https://github.com/googleapis/google-cloud-python/pull/16528/files#diff-88a91d202b38d24ce73e2c5466acbd7606ba9e54196be641952d2f518a5dc723 |
| Please reload this page | https://github.com/googleapis/google-cloud-python/pull/16528 |
| packages/google-cloud-storage/google/cloud/storage/asyncio/_stream_multiplexer.py | https://github.com/googleapis/google-cloud-python/pull/16528/files#diff-88a91d202b38d24ce73e2c5466acbd7606ba9e54196be641952d2f518a5dc723 |
| Please reload this page | https://github.com/googleapis/google-cloud-python/pull/16528 |
| packages/google-cloud-storage/google/cloud/storage/asyncio/_stream_multiplexer.py | https://github.com/googleapis/google-cloud-python/pull/16528/files#diff-88a91d202b38d24ce73e2c5466acbd7606ba9e54196be641952d2f518a5dc723 |
| Please reload this page | https://github.com/googleapis/google-cloud-python/pull/16528 |
| https://github.com/zhixiangli |
| zhixiangli | https://github.com/zhixiangli |
| Apr 2, 2026 | https://github.com/googleapis/google-cloud-python/pull/16528#event-24139926231 |
| https://github.com/zhixiangli |
| zhixiangli | https://github.com/zhixiangli |
| force-pushed | https://github.com/googleapis/google-cloud-python/compare/acfab40ceaa771a1d45e4c76ed4e7c03c6ec67c7..aed86822931b00e0c9880da8bd7433d13755cbd0 |
| acfab40 | https://github.com/googleapis/google-cloud-python/commit/acfab40ceaa771a1d45e4c76ed4e7c03c6ec67c7 |
| aed8682 | https://github.com/googleapis/google-cloud-python/commit/aed86822931b00e0c9880da8bd7433d13755cbd0 |
|
Compare
| https://github.com/googleapis/google-cloud-python/compare/acfab40ceaa771a1d45e4c76ed4e7c03c6ec67c7..aed86822931b00e0c9880da8bd7433d13755cbd0 |
| April 2, 2026 09:47 | https://github.com/googleapis/google-cloud-python/pull/16528#event-24142439139 |
| https://github.com/chandra-siri |
| chandra-siri | https://github.com/chandra-siri |
|
Apr 7, 2026
| https://github.com/googleapis/google-cloud-python/pull/16528#pullrequestreview-4062362680 |
|
View reviewed changes
| https://github.com/googleapis/google-cloud-python/pull/16528/files |
| packages/google-cloud-storage/tests/system/test_zonal.py | https://github.com/googleapis/google-cloud-python/pull/16528/files#diff-6180f62504d71981ae94cbac92db6b480b0722df3d55a8413007149572a863c5 |
| Please reload this page | https://github.com/googleapis/google-cloud-python/pull/16528 |
| packages/google-cloud-storage/google/cloud/storage/asyncio/_stream_multiplexer.py | https://github.com/googleapis/google-cloud-python/pull/16528/files#diff-88a91d202b38d24ce73e2c5466acbd7606ba9e54196be641952d2f518a5dc723 |
| Please reload this page | https://github.com/googleapis/google-cloud-python/pull/16528 |
| packages/google-cloud-storage/google/cloud/storage/asyncio/_stream_multiplexer.py | https://github.com/googleapis/google-cloud-python/pull/16528/files#diff-88a91d202b38d24ce73e2c5466acbd7606ba9e54196be641952d2f518a5dc723 |
| Please reload this page | https://github.com/googleapis/google-cloud-python/pull/16528 |
| packages/google-cloud-storage/google/cloud/storage/asyncio/async_multi_range_downloader.py | https://github.com/googleapis/google-cloud-python/pull/16528/files#diff-d2f11c6378ec32fa878c4e8a82ebe742af5398c7095a70f31723790be7c5d15a |
| Please reload this page | https://github.com/googleapis/google-cloud-python/pull/16528 |
| packages/google-cloud-storage/google/cloud/storage/asyncio/async_multi_range_downloader.py | https://github.com/googleapis/google-cloud-python/pull/16528/files#diff-d2f11c6378ec32fa878c4e8a82ebe742af5398c7095a70f31723790be7c5d15a |
| Please reload this page | https://github.com/googleapis/google-cloud-python/pull/16528 |
| packages/google-cloud-storage/tests/unit/asyncio/test_async_multi_range_downloader.py | https://github.com/googleapis/google-cloud-python/pull/16528/files#diff-021f5541d0f06ddbb354b3eb92486c58364a8c861896997bb07808ba0214da55 |
| Please reload this page | https://github.com/googleapis/google-cloud-python/pull/16528 |
| packages/google-cloud-storage/tests/unit/asyncio/test_async_multi_range_downloader.py | https://github.com/googleapis/google-cloud-python/pull/16528/files#diff-021f5541d0f06ddbb354b3eb92486c58364a8c861896997bb07808ba0214da55 |
| Please reload this page | https://github.com/googleapis/google-cloud-python/pull/16528 |
| packages/google-cloud-storage/tests/unit/asyncio/test_async_multi_range_downloader.py | https://github.com/googleapis/google-cloud-python/pull/16528/files#diff-021f5541d0f06ddbb354b3eb92486c58364a8c861896997bb07808ba0214da55 |
| Please reload this page | https://github.com/googleapis/google-cloud-python/pull/16528 |
| packages/google-cloud-storage/tests/unit/asyncio/test_stream_multiplexer.py | https://github.com/googleapis/google-cloud-python/pull/16528/files#diff-89141c197e980de7630538584573c5baf5e34a01f885faaeb4ada3c6619be458 |
| Please reload this page | https://github.com/googleapis/google-cloud-python/pull/16528 |
| packages/google-cloud-storage/tests/unit/asyncio/test_stream_multiplexer.py | https://github.com/googleapis/google-cloud-python/pull/16528/files#diff-89141c197e980de7630538584573c5baf5e34a01f885faaeb4ada3c6619be458 |
| Please reload this page | https://github.com/googleapis/google-cloud-python/pull/16528 |
| https://github.com/chandra-siri |
| chandra-siri | https://github.com/chandra-siri |
| Apr 7, 2026 | https://github.com/googleapis/google-cloud-python/pull/16528#event-24256172998 |
| https://github.com/zhixiangli |
| zhixiangli | https://github.com/zhixiangli |
|
Apr 8, 2026
| https://github.com/googleapis/google-cloud-python/pull/16528#ref-pullrequest-4185070265 |
|
perf: add multiplexing performance tests for AsyncMultiRangeDownloader
#16501
| https://github.com/googleapis/google-cloud-python/pull/16501 |
| https://github.com/zhixiangli |
| zhixiangli | https://github.com/zhixiangli |
| force-pushed | https://github.com/googleapis/google-cloud-python/compare/122d9348ce88cd0d83fadb832dd3ddad0b1035c2..bae3a00d2f447c833687dc619b3d6dfad3e8b61f |
| 122d934 | https://github.com/googleapis/google-cloud-python/commit/122d9348ce88cd0d83fadb832dd3ddad0b1035c2 |
| bae3a00 | https://github.com/googleapis/google-cloud-python/commit/bae3a00d2f447c833687dc619b3d6dfad3e8b61f |
|
Compare
| https://github.com/googleapis/google-cloud-python/compare/122d9348ce88cd0d83fadb832dd3ddad0b1035c2..bae3a00d2f447c833687dc619b3d6dfad3e8b61f |
| April 8, 2026 04:33 | https://github.com/googleapis/google-cloud-python/pull/16528#event-24282140875 |
| https://github.com/chandra-siri |
| chandra-siri | https://github.com/chandra-siri |
|
Apr 8, 2026
| https://github.com/googleapis/google-cloud-python/pull/16528#pullrequestreview-4075107227 |
|
View reviewed changes
| https://github.com/googleapis/google-cloud-python/pull/16528/files |
| packages/google-cloud-storage/google/cloud/storage/asyncio/_stream_multiplexer.py | https://github.com/googleapis/google-cloud-python/pull/16528/files#diff-88a91d202b38d24ce73e2c5466acbd7606ba9e54196be641952d2f518a5dc723 |
| Please reload this page | https://github.com/googleapis/google-cloud-python/pull/16528 |
| packages/google-cloud-storage/tests/unit/asyncio/test_async_multi_range_downloader.py | https://github.com/googleapis/google-cloud-python/pull/16528/files#diff-021f5541d0f06ddbb354b3eb92486c58364a8c861896997bb07808ba0214da55 |
| Please reload this page | https://github.com/googleapis/google-cloud-python/pull/16528 |
| packages/google-cloud-storage/tests/unit/asyncio/test_async_multi_range_downloader.py | https://github.com/googleapis/google-cloud-python/pull/16528/files#diff-021f5541d0f06ddbb354b3eb92486c58364a8c861896997bb07808ba0214da55 |
| Please reload this page | https://github.com/googleapis/google-cloud-python/pull/16528 |
| packages/google-cloud-storage/google/cloud/storage/asyncio/_stream_multiplexer.py | https://github.com/googleapis/google-cloud-python/pull/16528/files#diff-88a91d202b38d24ce73e2c5466acbd7606ba9e54196be641952d2f518a5dc723 |
| Please reload this page | https://github.com/googleapis/google-cloud-python/pull/16528 |
| https://github.com/chandra-siri |
| chandra-siri | https://github.com/chandra-siri |
|
Apr 9, 2026
| https://github.com/googleapis/google-cloud-python/pull/16528#pullrequestreview-4080407299 |
|
View reviewed changes
| https://github.com/googleapis/google-cloud-python/pull/16528/files |
| https://github.com/zhixiangli |
| zhixiangli | https://github.com/zhixiangli |
| force-pushed | https://github.com/googleapis/google-cloud-python/compare/579f45fe842c54819e19693c9a448ba9886afde4..1f0b50b1c8d99e0a243ee0cc39a76e74dacb25f9 |
| 579f45f | https://github.com/googleapis/google-cloud-python/commit/579f45fe842c54819e19693c9a448ba9886afde4 |
| 1f0b50b | https://github.com/googleapis/google-cloud-python/commit/1f0b50b1c8d99e0a243ee0cc39a76e74dacb25f9 |
|
Compare
| https://github.com/googleapis/google-cloud-python/compare/579f45fe842c54819e19693c9a448ba9886afde4..1f0b50b1c8d99e0a243ee0cc39a76e74dacb25f9 |
| April 9, 2026 11:17 | https://github.com/googleapis/google-cloud-python/pull/16528#event-24333229700 |
| zhixiangli | https://github.com/zhixiangli |
| April 10, 2026 01:09 | https://github.com/googleapis/google-cloud-python/pull/16528#commits-pushed-56b8d93 |
|
| https://github.com/zhixiangli |
| feat: add _StreamMultiplexer for asyncio bidi-gRPC streams | https://github.com/googleapis/google-cloud-python/pull/16528/commits/56b8d932f59c08335e78513c200d3c8a5097ae12 |
| 56b8d93 | https://github.com/googleapis/google-cloud-python/pull/16528/commits/56b8d932f59c08335e78513c200d3c8a5097ae12 |
|
| https://github.com/zhixiangli |
| feat: integrate _StreamMultiplexer into AsyncMultiRangeDownloader | https://github.com/googleapis/google-cloud-python/pull/16528/commits/bac705ad3716351d2d85e24e792e7595d8f6140f |
| bac705a | https://github.com/googleapis/google-cloud-python/pull/16528/commits/bac705ad3716351d2d85e24e792e7595d8f6140f |
|
| https://github.com/zhixiangli |
| test: add system tests for concurrent AsyncMultiRangeDownloader | https://github.com/googleapis/google-cloud-python/pull/16528/commits/2c442918fa3ea453114e3213d595e2cdc9d10c9a |
| 2c44291 | https://github.com/googleapis/google-cloud-python/pull/16528/commits/2c442918fa3ea453114e3213d595e2cdc9d10c9a |
|
| https://github.com/zhixiangli |
| test: use grpc_client_direct in AsyncMultiRangeDownloader system tests | https://github.com/googleapis/google-cloud-python/pull/16528/commits/d6c9bfee1c809950f55e3bfca9409ad157e75865 |
| d6c9bfe | https://github.com/googleapis/google-cloud-python/pull/16528/commits/d6c9bfee1c809950f55e3bfca9409ad157e75865 |
|
| https://github.com/zhixiangli |
| feat: rename _DEFAULT_PUT_TIMEOUT to _DEFAULT_PUT_TIMEOUT_SECONDS in … | https://github.com/googleapis/google-cloud-python/pull/16528/commits/f2fb305f78197d66993a89e1fbafa90ac552cb8f |
| f2fb305 | https://github.com/googleapis/google-cloud-python/pull/16528/commits/f2fb305f78197d66993a89e1fbafa90ac552cb8f |
|
| https://github.com/zhixiangli |
| chore: update copyright year to 2026 | https://github.com/googleapis/google-cloud-python/pull/16528/commits/f949b67e1aa90192f8505f34162632925f467039 |
| f949b67 | https://github.com/googleapis/google-cloud-python/pull/16528/commits/f949b67e1aa90192f8505f34162632925f467039 |
|
| https://github.com/zhixiangli |
| feat: rename my_generation to stream_generation in async_multi_range_… | https://github.com/googleapis/google-cloud-python/pull/16528/commits/83a98f47ccb17c1ee5ec59724c99621aa8a3e213 |
| 83a98f4 | https://github.com/googleapis/google-cloud-python/pull/16528/commits/83a98f47ccb17c1ee5ec59724c99621aa8a3e213 |
|
| https://github.com/zhixiangli |
| test: parametrize test_mrd_concurrent_download for different chunk sizes | https://github.com/googleapis/google-cloud-python/pull/16528/commits/1092bacf9a67d7425dcff94c26de50424102bffe |
| 1092bac | https://github.com/googleapis/google-cloud-python/pull/16528/commits/1092bacf9a67d7425dcff94c26de50424102bffe |
|
| https://github.com/zhixiangli |
| chore: format tests/unit/asyncio/test_async_multi_range_downloader.py | https://github.com/googleapis/google-cloud-python/pull/16528/commits/18487414a5ed489a4c720809c94cc1c05866a327 |
| 1848741 | https://github.com/googleapis/google-cloud-python/pull/16528/commits/18487414a5ed489a4c720809c94cc1c05866a327 |
|
| https://github.com/zhixiangli |
| chore: format _stream_multiplexer.py and test_zonal.py | https://github.com/googleapis/google-cloud-python/pull/16528/commits/9d010308fea6ddf181867b47d6cb2f72719a3ebd |
| 9d01030 | https://github.com/googleapis/google-cloud-python/pull/16528/commits/9d010308fea6ddf181867b47d6cb2f72719a3ebd |
|
| https://github.com/zhixiangli |
| test: add Given/When/Then comments and cleanup test_stream_multiplexe… | https://github.com/googleapis/google-cloud-python/pull/16528/commits/6fe889244ac3d3abc90a99c98cd33b5e29d98d36 |
| 6fe8892 | https://github.com/googleapis/google-cloud-python/pull/16528/commits/6fe889244ac3d3abc90a99c98cd33b5e29d98d36 |
|
| https://github.com/zhixiangli |
| test: cleanup redundant mock setups in test_async_multi_range_downloa… | https://github.com/googleapis/google-cloud-python/pull/16528/commits/18c321e67d5c188203c77df5cd2a718ad5c4f42a |
| 18c321e | https://github.com/googleapis/google-cloud-python/pull/16528/commits/18c321e67d5c188203c77df5cd2a718ad5c4f42a |
|
| https://github.com/zhixiangli |
| chore: add logging to _stream_multiplexer.py recv loop failure | https://github.com/googleapis/google-cloud-python/pull/16528/commits/236ef04a91acbf1f48e006a2a09a905d033c2a0a |
| 236ef04 | https://github.com/googleapis/google-cloud-python/pull/16528/commits/236ef04a91acbf1f48e006a2a09a905d033c2a0a |
|
| https://github.com/zhixiangli |
| test: add more assertions to AsyncMultiRangeDownloader creation test | https://github.com/googleapis/google-cloud-python/pull/16528/commits/311c0539487a3db1bc8df0f57d0a8663fbc95a48 |
| 311c053 | https://github.com/googleapis/google-cloud-python/pull/16528/commits/311c0539487a3db1bc8df0f57d0a8663fbc95a48 |
| zhixiangli | https://github.com/zhixiangli |
| April 10, 2026 01:09 | https://github.com/googleapis/google-cloud-python/pull/16528#commits-pushed-cde5c20 |
|
| https://github.com/zhixiangli |
| test: refactor test_async_multi_range_downloader.py with Arrange/Act/… | https://github.com/googleapis/google-cloud-python/pull/16528/commits/cde5c207de5d5e01a6b89a0387249a4c504504c1 |
| cde5c20 | https://github.com/googleapis/google-cloud-python/pull/16528/commits/cde5c207de5d5e01a6b89a0387249a4c504504c1 |
|
| https://github.com/zhixiangli |
| test: refactor test_mrd_concurrent_download_out_of_bounds in test_zon… | https://github.com/googleapis/google-cloud-python/pull/16528/commits/eabf700cd59ecd6d00c6ae0a9f26076274383ab9 |
| eabf700 | https://github.com/googleapis/google-cloud-python/pull/16528/commits/eabf700cd59ecd6d00c6ae0a9f26076274383ab9 |
|
| https://github.com/zhixiangli |
| fix: update stream end condition to use grpc.aio.EOF in _stream_multi… | https://github.com/googleapis/google-cloud-python/pull/16528/commits/80914905a8069adc92643bacde17bc51766f10f1 |
| 8091490 | https://github.com/googleapis/google-cloud-python/pull/16528/commits/80914905a8069adc92643bacde17bc51766f10f1 |
|
| https://github.com/zhixiangli |
| fix: log warning for unregistered read_id in stream multiplexer | https://github.com/googleapis/google-cloud-python/pull/16528/commits/d7b3f5445a7d732a6bcd0d825fe84b828594f4f9 |
| d7b3f54 | https://github.com/googleapis/google-cloud-python/pull/16528/commits/d7b3f5445a7d732a6bcd0d825fe84b828594f4f9 |
| https://github.com/zhixiangli |
| zhixiangli | https://github.com/zhixiangli |
| force-pushed | https://github.com/googleapis/google-cloud-python/compare/1f0b50b1c8d99e0a243ee0cc39a76e74dacb25f9..d7b3f5445a7d732a6bcd0d825fe84b828594f4f9 |
| 1f0b50b | https://github.com/googleapis/google-cloud-python/commit/1f0b50b1c8d99e0a243ee0cc39a76e74dacb25f9 |
| d7b3f54 | https://github.com/googleapis/google-cloud-python/commit/d7b3f5445a7d732a6bcd0d825fe84b828594f4f9 |
|
Compare
| https://github.com/googleapis/google-cloud-python/compare/1f0b50b1c8d99e0a243ee0cc39a76e74dacb25f9..d7b3f5445a7d732a6bcd0d825fe84b828594f4f9 |
| April 10, 2026 01:09 | https://github.com/googleapis/google-cloud-python/pull/16528#event-24359308339 |
| https://github.com/zhixiangli |
| zhixiangli | https://github.com/zhixiangli |
| 493df65 | https://github.com/googleapis/google-cloud-python/commit/493df65bcdb028c1f10ccfeb529f4cc1a9c14c16 |
| Apr 10, 2026 | https://github.com/googleapis/google-cloud-python/pull/16528#event-24359844366 |
| Please reload this page | https://github.com/googleapis/google-cloud-python/pull/16528 |
| https://github.com/zhixiangli |
| zhixiangli | https://github.com/zhixiangli |
| April 13, 2026 03:34 | https://github.com/googleapis/google-cloud-python/pull/16528#event-24431097709 |
|
chore: librarian release pull request: 20260526T152357Z
#17253
| https://github.com/googleapis/google-cloud-python/pull/17253 |
|
chore: librarian release pull request: 20260601T193825Z
#17328
| https://github.com/googleapis/google-cloud-python/pull/17328 |
|
chore: librarian release pull request: 20260602T021047Z
#17336
| https://github.com/googleapis/google-cloud-python/pull/17336 |
| chalmerlowe | https://github.com/chalmerlowe |
|
Jun 2, 2026
| https://github.com/googleapis/google-cloud-python/pull/16528#ref-commit-5accbb4 |
|
| https://github.com/suztomo |
| chore: librarian release pull request: 20260602T021047Z ( | https://github.com/googleapis/google-cloud-python/commit/5accbb42b3f8372c4d03ef59a6b0000b165f2200 |
| #17336 | https://github.com/googleapis/google-cloud-python/pull/17336 |
| ) | https://github.com/googleapis/google-cloud-python/commit/5accbb42b3f8372c4d03ef59a6b0000b165f2200 |
| 5accbb4 | https://github.com/googleapis/google-cloud-python/commit/5accbb42b3f8372c4d03ef59a6b0000b165f2200 |
| https://github.co/hiddenchars |
| https://github.com/googleapis/google-cloud-python/pull/{{ revealButtonHref }} |
| Sign up for free | https://github.com/join?source=comment-repo |
| Sign in to comment | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgoogleapis%2Fgoogle-cloud-python%2Fpull%2F16528 |
|
| https://github.com/chandra-siri |
|
chandra-siri
| https://github.com/chandra-siri |
|
| https://github.com/googleapis/google-cloud-python/pull/16528/files/ebd31304a36e4ba565962bdbd99bc620ae54611b |
|
| https://github.com/apps/gemini-code-assist |
|
gemini-code-assist[bot]
| https://github.com/apps/gemini-code-assist |
|
| https://github.com/googleapis/google-cloud-python/pull/16528/files/42f8684ebca679c870a69ebf432ee4fa884dddc8 |
|
| https://github.com/chandra-siri |
|
chandra-siri
| https://github.com/chandra-siri |
| Please reload this page | https://github.com/googleapis/google-cloud-python/pull/16528 |
|
| https://github.com/zhixiangli |
|
| https://github.com/chandra-siri |
|
| https://github.com |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |