crate / crate/crate-python

Add async/asyncio support

オープン
#820 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
85
フォーク
34
平均マージ
3日 16時間
マージ済み PR(30日)
3

説明

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

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
database
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
静か
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。