Add async/asyncio support
- Lingua principale
- Python
- Stelle
- 85
- Fork
- 34
- Merge medio
- 3g 16h
- PR unite (30g)
- 3
Descrizione
## Summary
`crate-python` is entirely synchronous. Every call to `Connection`, `Cursor.execute()`, `fetchall()`, and the `BLOB API` blocks the calling thread. This makes the driver unusable in modern async Python stacks like FastAPI route handlers, Django async views, Starlette/Litestar, asyncio-based ETL pipelines, and LangChain/LlamaIndex tool integrations that all expect await-able database calls.
This issue tracks the design and implementation of a first-class async interface for `crate-python`.
## Motivation
New support would increase use in:
- AI/ML backends: FastAPI services that call both a vector store and CrateDB in the same request handler
- Real-time dashboards: async WebSocket handlers that need concurrent DB queries
- High-throughput ingest: asyncio pipelines where thread-per-connection doesn't scale
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia mappando i punti di ingresso esistenti delle API Connection, Cursor.execute(), fetchall() e BLOB per comprendere la superficie sincrona. Esamina come vengono utilizzate queste chiamate nel driver corrente e definisci cosa deve coprire l’interfaccia asincrona di prima classe. Il lavoro è completato quando i chiamanti Python asincroni possono usare equivalenti awaitable senza bloccare il thread chiamante.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- database
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Tranquilla
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100