deepset-ai / deepset-ai/haystack-core-integrations
Add async API support for ibm_db Integration
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 203
- Forks
- 332
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 80
Description
Summary
The IBM Db2 Haystack integration currently only supports synchronous
pipeline execution. This issue tracks adding full async support using
the AsyncConnection and AsyncCursor APIs introduced in ibm_db 3.3.0,
so the integration can participate in await pipeline.run_async(...) calls.
Motivation
Haystack's Pipeline now exposes run_async() / run_async_generator().
Components that implement async def run_async(...) can participate in
async pipeline execution. The IBM Db2 integration is currently sync-only,
which blocks users who want to run Db2-backed pipelines asynchronously
alongside other async components.
ibm_db 3.3.0 (released) introduces a native asyncio API
(AsyncConnection, AsyncCursor) that wraps synchronous IBM CLI calls
in asyncio.to_thread(), making it possible to add async support without
any additional runtime dependencies beyond Python's standard asyncio.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the existing IBM Db2 integration's synchronous execution path and the ibm_db 3.3.0 AsyncConnection and AsyncCursor APIs. Trace how Haystack's run_async() and run_async_generator() dispatch to components. Done means the integration supports asynchronous pipeline execution using the new APIs, with coverage for both async entry points.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100