From 6422661d08be83ce18e7688d1b3da2b810f3103f Mon Sep 17 00:00:00 2001 From: Mark Backman Date: Fri, 27 Mar 2026 14:40:48 -0400 Subject: [PATCH 1/3] Fix Deepgram STT compatibility with deepgram-sdk 6.1.0 The SDK now requires explicit message objects for send_keep_alive, send_close_stream, and send_finalize instead of no-arg calls. --- src/pipecat/services/deepgram/stt.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/pipecat/services/deepgram/stt.py b/src/pipecat/services/deepgram/stt.py index 63e7a05ba..d58958da2 100644 --- a/src/pipecat/services/deepgram/stt.py +++ b/src/pipecat/services/deepgram/stt.py @@ -41,6 +41,9 @@ try: from deepgram import AsyncDeepgramClient from deepgram.core.events import EventType from deepgram.listen.v1.types import ( + ListenV1CloseStream, + ListenV1Finalize, + ListenV1KeepAlive, ListenV1Results, ListenV1SpeechStarted, ListenV1UtteranceEnd, @@ -658,7 +661,7 @@ class DeepgramSTTService(STTService): self._connection = None if connection: - await connection.send_close_stream() + await connection.send_close_stream(ListenV1CloseStream(type="CloseStream")) await self.cancel_task(self._connection_task) self._connection_task = None @@ -703,7 +706,7 @@ class DeepgramSTTService(STTService): await asyncio.sleep(5) if self._connection: try: - await self._connection.send_keep_alive() + await self._connection.send_keep_alive(ListenV1KeepAlive(type="KeepAlive")) logger.trace(f"{self}: Sent keepalive") except Exception as e: logger.warning(f"{self}: Keepalive failed: {e}") @@ -800,5 +803,5 @@ class DeepgramSTTService(STTService): # Mark that we're awaiting a from_finalize response if self._connection: self.request_finalize() - await self._connection.send_finalize() + await self._connection.send_finalize(ListenV1Finalize(type="Finalize")) logger.trace(f"Triggered finalize event on: {frame.name=}, {direction=}") From 0798803c7028a07049684d5d3a42556af3b37f9f Mon Sep 17 00:00:00 2001 From: Mark Backman Date: Fri, 27 Mar 2026 14:46:17 -0400 Subject: [PATCH 2/3] Bump deepgram-sdk minimum version to 6.1.0 --- pyproject.toml | 2 +- uv.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 8ab6e31c4..df4ee7485 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -63,7 +63,7 @@ cartesia = [ "pipecat-ai[websockets-base]" ] camb = [ "camb-sdk>=1.5.4,<2" ] cerebras = [] daily = [ "daily-python~=0.27.0" ] -deepgram = [ "deepgram-sdk>=6.0.1,<7", "pipecat-ai[websockets-base]" ] +deepgram = [ "deepgram-sdk>=6.1.0,<7", "pipecat-ai[websockets-base]" ] deepseek = [] elevenlabs = [ "pipecat-ai[websockets-base]" ] fal = [] diff --git a/uv.lock b/uv.lock index 1e0851da4..3b3b70197 100644 --- a/uv.lock +++ b/uv.lock @@ -1474,7 +1474,7 @@ wheels = [ [[package]] name = "deepgram-sdk" -version = "6.0.1" +version = "6.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "httpx" }, @@ -1483,9 +1483,9 @@ dependencies = [ { name = "typing-extensions" }, { name = "websockets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/73/46/6dc45de574d766a20853452d7beccf17cb0cfeb685a0f03460f1fe49b48e/deepgram_sdk-6.0.1.tar.gz", hash = "sha256:88558a43d6173a861c8b6d6491b9ee8805679fb09fb81ef51eeb6871dad77767", size = 176743, upload-time = "2026-02-24T13:52:17.163Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ef/5c/3cea6888343ae4c90ddb2640371e270b2406e3cc66f76e33c67282559ef5/deepgram_sdk-6.1.0.tar.gz", hash = "sha256:2eb124fd120be733e8297173b7201aa4375a86cd174854aaa5e2d036ba122515", size = 201973, upload-time = "2026-03-26T20:06:06.961Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/58/a4/53b9075816edc566694aed014d9864febedf232677b74f5d30bdde64b5de/deepgram_sdk-6.0.1-py3-none-any.whl", hash = "sha256:1b33d621b1c0b1d7a6a7b46fdc393aef4212e670521fada99764f5fb3f9d55fd", size = 490751, upload-time = "2026-02-24T13:52:15.998Z" }, + { url = "https://files.pythonhosted.org/packages/1b/85/4ad495bc08de200618b9e9eb17930e1863032ee3d2cfec1c4b0c7e5b8bbf/deepgram_sdk-6.1.0-py3-none-any.whl", hash = "sha256:5501c77ae64b7e496fef7d17111f8323dfb46af42b4e511eec9d998d593a9769", size = 576143, upload-time = "2026-03-26T20:06:05.407Z" }, ] [[package]] @@ -4902,7 +4902,7 @@ requires-dist = [ { name = "camb-sdk", marker = "extra == 'camb'", specifier = ">=1.5.4,<2" }, { name = "coremltools", marker = "extra == 'local-smart-turn'", specifier = ">=8.0" }, { name = "daily-python", marker = "extra == 'daily'", specifier = "~=0.27.0" }, - { name = "deepgram-sdk", marker = "extra == 'deepgram'", specifier = ">=6.0.1,<7" }, + { name = "deepgram-sdk", marker = "extra == 'deepgram'", specifier = ">=6.1.0,<7" }, { name = "docstring-parser", specifier = ">=0.16,<1" }, { name = "einops", marker = "extra == 'moondream'", specifier = "~=0.8.0" }, { name = "fastapi", marker = "extra == 'runner'", specifier = ">=0.115.6,<1" }, From a1a29b3933830daf847e06239f72ec599654b7b3 Mon Sep 17 00:00:00 2001 From: Mark Backman Date: Fri, 27 Mar 2026 14:50:12 -0400 Subject: [PATCH 3/3] Add changelog for #4174 --- changelog/4174.fixed.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/4174.fixed.md diff --git a/changelog/4174.fixed.md b/changelog/4174.fixed.md new file mode 100644 index 000000000..874f7e3c7 --- /dev/null +++ b/changelog/4174.fixed.md @@ -0,0 +1 @@ +- ⚠️ Fixed `DeepgramSTTService` compatibility with deepgram-sdk 6.1.0. The SDK now requires explicit message objects for `send_keep_alive()`, `send_close_stream()`, and `send_finalize()`. The minimum deepgram-sdk version is now 6.1.0.