diff --git a/examples/foundational/01-say-one-thing-piper.py b/examples/foundational/01-say-one-thing-piper.py index 40990eea3..df20208bc 100644 --- a/examples/foundational/01-say-one-thing-piper.py +++ b/examples/foundational/01-say-one-thing-piper.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner]>=0.0.77", +# ] +# /// + import os import aiohttp diff --git a/examples/foundational/01-say-one-thing-rime.py b/examples/foundational/01-say-one-thing-rime.py index 1c2bbd940..677863561 100644 --- a/examples/foundational/01-say-one-thing-rime.py +++ b/examples/foundational/01-say-one-thing-rime.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,rime]>=0.0.77", +# ] +# /// + import os import aiohttp diff --git a/examples/foundational/01-say-one-thing.py b/examples/foundational/01-say-one-thing.py index 1366b8d37..84b2d5e77 100644 --- a/examples/foundational/01-say-one-thing.py +++ b/examples/foundational/01-say-one-thing.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,cartesia]>=0.0.77", +# ] +# /// + import os from dotenv import load_dotenv diff --git a/examples/foundational/01a-local-audio.py b/examples/foundational/01a-local-audio.py index 6b4d22b65..931b3a501 100644 --- a/examples/foundational/01a-local-audio.py +++ b/examples/foundational/01a-local-audio.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[local,cartesia]>=0.0.77", +# ] +# /// + import asyncio import os import sys diff --git a/examples/foundational/01b-livekit-audio.py b/examples/foundational/01b-livekit-audio.py index 75b73f280..5717d7d26 100644 --- a/examples/foundational/01b-livekit-audio.py +++ b/examples/foundational/01b-livekit-audio.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[livekit,cartesia]>=0.0.77", +# ] +# /// + import asyncio import os import sys diff --git a/examples/foundational/01c-fastpitch.py b/examples/foundational/01c-fastpitch.py deleted file mode 100644 index effb563b2..000000000 --- a/examples/foundational/01c-fastpitch.py +++ /dev/null @@ -1,62 +0,0 @@ -# -# Copyright (c) 2024–2025, Daily -# -# SPDX-License-Identifier: BSD 2-Clause License -# - -import os - -from dotenv import load_dotenv -from loguru import logger - -from pipecat.frames.frames import EndFrame, TTSSpeakFrame -from pipecat.pipeline.pipeline import Pipeline -from pipecat.pipeline.runner import PipelineRunner -from pipecat.pipeline.task import PipelineTask -from pipecat.runner.types import RunnerArguments -from pipecat.runner.utils import create_transport -from pipecat.services.riva.tts import FastPitchTTSService -from pipecat.transports.base_transport import BaseTransport, TransportParams -from pipecat.transports.network.fastapi_websocket import FastAPIWebsocketParams -from pipecat.transports.services.daily import DailyParams - -load_dotenv(override=True) - - -# We store functions so objects (e.g. SileroVADAnalyzer) don't get -# instantiated. The function will be called when the desired transport gets -# selected. -transport_params = { - "daily": lambda: DailyParams(audio_out_enabled=True), - "twilio": lambda: FastAPIWebsocketParams(audio_out_enabled=True), - "webrtc": lambda: TransportParams(audio_out_enabled=True), -} - - -async def run_bot(transport: BaseTransport): - logger.info(f"Starting bot") - - tts = FastPitchTTSService(api_key=os.getenv("NVIDIA_API_KEY")) - - task = PipelineTask(Pipeline([tts, transport.output()])) - - # Register an event handler so we can play the audio when the client joins - @transport.event_handler("on_client_connected") - async def on_client_connected(transport, client): - await task.queue_frames([TTSSpeakFrame(f"Hello there!"), EndFrame()]) - - runner = PipelineRunner(handle_sigint=False) - - await runner.run(task) - - -async def bot(runner_args: RunnerArguments): - """Main bot entry point compatible with Pipecat Cloud.""" - transport = await create_transport(runner_args, transport_params) - await run_bot(transport) - - -if __name__ == "__main__": - from pipecat.runner.run import main - - main() diff --git a/examples/foundational/02-llm-say-one-thing.py b/examples/foundational/02-llm-say-one-thing.py index b11db1b3f..9bfff32a8 100644 --- a/examples/foundational/02-llm-say-one-thing.py +++ b/examples/foundational/02-llm-say-one-thing.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,openai,cartesia]>=0.0.77", +# ] +# /// + import os from dotenv import load_dotenv diff --git a/examples/foundational/03-still-frame.py b/examples/foundational/03-still-frame.py index 3ff4cef7a..58546b1c6 100644 --- a/examples/foundational/03-still-frame.py +++ b/examples/foundational/03-still-frame.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,runner,fal]>=0.0.77", +# ] +# /// + import os import aiohttp diff --git a/examples/foundational/03a-local-still-frame.py b/examples/foundational/03a-local-still-frame.py index 7ea02cca0..f13d31354 100644 --- a/examples/foundational/03a-local-still-frame.py +++ b/examples/foundational/03a-local-still-frame.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[local,fal]>=0.0.77", +# ] +# /// + import asyncio import os import sys diff --git a/examples/foundational/03b-still-frame-imagen.py b/examples/foundational/03b-still-frame-imagen.py index dc4c3f584..7bd8fbec3 100644 --- a/examples/foundational/03b-still-frame-imagen.py +++ b/examples/foundational/03b-still-frame-imagen.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,runner,google]>=0.0.77", +# ] +# /// + import os from dotenv import load_dotenv diff --git a/examples/foundational/04-transports-small-webrtc.py b/examples/foundational/04-transports-small-webrtc.py index ffb1d9c9b..b8087ef1b 100644 --- a/examples/foundational/04-transports-small-webrtc.py +++ b/examples/foundational/04-transports-small-webrtc.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[webrtc,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// + import argparse import asyncio import os diff --git a/examples/foundational/04a-transports-daily.py b/examples/foundational/04a-transports-daily.py index c1771a0ab..98eb84bc9 100644 --- a/examples/foundational/04a-transports-daily.py +++ b/examples/foundational/04a-transports-daily.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,silero,openai,cartesia]>=0.0.77", +# ] +# /// + import asyncio import os import sys diff --git a/examples/foundational/04b-transports-livekit.py b/examples/foundational/04b-transports-livekit.py index 6594021de..dba97675a 100644 --- a/examples/foundational/04b-transports-livekit.py +++ b/examples/foundational/04b-transports-livekit.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[livekit,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// + import asyncio import json import os diff --git a/examples/foundational/05-sync-speech-and-image.py b/examples/foundational/05-sync-speech-and-image.py index 68860db42..f4daa21a0 100644 --- a/examples/foundational/05-sync-speech-and-image.py +++ b/examples/foundational/05-sync-speech-and-image.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,runner,silero,openai,cartesia,fal]>=0.0.77", +# ] +# /// + import os from dataclasses import dataclass diff --git a/examples/foundational/05a-local-sync-speech-and-image.py b/examples/foundational/05a-local-sync-speech-and-image.py index a01f07c0e..c68fd79b2 100644 --- a/examples/foundational/05a-local-sync-speech-and-image.py +++ b/examples/foundational/05a-local-sync-speech-and-image.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[local,silero,openai,cartesia,fal]>=0.0.77", +# ] +# /// + import asyncio import os import sys diff --git a/examples/foundational/06-listen-and-respond.py b/examples/foundational/06-listen-and-respond.py index cf9d9336d..80cedb164 100644 --- a/examples/foundational/06-listen-and-respond.py +++ b/examples/foundational/06-listen-and-respond.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// + import os from dotenv import load_dotenv diff --git a/examples/foundational/06a-image-sync.py b/examples/foundational/06a-image-sync.py index 9003e74f2..6fab6ec5a 100644 --- a/examples/foundational/06a-image-sync.py +++ b/examples/foundational/06a-image-sync.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,runner,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// + import os from dotenv import load_dotenv diff --git a/examples/foundational/07-interruptible-cartesia-http.py b/examples/foundational/07-interruptible-cartesia-http.py index dc3b74c75..9d0fb2df9 100644 --- a/examples/foundational/07-interruptible-cartesia-http.py +++ b/examples/foundational/07-interruptible-cartesia-http.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// + import os from dotenv import load_dotenv diff --git a/examples/foundational/07-interruptible.py b/examples/foundational/07-interruptible.py index 26fcc108d..7e7fc8020 100644 --- a/examples/foundational/07-interruptible.py +++ b/examples/foundational/07-interruptible.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// + import os from dotenv import load_dotenv diff --git a/examples/foundational/07a-interruptible-speechmatics-vad.py b/examples/foundational/07a-interruptible-speechmatics-vad.py index 962b9e7df..d6a45aee8 100644 --- a/examples/foundational/07a-interruptible-speechmatics-vad.py +++ b/examples/foundational/07a-interruptible-speechmatics-vad.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,speechmatics,openai,elevenlabs]>=0.0.77", +# ] +# /// + import os from dotenv import load_dotenv diff --git a/examples/foundational/07a-interruptible-speechmatics.py b/examples/foundational/07a-interruptible-speechmatics.py index 5b2ce1b43..cf32f3698 100644 --- a/examples/foundational/07a-interruptible-speechmatics.py +++ b/examples/foundational/07a-interruptible-speechmatics.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,speechmatics,openai,elevenlabs]>=0.0.77", +# ] +# /// + import os from dotenv import load_dotenv diff --git a/examples/foundational/07aa-interruptible-soniox.py b/examples/foundational/07aa-interruptible-soniox.py index eb9100cf1..326c59c0c 100644 --- a/examples/foundational/07aa-interruptible-soniox.py +++ b/examples/foundational/07aa-interruptible-soniox.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,soniox,openai,cartesia]>=0.0.77", +# ] +# /// + import os diff --git a/examples/foundational/07ab-interruptible-inworld-http.py b/examples/foundational/07ab-interruptible-inworld-http.py index 0f84e0ac5..40ed961fe 100644 --- a/examples/foundational/07ab-interruptible-inworld-http.py +++ b/examples/foundational/07ab-interruptible-inworld-http.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,inworld]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07ac-interruptible-asyncai-http.py b/examples/foundational/07ac-interruptible-asyncai-http.py index 9337d9ba1..3d98696ef 100644 --- a/examples/foundational/07ac-interruptible-asyncai-http.py +++ b/examples/foundational/07ac-interruptible-asyncai-http.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,asyncai]>=0.0.77", +# ] +# /// + import os diff --git a/examples/foundational/07ac-interruptible-asyncai.py b/examples/foundational/07ac-interruptible-asyncai.py index 6226c9a24..94090641d 100644 --- a/examples/foundational/07ac-interruptible-asyncai.py +++ b/examples/foundational/07ac-interruptible-asyncai.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,asyncai]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07b-interruptible-langchain.py b/examples/foundational/07b-interruptible-langchain.py index c6833888c..d90b8a8ba 100644 --- a/examples/foundational/07b-interruptible-langchain.py +++ b/examples/foundational/07b-interruptible-langchain.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,langchain,cartesia]>=0.0.77", +# ] +# /// import os @@ -25,6 +30,8 @@ from pipecat.processors.aggregators.llm_response import ( LLMUserResponseAggregator, ) from pipecat.processors.frameworks.langchain import LangchainProcessor +from pipecat.runner.types import RunnerArguments +from pipecat.runner.utils import create_transport from pipecat.services.cartesia.tts import CartesiaTTSService from pipecat.services.deepgram.stt import DeepgramSTTService from pipecat.transports.base_transport import BaseTransport, TransportParams diff --git a/examples/foundational/07c-interruptible-deepgram-vad.py b/examples/foundational/07c-interruptible-deepgram-vad.py index dcfeffc38..21fe23cb8 100644 --- a/examples/foundational/07c-interruptible-deepgram-vad.py +++ b/examples/foundational/07c-interruptible-deepgram-vad.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,deepgram,openai]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07c-interruptible-deepgram.py b/examples/foundational/07c-interruptible-deepgram.py index dc9c3a9b4..b067a3c04 100644 --- a/examples/foundational/07c-interruptible-deepgram.py +++ b/examples/foundational/07c-interruptible-deepgram.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai]>=0.0.77", +# ] +# /// + import os diff --git a/examples/foundational/07d-interruptible-elevenlabs-http.py b/examples/foundational/07d-interruptible-elevenlabs-http.py index 03a5ab0d4..664fdfd41 100644 --- a/examples/foundational/07d-interruptible-elevenlabs-http.py +++ b/examples/foundational/07d-interruptible-elevenlabs-http.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,elevenlabs]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07d-interruptible-elevenlabs.py b/examples/foundational/07d-interruptible-elevenlabs.py index c6de4ae3a..f6af5dbe9 100644 --- a/examples/foundational/07d-interruptible-elevenlabs.py +++ b/examples/foundational/07d-interruptible-elevenlabs.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,elevenlabs]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07e-interruptible-playht-http.py b/examples/foundational/07e-interruptible-playht-http.py index 4b871c518..c919cd70f 100644 --- a/examples/foundational/07e-interruptible-playht-http.py +++ b/examples/foundational/07e-interruptible-playht-http.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,playht]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07e-interruptible-playht.py b/examples/foundational/07e-interruptible-playht.py index 7eb68de12..b7627efd6 100644 --- a/examples/foundational/07e-interruptible-playht.py +++ b/examples/foundational/07e-interruptible-playht.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,playht]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07f-interruptible-azure.py b/examples/foundational/07f-interruptible-azure.py index cd4ed783a..e67d76535 100644 --- a/examples/foundational/07f-interruptible-azure.py +++ b/examples/foundational/07f-interruptible-azure.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,azure]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07g-interruptible-openai.py b/examples/foundational/07g-interruptible-openai.py index 6b8bffa15..e5a698b02 100644 --- a/examples/foundational/07g-interruptible-openai.py +++ b/examples/foundational/07g-interruptible-openai.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,openai]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07h-interruptible-openpipe.py b/examples/foundational/07h-interruptible-openpipe.py index 0abc5e4f4..09ebbf721 100644 --- a/examples/foundational/07h-interruptible-openpipe.py +++ b/examples/foundational/07h-interruptible-openpipe.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openpipe,cartesia]>=0.0.77", +# ] +# /// import os import time diff --git a/examples/foundational/07i-interruptible-xtts.py b/examples/foundational/07i-interruptible-xtts.py index 367a698d6..a7ed37d0c 100644 --- a/examples/foundational/07i-interruptible-xtts.py +++ b/examples/foundational/07i-interruptible-xtts.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07j-interruptible-gladia.py b/examples/foundational/07j-interruptible-gladia.py index 2244cbf63..45b42b15e 100644 --- a/examples/foundational/07j-interruptible-gladia.py +++ b/examples/foundational/07j-interruptible-gladia.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,gladia,openai,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07k-interruptible-lmnt.py b/examples/foundational/07k-interruptible-lmnt.py index 8d3f3181d..3db72224e 100644 --- a/examples/foundational/07k-interruptible-lmnt.py +++ b/examples/foundational/07k-interruptible-lmnt.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,lmnt]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07l-interruptible-groq.py b/examples/foundational/07l-interruptible-groq.py index b67eaefd1..719201de6 100644 --- a/examples/foundational/07l-interruptible-groq.py +++ b/examples/foundational/07l-interruptible-groq.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,groq]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07m-interruptible-aws.py b/examples/foundational/07m-interruptible-aws.py index 9e442771d..fd692a197 100644 --- a/examples/foundational/07m-interruptible-aws.py +++ b/examples/foundational/07m-interruptible-aws.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,aws]>=0.0.77", +# ] +# /// from dotenv import load_dotenv from loguru import logger diff --git a/examples/foundational/07n-interruptible-google.py b/examples/foundational/07n-interruptible-google.py index 0a0d05024..a4e37116d 100644 --- a/examples/foundational/07n-interruptible-google.py +++ b/examples/foundational/07n-interruptible-google.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,google]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07o-interruptible-assemblyai.py b/examples/foundational/07o-interruptible-assemblyai.py index a857eefb8..3f778b6b8 100644 --- a/examples/foundational/07o-interruptible-assemblyai.py +++ b/examples/foundational/07o-interruptible-assemblyai.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,assemblyai,openai,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07p-interruptible-krisp.py b/examples/foundational/07p-interruptible-krisp.py index 28cc18f83..0998401b1 100644 --- a/examples/foundational/07p-interruptible-krisp.py +++ b/examples/foundational/07p-interruptible-krisp.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,krisp]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07q-interruptible-rime-http.py b/examples/foundational/07q-interruptible-rime-http.py index f24d1cf2d..8ce31c416 100644 --- a/examples/foundational/07q-interruptible-rime-http.py +++ b/examples/foundational/07q-interruptible-rime-http.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,rime]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07q-interruptible-rime.py b/examples/foundational/07q-interruptible-rime.py index ab13b249b..10f5419a3 100644 --- a/examples/foundational/07q-interruptible-rime.py +++ b/examples/foundational/07q-interruptible-rime.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,rime]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07r-interruptible-riva-nim.py b/examples/foundational/07r-interruptible-riva-nim.py index 2026ff4b8..fa640167c 100644 --- a/examples/foundational/07r-interruptible-riva-nim.py +++ b/examples/foundational/07r-interruptible-riva-nim.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,riva,nim]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07s-interruptible-google-audio-in.py b/examples/foundational/07s-interruptible-google-audio-in.py index 48ee9f486..899f42f50 100644 --- a/examples/foundational/07s-interruptible-google-audio-in.py +++ b/examples/foundational/07s-interruptible-google-audio-in.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,google]>=0.0.77", +# ] +# /// import os from dataclasses import dataclass diff --git a/examples/foundational/07t-interruptible-fish.py b/examples/foundational/07t-interruptible-fish.py index b5afe8945..505523281 100644 --- a/examples/foundational/07t-interruptible-fish.py +++ b/examples/foundational/07t-interruptible-fish.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,fish]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07u-interruptible-ultravox.py b/examples/foundational/07u-interruptible-ultravox.py index 7ea5d87b5..1e8fb32a9 100644 --- a/examples/foundational/07u-interruptible-ultravox.py +++ b/examples/foundational/07u-interruptible-ultravox.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,ultravox,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07v-interruptible-neuphonic-http.py b/examples/foundational/07v-interruptible-neuphonic-http.py index a90ee574a..d05d5f775 100644 --- a/examples/foundational/07v-interruptible-neuphonic-http.py +++ b/examples/foundational/07v-interruptible-neuphonic-http.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,neuphonic]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07v-interruptible-neuphonic.py b/examples/foundational/07v-interruptible-neuphonic.py index 9a456ed6c..468704ce1 100644 --- a/examples/foundational/07v-interruptible-neuphonic.py +++ b/examples/foundational/07v-interruptible-neuphonic.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,neuphonic]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07w-interruptible-fal.py b/examples/foundational/07w-interruptible-fal.py index ec2783d27..8a412a0fa 100644 --- a/examples/foundational/07w-interruptible-fal.py +++ b/examples/foundational/07w-interruptible-fal.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,fal,openai,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07x-interruptible-local.py b/examples/foundational/07x-interruptible-local.py index 21ac2df86..47dbf9ca2 100644 --- a/examples/foundational/07x-interruptible-local.py +++ b/examples/foundational/07x-interruptible-local.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[local,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// + import asyncio import os import sys @@ -16,8 +22,6 @@ from pipecat.pipeline.pipeline import Pipeline from pipecat.pipeline.runner import PipelineRunner from pipecat.pipeline.task import PipelineParams, PipelineTask from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext -from pipecat.runner.types import RunnerArguments -from pipecat.runner.utils import create_transport from pipecat.services.cartesia.tts import CartesiaTTSService from pipecat.services.deepgram.stt import DeepgramSTTService from pipecat.services.openai.llm import OpenAILLMService diff --git a/examples/foundational/07y-interruptible-minimax.py b/examples/foundational/07y-interruptible-minimax.py index d65fcf724..b350a7430 100644 --- a/examples/foundational/07y-interruptible-minimax.py +++ b/examples/foundational/07y-interruptible-minimax.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/07z-interruptible-sarvam.py b/examples/foundational/07z-interruptible-sarvam.py index 3c7c2351f..307853437 100644 --- a/examples/foundational/07z-interruptible-sarvam.py +++ b/examples/foundational/07z-interruptible-sarvam.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/08-bots-arguing.py b/examples/foundational/08-bots-arguing.py index b052ef08a..126c59dd5 100644 --- a/examples/foundational/08-bots-arguing.py +++ b/examples/foundational/08-bots-arguing.py @@ -1,3 +1,15 @@ +# +# Copyright (c) 2024–2025, Daily +# +# SPDX-License-Identifier: BSD 2-Clause License +# + +# /// script +# dependencies = [ +# "pipecat-ai[daily,azure,elevenlabs,fal]>=0.0.77", +# ] +# /// + import asyncio import logging import os diff --git a/examples/foundational/09-mirror.py b/examples/foundational/09-mirror.py index c5aec0676..82a09dded 100644 --- a/examples/foundational/09-mirror.py +++ b/examples/foundational/09-mirror.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,runner]>=0.0.77", +# ] +# /// from dotenv import load_dotenv from loguru import logger diff --git a/examples/foundational/09a-local-mirror.py b/examples/foundational/09a-local-mirror.py index 24b98b4ec..011e07fac 100644 --- a/examples/foundational/09a-local-mirror.py +++ b/examples/foundational/09a-local-mirror.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,local,runner]>=0.0.77", +# ] +# /// + import asyncio import tkinter as tk diff --git a/examples/foundational/10-wake-phrase.py b/examples/foundational/10-wake-phrase.py index c85cc7601..a8b866e12 100644 --- a/examples/foundational/10-wake-phrase.py +++ b/examples/foundational/10-wake-phrase.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// + import os from dotenv import load_dotenv diff --git a/examples/foundational/11-sound-effects.py b/examples/foundational/11-sound-effects.py index 28eb91e59..abac5f000 100644 --- a/examples/foundational/11-sound-effects.py +++ b/examples/foundational/11-sound-effects.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// + import os import wave diff --git a/examples/foundational/12-describe-video.py b/examples/foundational/12-describe-video.py index c795ac69c..25aa1949d 100644 --- a/examples/foundational/12-describe-video.py +++ b/examples/foundational/12-describe-video.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,runner,silero,deepgram,moondream,cartesia]>=0.0.77", +# ] +# /// + import os from typing import Optional diff --git a/examples/foundational/12a-describe-video-gemini-flash.py b/examples/foundational/12a-describe-video-gemini-flash.py index fcac48e22..3321602d7 100644 --- a/examples/foundational/12a-describe-video-gemini-flash.py +++ b/examples/foundational/12a-describe-video-gemini-flash.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,runner,silero,deepgram,google,cartesia]>=0.0.77", +# ] +# /// + import os from typing import Optional diff --git a/examples/foundational/12b-describe-video-gpt-4o.py b/examples/foundational/12b-describe-video-gpt-4o.py index d9c176d4a..09adb1b01 100644 --- a/examples/foundational/12b-describe-video-gpt-4o.py +++ b/examples/foundational/12b-describe-video-gpt-4o.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,runner,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// + import os from typing import Optional diff --git a/examples/foundational/12c-describe-video-anthropic.py b/examples/foundational/12c-describe-video-anthropic.py index 941a4f0e6..bdc9db29f 100644 --- a/examples/foundational/12c-describe-video-anthropic.py +++ b/examples/foundational/12c-describe-video-anthropic.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,anthropic,cartesia]>=0.0.77", +# ] +# /// + import os from typing import Optional diff --git a/examples/foundational/13-whisper-transcription.py b/examples/foundational/13-whisper-transcription.py index 82a1bbf0b..229955639 100644 --- a/examples/foundational/13-whisper-transcription.py +++ b/examples/foundational/13-whisper-transcription.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,whisper]>=0.0.77", +# ] +# /// from dotenv import load_dotenv from loguru import logger diff --git a/examples/foundational/13a-whisper-local.py b/examples/foundational/13a-whisper-local.py index 34cce6796..f50d23348 100644 --- a/examples/foundational/13a-whisper-local.py +++ b/examples/foundational/13a-whisper-local.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[local,whisper]>=0.0.77", +# ] +# /// + import asyncio import sys diff --git a/examples/foundational/13b-deepgram-transcription.py b/examples/foundational/13b-deepgram-transcription.py index 7eba63b29..97cf0eafe 100644 --- a/examples/foundational/13b-deepgram-transcription.py +++ b/examples/foundational/13b-deepgram-transcription.py @@ -4,7 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # -import argparse +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,deepgram]>=0.0.77", +# ] +# /// + import os from dotenv import load_dotenv @@ -15,6 +20,8 @@ from pipecat.pipeline.pipeline import Pipeline from pipecat.pipeline.runner import PipelineRunner from pipecat.pipeline.task import PipelineTask from pipecat.processors.frame_processor import FrameDirection, FrameProcessor +from pipecat.runner.types import RunnerArguments +from pipecat.runner.utils import create_transport from pipecat.services.deepgram.stt import DeepgramSTTService, Language, LiveOptions from pipecat.transports.base_transport import BaseTransport, TransportParams from pipecat.transports.network.fastapi_websocket import FastAPIWebsocketParams diff --git a/examples/foundational/13c-gladia-transcription.py b/examples/foundational/13c-gladia-transcription.py index d64e36825..909676139 100644 --- a/examples/foundational/13c-gladia-transcription.py +++ b/examples/foundational/13c-gladia-transcription.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,gladia]>=0.0.77", +# ] +# /// + import os from dotenv import load_dotenv diff --git a/examples/foundational/13c-gladia-translation.py b/examples/foundational/13c-gladia-translation.py index 9b7f8ab6f..031ceacb5 100644 --- a/examples/foundational/13c-gladia-translation.py +++ b/examples/foundational/13c-gladia-translation.py @@ -4,7 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # -import argparse +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,gladia]>=0.0.77", +# ] +# /// + import os from dotenv import load_dotenv @@ -15,6 +20,8 @@ from pipecat.pipeline.pipeline import Pipeline from pipecat.pipeline.runner import PipelineRunner from pipecat.pipeline.task import PipelineTask from pipecat.processors.frame_processor import FrameDirection, FrameProcessor +from pipecat.runner.types import RunnerArguments +from pipecat.runner.utils import create_transport from pipecat.services.gladia.config import ( GladiaInputParams, LanguageConfig, diff --git a/examples/foundational/13d-assemblyai-transcription.py b/examples/foundational/13d-assemblyai-transcription.py index 8ada794cb..ab7bcaaba 100644 --- a/examples/foundational/13d-assemblyai-transcription.py +++ b/examples/foundational/13d-assemblyai-transcription.py @@ -4,7 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # -import argparse +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,assemblyai]>=0.0.77", +# ] +# /// + import os from dotenv import load_dotenv @@ -15,6 +20,8 @@ from pipecat.pipeline.pipeline import Pipeline from pipecat.pipeline.runner import PipelineRunner from pipecat.pipeline.task import PipelineTask from pipecat.processors.frame_processor import FrameDirection, FrameProcessor +from pipecat.runner.types import RunnerArguments +from pipecat.runner.utils import create_transport from pipecat.services.assemblyai.stt import AssemblyAISTTService from pipecat.transports.base_transport import BaseTransport, TransportParams from pipecat.transports.network.fastapi_websocket import FastAPIWebsocketParams diff --git a/examples/foundational/13e-whisper-mlx.py b/examples/foundational/13e-whisper-mlx.py index 2c9a12b29..3876a436b 100644 --- a/examples/foundational/13e-whisper-mlx.py +++ b/examples/foundational/13e-whisper-mlx.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,whisper]>=0.0.77", +# ] +# /// + import time from dotenv import load_dotenv diff --git a/examples/foundational/13f-cartesia-transcription.py b/examples/foundational/13f-cartesia-transcription.py index 7d301733d..9c0c043f7 100644 --- a/examples/foundational/13f-cartesia-transcription.py +++ b/examples/foundational/13f-cartesia-transcription.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,cartesia]>=0.0.77", +# ] +# /// + import os from dotenv import load_dotenv diff --git a/examples/foundational/13g-sambanova-transcription.py b/examples/foundational/13g-sambanova-transcription.py index 073d81cb7..f4d226dc7 100644 --- a/examples/foundational/13g-sambanova-transcription.py +++ b/examples/foundational/13g-sambanova-transcription.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,sambanova]>=0.0.77", +# ] +# /// + import os import time diff --git a/examples/foundational/13h-speechmatics-transcription.py b/examples/foundational/13h-speechmatics-transcription.py index 173d0641c..12bb76d3f 100644 --- a/examples/foundational/13h-speechmatics-transcription.py +++ b/examples/foundational/13h-speechmatics-transcription.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,speechmatics]>=0.0.77", +# ] +# /// + import os from dotenv import load_dotenv diff --git a/examples/foundational/13i-soniox-transcription.py b/examples/foundational/13i-soniox-transcription.py index d6195248b..37c353ea5 100644 --- a/examples/foundational/13i-soniox-transcription.py +++ b/examples/foundational/13i-soniox-transcription.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,soniox]>=0.0.77", +# ] +# /// + import os from dotenv import load_dotenv diff --git a/examples/foundational/14-function-calling.py b/examples/foundational/14-function-calling.py index 4b523052c..a8dae2c60 100644 --- a/examples/foundational/14-function-calling.py +++ b/examples/foundational/14-function-calling.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// + import os from dotenv import load_dotenv diff --git a/examples/foundational/14a-function-calling-anthropic.py b/examples/foundational/14a-function-calling-anthropic.py index 8685a79c5..bfa6bffa7 100644 --- a/examples/foundational/14a-function-calling-anthropic.py +++ b/examples/foundational/14a-function-calling-anthropic.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,anthropic,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/14b-function-calling-anthropic-video.py b/examples/foundational/14b-function-calling-anthropic-video.py index 9d3287621..8363440b9 100644 --- a/examples/foundational/14b-function-calling-anthropic-video.py +++ b/examples/foundational/14b-function-calling-anthropic-video.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,runner,silero,deepgram,anthropic,cartesia]>=0.0.77", +# ] +# /// import asyncio import os diff --git a/examples/foundational/14c-function-calling-together.py b/examples/foundational/14c-function-calling-together.py index 34900f2c1..b7a07ba61 100644 --- a/examples/foundational/14c-function-calling-together.py +++ b/examples/foundational/14c-function-calling-together.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,together,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/14d-function-calling-video.py b/examples/foundational/14d-function-calling-video.py index 2d023498b..368a34db5 100644 --- a/examples/foundational/14d-function-calling-video.py +++ b/examples/foundational/14d-function-calling-video.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,runner,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// import asyncio import os diff --git a/examples/foundational/14e-function-calling-google.py b/examples/foundational/14e-function-calling-google.py index 98ca1f4f7..32421a11a 100644 --- a/examples/foundational/14e-function-calling-google.py +++ b/examples/foundational/14e-function-calling-google.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,runner,silero,deepgram,google,cartesia]>=0.0.77", +# ] +# /// import asyncio import os diff --git a/examples/foundational/14f-function-calling-groq.py b/examples/foundational/14f-function-calling-groq.py index aff92b173..538802fde 100644 --- a/examples/foundational/14f-function-calling-groq.py +++ b/examples/foundational/14f-function-calling-groq.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,groq,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/14g-function-calling-grok.py b/examples/foundational/14g-function-calling-grok.py index 87abb3657..5d5d3cf3e 100644 --- a/examples/foundational/14g-function-calling-grok.py +++ b/examples/foundational/14g-function-calling-grok.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,grok,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/14h-function-calling-azure.py b/examples/foundational/14h-function-calling-azure.py index bafa03f0c..4ae9041ac 100644 --- a/examples/foundational/14h-function-calling-azure.py +++ b/examples/foundational/14h-function-calling-azure.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,azure,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/14i-function-calling-fireworks.py b/examples/foundational/14i-function-calling-fireworks.py index f492f7a92..e17c8bd81 100644 --- a/examples/foundational/14i-function-calling-fireworks.py +++ b/examples/foundational/14i-function-calling-fireworks.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,fireworks,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/14j-function-calling-nim.py b/examples/foundational/14j-function-calling-nim.py index 9f1e1c563..dd532626c 100644 --- a/examples/foundational/14j-function-calling-nim.py +++ b/examples/foundational/14j-function-calling-nim.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,nim,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/14k-function-calling-cerebras.py b/examples/foundational/14k-function-calling-cerebras.py index f037bb8e1..d377d6a5f 100644 --- a/examples/foundational/14k-function-calling-cerebras.py +++ b/examples/foundational/14k-function-calling-cerebras.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,cerebras,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/14l-function-calling-deepseek.py b/examples/foundational/14l-function-calling-deepseek.py index a46bdc688..d748a86bf 100644 --- a/examples/foundational/14l-function-calling-deepseek.py +++ b/examples/foundational/14l-function-calling-deepseek.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,deepseek,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/14m-function-calling-openrouter.py b/examples/foundational/14m-function-calling-openrouter.py index 4f4ec6ee6..f011547de 100644 --- a/examples/foundational/14m-function-calling-openrouter.py +++ b/examples/foundational/14m-function-calling-openrouter.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openrouter,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/14n-function-calling-perplexity.py b/examples/foundational/14n-function-calling-perplexity.py index d752c5f24..3f3e1160f 100644 --- a/examples/foundational/14n-function-calling-perplexity.py +++ b/examples/foundational/14n-function-calling-perplexity.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,perplexity,cartesia]>=0.0.77", +# ] +# /// + """This example demonstrates using the Perplexity API as a drop-in replacement for OpenAI. Note that while this file is in the function-calling examples, Perplexity's API does not diff --git a/examples/foundational/14o-function-calling-gemini-openai-format.py b/examples/foundational/14o-function-calling-gemini-openai-format.py index 8f4451f29..60dd6f20f 100644 --- a/examples/foundational/14o-function-calling-gemini-openai-format.py +++ b/examples/foundational/14o-function-calling-gemini-openai-format.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,google,elevenlabs]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/14p-function-calling-gemini-vertex-ai.py b/examples/foundational/14p-function-calling-gemini-vertex-ai.py index a60396c4f..c3c637539 100644 --- a/examples/foundational/14p-function-calling-gemini-vertex-ai.py +++ b/examples/foundational/14p-function-calling-gemini-vertex-ai.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,google,elevenlabs]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/14q-function-calling-qwen.py b/examples/foundational/14q-function-calling-qwen.py index 881e96c7f..5cb826bba 100644 --- a/examples/foundational/14q-function-calling-qwen.py +++ b/examples/foundational/14q-function-calling-qwen.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,qwen,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/14r-function-calling-aws.py b/examples/foundational/14r-function-calling-aws.py index 453c7b843..79d7071c2 100644 --- a/examples/foundational/14r-function-calling-aws.py +++ b/examples/foundational/14r-function-calling-aws.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,aws]>=0.0.77", +# ] +# /// from dotenv import load_dotenv from loguru import logger diff --git a/examples/foundational/14s-function-calling-sambanova.py b/examples/foundational/14s-function-calling-sambanova.py index 0a6be8419..5b0b8174d 100644 --- a/examples/foundational/14s-function-calling-sambanova.py +++ b/examples/foundational/14s-function-calling-sambanova.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,sambanova,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/14t-function-calling-direct.py b/examples/foundational/14t-function-calling-direct.py index 82349a105..7beaf9937 100644 --- a/examples/foundational/14t-function-calling-direct.py +++ b/examples/foundational/14t-function-calling-direct.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/14u-function-calling-ollama.py b/examples/foundational/14u-function-calling-ollama.py index 011ea01b8..2f64d4711 100644 --- a/examples/foundational/14u-function-calling-ollama.py +++ b/examples/foundational/14u-function-calling-ollama.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,cartesia]>=0.0.77", +# ] +# /// import os @@ -24,7 +29,6 @@ from pipecat.services.cartesia.tts import CartesiaTTSService from pipecat.services.deepgram.stt import DeepgramSTTService from pipecat.services.llm_service import FunctionCallParams from pipecat.services.ollama.llm import OLLamaLLMService -from pipecat.services.openai.llm import OpenAILLMService from pipecat.transports.base_transport import BaseTransport, TransportParams from pipecat.transports.network.fastapi_websocket import FastAPIWebsocketParams from pipecat.transports.services.daily import DailyParams diff --git a/examples/foundational/15-switch-voices.py b/examples/foundational/15-switch-voices.py index fc3aba0de..1fb10654c 100644 --- a/examples/foundational/15-switch-voices.py +++ b/examples/foundational/15-switch-voices.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/15a-switch-languages.py b/examples/foundational/15a-switch-languages.py index 767810deb..2a11b2d6a 100644 --- a/examples/foundational/15a-switch-languages.py +++ b/examples/foundational/15a-switch-languages.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/16-gpu-container-local-bot.py b/examples/foundational/16-gpu-container-local-bot.py index 326789693..68b47a3b4 100644 --- a/examples/foundational/16-gpu-container-local-bot.py +++ b/examples/foundational/16-gpu-container-local-bot.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/17-detect-user-idle.py b/examples/foundational/17-detect-user-idle.py index 32ec83cb6..e00993a5b 100644 --- a/examples/foundational/17-detect-user-idle.py +++ b/examples/foundational/17-detect-user-idle.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/18-gstreamer-filesrc.py b/examples/foundational/18-gstreamer-filesrc.py index ca3f88d10..8d9b51a1d 100644 --- a/examples/foundational/18-gstreamer-filesrc.py +++ b/examples/foundational/18-gstreamer-filesrc.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,runner,gstreamer]>=0.0.77", +# ] +# /// + import argparse from dotenv import load_dotenv diff --git a/examples/foundational/18a-gstreamer-videotestsrc.py b/examples/foundational/18a-gstreamer-videotestsrc.py index b5e9718c3..baeeb1ce3 100644 --- a/examples/foundational/18a-gstreamer-videotestsrc.py +++ b/examples/foundational/18a-gstreamer-videotestsrc.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,runner,gstreamer]>=0.0.77", +# ] +# /// from dotenv import load_dotenv from loguru import logger diff --git a/examples/foundational/19-openai-realtime-beta.py b/examples/foundational/19-openai-realtime-beta.py index d3fda06e3..0ba1b088b 100644 --- a/examples/foundational/19-openai-realtime-beta.py +++ b/examples/foundational/19-openai-realtime-beta.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,openai]>=0.0.77", +# ] +# /// import os from datetime import datetime diff --git a/examples/foundational/19a-azure-realtime-beta.py b/examples/foundational/19a-azure-realtime-beta.py index 832b5948c..8ab7dc7ff 100644 --- a/examples/foundational/19a-azure-realtime-beta.py +++ b/examples/foundational/19a-azure-realtime-beta.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,azure]>=0.0.77", +# ] +# /// import os from datetime import datetime diff --git a/examples/foundational/20a-persistent-context-openai.py b/examples/foundational/20a-persistent-context-openai.py index aa3a2bfef..25a11b7d4 100644 --- a/examples/foundational/20a-persistent-context-openai.py +++ b/examples/foundational/20a-persistent-context-openai.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// + import glob import json import os @@ -192,6 +198,8 @@ async def run_bot(transport: BaseTransport): global tts + stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) + tts = CartesiaTTSService( api_key=os.getenv("CARTESIA_API_KEY"), voice_id="71a7ad14-091c-4e8e-a314-022ece01c121", # British Reading Lady diff --git a/examples/foundational/20b-persistent-context-openai-realtime.py b/examples/foundational/20b-persistent-context-openai-realtime.py index 6108be89c..4aa626612 100644 --- a/examples/foundational/20b-persistent-context-openai-realtime.py +++ b/examples/foundational/20b-persistent-context-openai-realtime.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,openai]>=0.0.77", +# ] +# /// + import asyncio import glob import json @@ -22,7 +28,6 @@ from pipecat.processors.aggregators.openai_llm_context import ( ) from pipecat.runner.types import RunnerArguments from pipecat.runner.utils import create_transport -from pipecat.services.deepgram.stt import DeepgramSTTService from pipecat.services.llm_service import FunctionCallParams from pipecat.services.openai_realtime_beta import ( InputAudioTranscription, @@ -178,8 +183,6 @@ transport_params = { async def run_bot(transport: BaseTransport): logger.info(f"Starting bot") - stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY")) - session_properties = SessionProperties( input_audio_transcription=InputAudioTranscription(), # Set openai TurnDetection parameters. Not setting this at all will turn it @@ -223,7 +226,6 @@ Remember, your responses should be short. Just one or two sentences, usually.""" pipeline = Pipeline( [ transport.input(), # Transport user input - stt, # STT context_aggregator.user(), llm, # LLM transport.output(), # Transport bot output diff --git a/examples/foundational/20c-persistent-context-anthropic.py b/examples/foundational/20c-persistent-context-anthropic.py index cdd61a836..48e766fa3 100644 --- a/examples/foundational/20c-persistent-context-anthropic.py +++ b/examples/foundational/20c-persistent-context-anthropic.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,anthropic,cartesia]>=0.0.77", +# ] +# /// + import glob import json import os diff --git a/examples/foundational/20d-persistent-context-gemini.py b/examples/foundational/20d-persistent-context-gemini.py index 8abfac484..f5051e03d 100644 --- a/examples/foundational/20d-persistent-context-gemini.py +++ b/examples/foundational/20d-persistent-context-gemini.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,runner,silero,deepgram,google,cartesia]>=0.0.77", +# ] +# /// + import glob import json import os diff --git a/examples/foundational/20e-persistent-context-aws-nova-sonic.py b/examples/foundational/20e-persistent-context-aws-nova-sonic.py index e48e8661a..9a7ac6ee3 100644 --- a/examples/foundational/20e-persistent-context-aws-nova-sonic.py +++ b/examples/foundational/20e-persistent-context-aws-nova-sonic.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,aws-nova-sonic]>=0.0.77", +# ] +# /// + import asyncio import glob import json diff --git a/examples/foundational/21-tavus-transport.py b/examples/foundational/21-tavus-transport.py index e1d6e5689..6373b1fbf 100644 --- a/examples/foundational/21-tavus-transport.py +++ b/examples/foundational/21-tavus-transport.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[silero,deepgram,google,cartesia,tavus]>=0.0.77", +# ] +# /// + import asyncio import os import sys @@ -17,8 +23,6 @@ from pipecat.pipeline.pipeline import Pipeline from pipecat.pipeline.runner import PipelineRunner from pipecat.pipeline.task import PipelineParams, PipelineTask from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext -from pipecat.runner.types import RunnerArguments -from pipecat.runner.utils import create_transport from pipecat.services.cartesia.tts import CartesiaTTSService from pipecat.services.deepgram.stt import DeepgramSTTService from pipecat.services.google.llm import GoogleLLMService diff --git a/examples/foundational/21a-tavus-video-service.py b/examples/foundational/21a-tavus-video-service.py index 636e1b8c6..eae96cea3 100644 --- a/examples/foundational/21a-tavus-video-service.py +++ b/examples/foundational/21a-tavus-video-service.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,runner,silero,deepgram,openai,cartesia,tavus]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/22-natural-conversation.py b/examples/foundational/22-natural-conversation.py index 7ed5fd654..02e0d6d57 100644 --- a/examples/foundational/22-natural-conversation.py +++ b/examples/foundational/22-natural-conversation.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/22b-natural-conversation-proposal.py b/examples/foundational/22b-natural-conversation-proposal.py index 3bd3dfd22..e31fee42a 100644 --- a/examples/foundational/22b-natural-conversation-proposal.py +++ b/examples/foundational/22b-natural-conversation-proposal.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// + import asyncio import os import time diff --git a/examples/foundational/22c-natural-conversation-mixed-llms.py b/examples/foundational/22c-natural-conversation-mixed-llms.py index bd1c0b411..69f318a4a 100644 --- a/examples/foundational/22c-natural-conversation-mixed-llms.py +++ b/examples/foundational/22c-natural-conversation-mixed-llms.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,anthropic,cartesia]>=0.0.77", +# ] +# /// + import asyncio import os import time diff --git a/examples/foundational/22d-natural-conversation-gemini-audio.py b/examples/foundational/22d-natural-conversation-gemini-audio.py index ef57a27c9..c5e4b3c16 100644 --- a/examples/foundational/22d-natural-conversation-gemini-audio.py +++ b/examples/foundational/22d-natural-conversation-gemini-audio.py @@ -4,7 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # -import argparse +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,google,cartesia]>=0.0.77", +# ] +# /// + import asyncio import os import time @@ -44,6 +49,8 @@ from pipecat.processors.aggregators.openai_llm_context import ( ) from pipecat.processors.filters.function_filter import FunctionFilter from pipecat.processors.frame_processor import FrameDirection, FrameProcessor +from pipecat.runner.types import RunnerArguments +from pipecat.runner.utils import create_transport from pipecat.services.cartesia.tts import CartesiaTTSService from pipecat.services.google.llm import GoogleLLMContext, GoogleLLMService from pipecat.sync.base_notifier import BaseNotifier diff --git a/examples/foundational/23-bot-background-sound.py b/examples/foundational/23-bot-background-sound.py index e0f70384c..8a42058b8 100644 --- a/examples/foundational/23-bot-background-sound.py +++ b/examples/foundational/23-bot-background-sound.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia,soundfile]>=0.0.77", +# ] +# /// import asyncio import os diff --git a/examples/foundational/24-stt-mute-filter.py b/examples/foundational/24-stt-mute-filter.py index 63db5309d..68030a736 100644 --- a/examples/foundational/24-stt-mute-filter.py +++ b/examples/foundational/24-stt-mute-filter.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai]>=0.0.77", +# ] +# /// import asyncio import os diff --git a/examples/foundational/25-google-audio-in.py b/examples/foundational/25-google-audio-in.py index f5dcf66dc..4bcee6a08 100644 --- a/examples/foundational/25-google-audio-in.py +++ b/examples/foundational/25-google-audio-in.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,google,cartesia]>=0.0.77", +# ] +# /// + import os from dataclasses import dataclass diff --git a/examples/foundational/26-gemini-multimodal-live.py b/examples/foundational/26-gemini-multimodal-live.py index 2f80658a7..23442f086 100644 --- a/examples/foundational/26-gemini-multimodal-live.py +++ b/examples/foundational/26-gemini-multimodal-live.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,google]>=0.0.77", +# ] +# /// + import os from dotenv import load_dotenv diff --git a/examples/foundational/26a-gemini-multimodal-live-transcription.py b/examples/foundational/26a-gemini-multimodal-live-transcription.py index e4ed7f16f..e342c2d5e 100644 --- a/examples/foundational/26a-gemini-multimodal-live-transcription.py +++ b/examples/foundational/26a-gemini-multimodal-live-transcription.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,google]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/26b-gemini-multimodal-live-function-calling.py b/examples/foundational/26b-gemini-multimodal-live-function-calling.py index 56a2c0745..6834f5d0c 100644 --- a/examples/foundational/26b-gemini-multimodal-live-function-calling.py +++ b/examples/foundational/26b-gemini-multimodal-live-function-calling.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,google]>=0.0.77", +# ] +# /// import os from datetime import datetime diff --git a/examples/foundational/26c-gemini-multimodal-live-video.py b/examples/foundational/26c-gemini-multimodal-live-video.py index 5978ac2b4..bc69e1c00 100644 --- a/examples/foundational/26c-gemini-multimodal-live-video.py +++ b/examples/foundational/26c-gemini-multimodal-live-video.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,runner,silero,google]>=0.0.77", +# ] +# /// import asyncio import os diff --git a/examples/foundational/26d-gemini-multimodal-live-text.py b/examples/foundational/26d-gemini-multimodal-live-text.py index e6c682b2f..3db29152c 100644 --- a/examples/foundational/26d-gemini-multimodal-live-text.py +++ b/examples/foundational/26d-gemini-multimodal-live-text.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,google,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/26e-gemini-multimodal-google-search.py b/examples/foundational/26e-gemini-multimodal-google-search.py index ab9b40f1f..eb86daf53 100644 --- a/examples/foundational/26e-gemini-multimodal-google-search.py +++ b/examples/foundational/26e-gemini-multimodal-google-search.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,google]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/26f-gemini-multimodal-live-files-api.py b/examples/foundational/26f-gemini-multimodal-live-files-api.py index 7e8943d52..164e08fb2 100644 --- a/examples/foundational/26f-gemini-multimodal-live-files-api.py +++ b/examples/foundational/26f-gemini-multimodal-live-files-api.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,google]>=0.0.77", +# ] +# /// + import os import tempfile diff --git a/examples/foundational/26g-gemini-multimodal-live-groundingMetadata.py b/examples/foundational/26g-gemini-multimodal-live-groundingMetadata.py index 841362af9..b258e0e3f 100644 --- a/examples/foundational/26g-gemini-multimodal-live-groundingMetadata.py +++ b/examples/foundational/26g-gemini-multimodal-live-groundingMetadata.py @@ -1,3 +1,15 @@ +# +# Copyright (c) 2024-2025, Daily +# +# SPDX-License-Identifier: BSD 2-Clause License +# + +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,google]>=0.0.77", +# ] +# /// + import os from dotenv import load_dotenv diff --git a/examples/foundational/27-simli-layer.py b/examples/foundational/27-simli-layer.py index 97eba7bba..5da2b9b44 100644 --- a/examples/foundational/27-simli-layer.py +++ b/examples/foundational/27-simli-layer.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia,simli]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/28-transcription-processor.py b/examples/foundational/28-transcription-processor.py index 43d9ed11d..8d4dc659f 100644 --- a/examples/foundational/28-transcription-processor.py +++ b/examples/foundational/28-transcription-processor.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// + import os from typing import List, Optional diff --git a/examples/foundational/29-turn-tracking-observer.py b/examples/foundational/29-turn-tracking-observer.py index 5b6344f44..6acee6c09 100644 --- a/examples/foundational/29-turn-tracking-observer.py +++ b/examples/foundational/29-turn-tracking-observer.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/30-observer.py b/examples/foundational/30-observer.py index 6f069e454..c7b582e00 100644 --- a/examples/foundational/30-observer.py +++ b/examples/foundational/30-observer.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/31-heartbeats.py b/examples/foundational/31-heartbeats.py index 70f6829da..e00b9cc32 100644 --- a/examples/foundational/31-heartbeats.py +++ b/examples/foundational/31-heartbeats.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai>=0.0.77", +# ] +# /// + import asyncio import sys diff --git a/examples/foundational/32-gemini-grounding-metadata.py b/examples/foundational/32-gemini-grounding-metadata.py index 3e27bb344..578ed65b8 100644 --- a/examples/foundational/32-gemini-grounding-metadata.py +++ b/examples/foundational/32-gemini-grounding-metadata.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,google,cartesia]>=0.0.77", +# ] +# /// import os import sys diff --git a/examples/foundational/33-gemini-rag.py b/examples/foundational/33-gemini-rag.py index d0509c357..8af3531d6 100644 --- a/examples/foundational/33-gemini-rag.py +++ b/examples/foundational/33-gemini-rag.py @@ -3,6 +3,13 @@ # # SPDX-License-Identifier: BSD 2-Clause License # + +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,google,cartesia]>=0.0.77", +# ] +# /// + """CrossFit Games 2025 Rulebook RAG Demo. This example demonstrates a Model-Assisted Generation (MAG) chatbot using Google's Gemini model. diff --git a/examples/foundational/34-audio-recording.py b/examples/foundational/34-audio-recording.py index 74070f049..f339774da 100644 --- a/examples/foundational/34-audio-recording.py +++ b/examples/foundational/34-audio-recording.py @@ -4,6 +4,13 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia]>=0.0.77", +# "aiofiles", +# ] +# /// + """Audio Recording Example with Pipecat. This example demonstrates how to record audio from a conversation between a user and an AI assistant, diff --git a/examples/foundational/35-pattern-pair-voice-switching.py b/examples/foundational/35-pattern-pair-voice-switching.py index 7b1df655c..57a8b791a 100644 --- a/examples/foundational/35-pattern-pair-voice-switching.py +++ b/examples/foundational/35-pattern-pair-voice-switching.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// + """Pattern Pair Voice Switching Example with Pipecat. This example demonstrates how to use the PatternPairAggregator to dynamically switch diff --git a/examples/foundational/36-user-email-gathering.py b/examples/foundational/36-user-email-gathering.py index 1df1de518..978fc3cbe 100644 --- a/examples/foundational/36-user-email-gathering.py +++ b/examples/foundational/36-user-email-gathering.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia,rime]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/37-mem0.py b/examples/foundational/37-mem0.py index 34ef51461..4e671fd6b 100644 --- a/examples/foundational/37-mem0.py +++ b/examples/foundational/37-mem0.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,elevenlabs,mem0]>=0.0.77", +# ] +# /// + """Mem0 Personalized Voice Agent Example with Pipecat. This example demonstrates how to create a conversational AI assistant with memory capabilities diff --git a/examples/foundational/38-smart-turn-fal.py b/examples/foundational/38-smart-turn-fal.py index d98d500e5..19b2bafb7 100644 --- a/examples/foundational/38-smart-turn-fal.py +++ b/examples/foundational/38-smart-turn-fal.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia,remote-smart-turn]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/38a-smart-turn-local-coreml.py b/examples/foundational/38a-smart-turn-local-coreml.py index adc61d8d2..4d29c2c07 100644 --- a/examples/foundational/38a-smart-turn-local-coreml.py +++ b/examples/foundational/38a-smart-turn-local-coreml.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia,local-smart-turn]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/38b-smart-turn-local.py b/examples/foundational/38b-smart-turn-local.py index f32a32713..d7dc9da4f 100644 --- a/examples/foundational/38b-smart-turn-local.py +++ b/examples/foundational/38b-smart-turn-local.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia,local-smart-turn]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/39-mcp-stdio.py b/examples/foundational/39-mcp-stdio.py index f53d1abf2..26130ca1f 100644 --- a/examples/foundational/39-mcp-stdio.py +++ b/examples/foundational/39-mcp-stdio.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,anthropic,cartesia,mcp]>=0.0.77", +# ] +# /// + import asyncio import io import os diff --git a/examples/foundational/39a-mcp-run-sse.py b/examples/foundational/39a-mcp-run-sse.py index 449eb9986..4a94337ba 100644 --- a/examples/foundational/39a-mcp-run-sse.py +++ b/examples/foundational/39a-mcp-run-sse.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,anthropic,cartesia,mcp]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/39b-multiple-mcp.py b/examples/foundational/39b-multiple-mcp.py index 8fa6774aa..201d58805 100644 --- a/examples/foundational/39b-multiple-mcp.py +++ b/examples/foundational/39b-multiple-mcp.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,anthropic,cartesia,mcp]>=0.0.77", +# ] +# /// import asyncio import io diff --git a/examples/foundational/39c-mcp-run-http.py b/examples/foundational/39c-mcp-run-http.py index 144e29044..85f26696c 100644 --- a/examples/foundational/39c-mcp-run-http.py +++ b/examples/foundational/39c-mcp-run-http.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,google,cartesia,mcp]>=0.0.77", +# ] +# /// import os diff --git a/examples/foundational/40-aws-nova-sonic.py b/examples/foundational/40-aws-nova-sonic.py index 673c8dfd5..b298d2877 100644 --- a/examples/foundational/40-aws-nova-sonic.py +++ b/examples/foundational/40-aws-nova-sonic.py @@ -4,6 +4,11 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,aws-nova-sonic]>=0.0.77", +# ] +# /// import os from datetime import datetime diff --git a/examples/foundational/41a-text-only-webrtc.py b/examples/foundational/41a-text-only-webrtc.py index 71a8c9e50..ee2a5804e 100644 --- a/examples/foundational/41a-text-only-webrtc.py +++ b/examples/foundational/41a-text-only-webrtc.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[webrtc,runner,openai]>=0.0.77", +# ] +# /// + import os from dotenv import load_dotenv diff --git a/examples/foundational/41b-text-and-audio-webrtc.py b/examples/foundational/41b-text-and-audio-webrtc.py index 1169df880..a06ffa87f 100644 --- a/examples/foundational/41b-text-and-audio-webrtc.py +++ b/examples/foundational/41b-text-and-audio-webrtc.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[webrtc,runner,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// + import os from dotenv import load_dotenv diff --git a/examples/foundational/42-interruption-config.py b/examples/foundational/42-interruption-config.py index 3e206dfea..9db1ef070 100644 --- a/examples/foundational/42-interruption-config.py +++ b/examples/foundational/42-interruption-config.py @@ -4,6 +4,12 @@ # SPDX-License-Identifier: BSD 2-Clause License # +# /// script +# dependencies = [ +# "pipecat-ai[daily,webrtc,websocket,runner,silero,deepgram,openai,cartesia]>=0.0.77", +# ] +# /// + import os from dotenv import load_dotenv