googleapis / googleapis/google-cloud-python
Provide a complete/high-level async client API
- Vorherrschende Sprache
- Python
- Sterne
- 5.4k
- Forks
- 1.8k
- Ø Merge
- 3 T. 4 Std.
- Gemergte PRs (30 T.)
- 122
Beschreibung
**Is your feature request related to a problem? Please describe.**
The high-level `spanner.Client` API is all blocking methods. To develop a FastAPI service using Spanner as a datastore it would be good to be able to take advantage of Python's async features and interact with Spanner in an asyncio context.
**Describe the solution you'd like**
Provide a `spanner.AsyncClient` class that mirrors the API of `spanner.Client` but with `async` methods that allow usage in an async context without having to block on IO calls.
**Describe alternatives you've considered**
There is a low-level `AsyncSpannerClient` class that wraps the underlying gRPC API, but making use of this requires re-implementing large parts of the existing `spanner.Client` API and then having to maintain that code separately to the `python-spanner` library - in particular needing to manage session pooling and `ResultSet`/`PartialResultSet` response types, which is frustrating when a lot of this functionality already exists in this library, but only behind a blocking API
**Additional context**
I'm happy to contribute this feature if it is accepted.
Beitragsleitfaden
Bewertung
Dieses Issue wurde noch nicht bewertet.