- Notifications
You must be signed in to change notification settings - Fork95
feat: support for async bidi streaming apis#836
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
feat: support for async bidi streaming apis#836
Conversation
python versions <= 3.10 dont support `async with asyncio.timeout`
provide support for the same.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
these files will be removed oncegoogleapis/python-api-core#836gets submitted
* Add async bidiRpc files in python-storagethese files will be removed oncegoogleapis/python-api-core#836gets submitted* fix import path for bidi_base
…into feat/834-bidi-async-support
chandra-siri commentedOct 1, 2025
@vchudnov-g Addressed your comments. PTAL |
vchudnov-g left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Looks good. We're almost there. Just some minor comments, and I want to ping@daniel-sanche again in case he has any comments.
Uh oh!
There was an error while loading.Please reload this page.
| request_generator.call = call | ||
| if hasattr(call, "_wrapped"): # pragma: NO COVER |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
It doesn't have an issue. You could create one, but at least copy the text:# TODO: api_core should expose the future interface for wrapped callables as well.
| request_generator.call = call | ||
| if hasattr(call, "_wrapped"): # pragma: NO COVER |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
No issue number (you could create one), but let's at least include the text: # TODO: api_core should expose the future interface for wrapped callables as well.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
daniel-sanche left a comment• edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
I left a few small comments, but nothing that needs to be blocking
Type checking would improve this a lot though, to help us be sure there are no gaps in the shared sync/async logic
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
chandra-siri commentedOct 8, 2025
Hi@daniel-sanche , I've addressed your comments, leftone open. Feel free to resolve it sounds good to you. |
Uh oh!
There was an error while loading.Please reload this page.
daniel-sanche left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
still a few nits open, but LGTM
chandra-siri commentedOct 9, 2025
Addressed them. |
chandra-siri commentedOct 9, 2025
Hi@vchudnov-g Addressed yours and Daniel's comments/suggestions. PTAL |
vchudnov-g left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Looks great. I left some very minor follow-up comments—nothing blocking.
Thanks for your dedication to this PR and patience working with us on understanding it and making it really solid!
chandra-siri commentedOct 11, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Addressed them.
Thanks@vchudnov-g 1 more help - can you please merge the PR ? (looks like I don't have the sufficient permissions) |
9530548 intogoogleapis:mainUh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
feat: support for async bidi streaming apis
Further details can be foundhere
Fixes#834