crate / crate/crate-python

Add async/asyncio support

未关闭
#820 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。