Skip to content

Expose a transport-level cancel/close handle on async streaming responses (so they can be cancelled from another task) #2425

@adtyavrdhn

Description

@adtyavrdhn

While working on pydantic/pydantic-ai#1524 I hit: generate_content_stream only exposes the generator, so cancelling it from another task while we're iterating raises RuntimeError: aclose(): asynchronous generator is already running.

Describe the solution you'd like
A transport handler we could close with or cancel with would be great

Describe alternatives you've considered
There are some things we could do to maybe mimic this but given that most SDKs have this it would be nice if genai did too

Additional context
I have just added a small warning for now.
https://pydantic.dev/docs/ai/models/google/#streaming-cancellation

Metadata

Metadata

Assignees

Labels

priority: p3Desirable enhancement or fix. May not be included in next release.type: feature request‘Nice-to-have’ improvement, new feature or different behavior or design.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions