Add async/asyncio support
- 主要语言
- Python
- 星标
- 85
- 派生
- 34
- 平均合并
- 3 天 1 小时
- 30 天内合并 PR
- 4
描述
## 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
贡献指南
调研方向
首先映射现有的 Connection、Cursor.execute()、fetchall() 和 BLOB API 入口点,以了解同步层面。检查这些调用在当前驱动程序中的使用方式,并定义第一类异步接口必须覆盖的内容。完成的标准是,异步 Python 调用方可以使用可 await 的等价接口,而不会阻塞调用线程。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- python
- 领域
- database
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 冷清
- 描述清晰度
- 需要澄清
- 新手友好度
- 25/100