crate / crate/crate-python

Add async/asyncio support

Offen
#820 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Python
Sterne
85
Forks
34
Ø Merge
3 T. 16 Std.
Gemergte PRs (30 T.)
3

Beschreibung

## 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

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Start by mapping the existing Connection, Cursor.execute(), fetchall(), and BLOB API entry points to understand the synchronous surface. Review how these calls are used in the current driver and define what the first-class async interface must cover. Done means async Python callers can use awaitable equivalents without blocking the calling thread.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
database
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Ruhig
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.