dv-pipecat-ai 0.0.74.dev770__py3-none-any.whl โ 0.0.82.dev776__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of dv-pipecat-ai might be problematic. Click here for more details.
- {dv_pipecat_ai-0.0.74.dev770.dist-info โ dv_pipecat_ai-0.0.82.dev776.dist-info}/METADATA +137 -93
- dv_pipecat_ai-0.0.82.dev776.dist-info/RECORD +340 -0
- pipecat/__init__.py +17 -0
- pipecat/adapters/base_llm_adapter.py +36 -1
- pipecat/adapters/schemas/direct_function.py +296 -0
- pipecat/adapters/schemas/function_schema.py +15 -6
- pipecat/adapters/schemas/tools_schema.py +55 -7
- pipecat/adapters/services/anthropic_adapter.py +22 -3
- pipecat/adapters/services/aws_nova_sonic_adapter.py +23 -3
- pipecat/adapters/services/bedrock_adapter.py +22 -3
- pipecat/adapters/services/gemini_adapter.py +16 -3
- pipecat/adapters/services/open_ai_adapter.py +17 -2
- pipecat/adapters/services/open_ai_realtime_adapter.py +23 -3
- pipecat/audio/filters/base_audio_filter.py +30 -6
- pipecat/audio/filters/koala_filter.py +37 -2
- pipecat/audio/filters/krisp_filter.py +59 -6
- pipecat/audio/filters/noisereduce_filter.py +37 -0
- pipecat/audio/interruptions/base_interruption_strategy.py +25 -5
- pipecat/audio/interruptions/min_words_interruption_strategy.py +21 -4
- pipecat/audio/mixers/base_audio_mixer.py +30 -7
- pipecat/audio/mixers/soundfile_mixer.py +53 -6
- pipecat/audio/resamplers/base_audio_resampler.py +17 -9
- pipecat/audio/resamplers/resampy_resampler.py +26 -1
- pipecat/audio/resamplers/soxr_resampler.py +32 -1
- pipecat/audio/resamplers/soxr_stream_resampler.py +101 -0
- pipecat/audio/utils.py +194 -1
- pipecat/audio/vad/silero.py +60 -3
- pipecat/audio/vad/vad_analyzer.py +114 -30
- pipecat/clocks/base_clock.py +19 -0
- pipecat/clocks/system_clock.py +25 -0
- pipecat/extensions/voicemail/__init__.py +0 -0
- pipecat/extensions/voicemail/voicemail_detector.py +707 -0
- pipecat/frames/frames.py +590 -156
- pipecat/metrics/metrics.py +64 -1
- pipecat/observers/base_observer.py +58 -19
- pipecat/observers/loggers/debug_log_observer.py +56 -64
- pipecat/observers/loggers/llm_log_observer.py +8 -1
- pipecat/observers/loggers/transcription_log_observer.py +19 -7
- pipecat/observers/loggers/user_bot_latency_log_observer.py +32 -5
- pipecat/observers/turn_tracking_observer.py +26 -1
- pipecat/pipeline/base_pipeline.py +5 -7
- pipecat/pipeline/base_task.py +52 -9
- pipecat/pipeline/parallel_pipeline.py +121 -177
- pipecat/pipeline/pipeline.py +129 -20
- pipecat/pipeline/runner.py +50 -1
- pipecat/pipeline/sync_parallel_pipeline.py +132 -32
- pipecat/pipeline/task.py +263 -280
- pipecat/pipeline/task_observer.py +85 -34
- pipecat/pipeline/to_be_updated/merge_pipeline.py +32 -2
- pipecat/processors/aggregators/dtmf_aggregator.py +29 -22
- pipecat/processors/aggregators/gated.py +25 -24
- pipecat/processors/aggregators/gated_openai_llm_context.py +22 -2
- pipecat/processors/aggregators/llm_response.py +398 -89
- pipecat/processors/aggregators/openai_llm_context.py +161 -13
- pipecat/processors/aggregators/sentence.py +25 -14
- pipecat/processors/aggregators/user_response.py +28 -3
- pipecat/processors/aggregators/vision_image_frame.py +24 -14
- pipecat/processors/async_generator.py +28 -0
- pipecat/processors/audio/audio_buffer_processor.py +78 -37
- pipecat/processors/consumer_processor.py +25 -6
- pipecat/processors/filters/frame_filter.py +23 -0
- pipecat/processors/filters/function_filter.py +30 -0
- pipecat/processors/filters/identity_filter.py +17 -2
- pipecat/processors/filters/null_filter.py +24 -1
- pipecat/processors/filters/stt_mute_filter.py +56 -21
- pipecat/processors/filters/wake_check_filter.py +46 -3
- pipecat/processors/filters/wake_notifier_filter.py +21 -3
- pipecat/processors/frame_processor.py +488 -131
- pipecat/processors/frameworks/langchain.py +38 -3
- pipecat/processors/frameworks/rtvi.py +719 -34
- pipecat/processors/gstreamer/pipeline_source.py +41 -0
- pipecat/processors/idle_frame_processor.py +26 -3
- pipecat/processors/logger.py +23 -0
- pipecat/processors/metrics/frame_processor_metrics.py +77 -4
- pipecat/processors/metrics/sentry.py +42 -4
- pipecat/processors/producer_processor.py +34 -14
- pipecat/processors/text_transformer.py +22 -10
- pipecat/processors/transcript_processor.py +48 -29
- pipecat/processors/user_idle_processor.py +31 -21
- pipecat/runner/__init__.py +1 -0
- pipecat/runner/daily.py +132 -0
- pipecat/runner/livekit.py +148 -0
- pipecat/runner/run.py +543 -0
- pipecat/runner/types.py +67 -0
- pipecat/runner/utils.py +515 -0
- pipecat/serializers/base_serializer.py +42 -0
- pipecat/serializers/exotel.py +17 -6
- pipecat/serializers/genesys.py +95 -0
- pipecat/serializers/livekit.py +33 -0
- pipecat/serializers/plivo.py +16 -15
- pipecat/serializers/protobuf.py +37 -1
- pipecat/serializers/telnyx.py +18 -17
- pipecat/serializers/twilio.py +32 -16
- pipecat/services/ai_service.py +5 -3
- pipecat/services/anthropic/llm.py +113 -43
- pipecat/services/assemblyai/models.py +63 -5
- pipecat/services/assemblyai/stt.py +64 -11
- pipecat/services/asyncai/__init__.py +0 -0
- pipecat/services/asyncai/tts.py +501 -0
- pipecat/services/aws/llm.py +185 -111
- pipecat/services/aws/stt.py +217 -23
- pipecat/services/aws/tts.py +118 -52
- pipecat/services/aws/utils.py +101 -5
- pipecat/services/aws_nova_sonic/aws.py +82 -64
- pipecat/services/aws_nova_sonic/context.py +15 -6
- pipecat/services/azure/common.py +10 -2
- pipecat/services/azure/image.py +32 -0
- pipecat/services/azure/llm.py +9 -7
- pipecat/services/azure/stt.py +65 -2
- pipecat/services/azure/tts.py +154 -23
- pipecat/services/cartesia/stt.py +125 -8
- pipecat/services/cartesia/tts.py +102 -38
- pipecat/services/cerebras/llm.py +15 -23
- pipecat/services/deepgram/stt.py +19 -11
- pipecat/services/deepgram/tts.py +36 -0
- pipecat/services/deepseek/llm.py +14 -23
- pipecat/services/elevenlabs/tts.py +330 -64
- pipecat/services/fal/image.py +43 -0
- pipecat/services/fal/stt.py +48 -10
- pipecat/services/fireworks/llm.py +14 -21
- pipecat/services/fish/tts.py +109 -9
- pipecat/services/gemini_multimodal_live/__init__.py +1 -0
- pipecat/services/gemini_multimodal_live/events.py +83 -2
- pipecat/services/gemini_multimodal_live/file_api.py +189 -0
- pipecat/services/gemini_multimodal_live/gemini.py +218 -21
- pipecat/services/gladia/config.py +17 -10
- pipecat/services/gladia/stt.py +82 -36
- pipecat/services/google/frames.py +40 -0
- pipecat/services/google/google.py +2 -0
- pipecat/services/google/image.py +39 -2
- pipecat/services/google/llm.py +176 -58
- pipecat/services/google/llm_openai.py +26 -4
- pipecat/services/google/llm_vertex.py +37 -15
- pipecat/services/google/rtvi.py +41 -0
- pipecat/services/google/stt.py +65 -17
- pipecat/services/google/test-google-chirp.py +45 -0
- pipecat/services/google/tts.py +390 -19
- pipecat/services/grok/llm.py +8 -6
- pipecat/services/groq/llm.py +8 -6
- pipecat/services/groq/stt.py +13 -9
- pipecat/services/groq/tts.py +40 -0
- pipecat/services/hamsa/__init__.py +9 -0
- pipecat/services/hamsa/stt.py +241 -0
- pipecat/services/heygen/__init__.py +5 -0
- pipecat/services/heygen/api.py +281 -0
- pipecat/services/heygen/client.py +620 -0
- pipecat/services/heygen/video.py +338 -0
- pipecat/services/image_service.py +5 -3
- pipecat/services/inworld/__init__.py +1 -0
- pipecat/services/inworld/tts.py +592 -0
- pipecat/services/llm_service.py +127 -45
- pipecat/services/lmnt/tts.py +80 -7
- pipecat/services/mcp_service.py +85 -44
- pipecat/services/mem0/memory.py +42 -13
- pipecat/services/minimax/tts.py +74 -15
- pipecat/services/mistral/__init__.py +0 -0
- pipecat/services/mistral/llm.py +185 -0
- pipecat/services/moondream/vision.py +55 -10
- pipecat/services/neuphonic/tts.py +275 -48
- pipecat/services/nim/llm.py +8 -6
- pipecat/services/ollama/llm.py +27 -7
- pipecat/services/openai/base_llm.py +54 -16
- pipecat/services/openai/image.py +30 -0
- pipecat/services/openai/llm.py +7 -5
- pipecat/services/openai/stt.py +13 -9
- pipecat/services/openai/tts.py +42 -10
- pipecat/services/openai_realtime_beta/azure.py +11 -9
- pipecat/services/openai_realtime_beta/context.py +7 -5
- pipecat/services/openai_realtime_beta/events.py +10 -7
- pipecat/services/openai_realtime_beta/openai.py +37 -18
- pipecat/services/openpipe/llm.py +30 -24
- pipecat/services/openrouter/llm.py +9 -7
- pipecat/services/perplexity/llm.py +15 -19
- pipecat/services/piper/tts.py +26 -12
- pipecat/services/playht/tts.py +227 -65
- pipecat/services/qwen/llm.py +8 -6
- pipecat/services/rime/tts.py +128 -17
- pipecat/services/riva/stt.py +160 -22
- pipecat/services/riva/tts.py +67 -2
- pipecat/services/sambanova/llm.py +19 -17
- pipecat/services/sambanova/stt.py +14 -8
- pipecat/services/sarvam/tts.py +60 -13
- pipecat/services/simli/video.py +82 -21
- pipecat/services/soniox/__init__.py +0 -0
- pipecat/services/soniox/stt.py +398 -0
- pipecat/services/speechmatics/stt.py +29 -17
- pipecat/services/stt_service.py +47 -11
- pipecat/services/tavus/video.py +94 -25
- pipecat/services/together/llm.py +8 -6
- pipecat/services/tts_service.py +77 -53
- pipecat/services/ultravox/stt.py +46 -43
- pipecat/services/vision_service.py +5 -3
- pipecat/services/websocket_service.py +12 -11
- pipecat/services/whisper/base_stt.py +58 -12
- pipecat/services/whisper/stt.py +69 -58
- pipecat/services/xtts/tts.py +59 -2
- pipecat/sync/base_notifier.py +19 -0
- pipecat/sync/event_notifier.py +24 -0
- pipecat/tests/utils.py +73 -5
- pipecat/transcriptions/language.py +24 -0
- pipecat/transports/base_input.py +112 -8
- pipecat/transports/base_output.py +235 -13
- pipecat/transports/base_transport.py +119 -0
- pipecat/transports/local/audio.py +76 -0
- pipecat/transports/local/tk.py +84 -0
- pipecat/transports/network/fastapi_websocket.py +174 -15
- pipecat/transports/network/small_webrtc.py +383 -39
- pipecat/transports/network/webrtc_connection.py +214 -8
- pipecat/transports/network/websocket_client.py +171 -1
- pipecat/transports/network/websocket_server.py +147 -9
- pipecat/transports/services/daily.py +792 -70
- pipecat/transports/services/helpers/daily_rest.py +122 -129
- pipecat/transports/services/livekit.py +339 -4
- pipecat/transports/services/tavus.py +273 -38
- pipecat/utils/asyncio/task_manager.py +92 -186
- pipecat/utils/base_object.py +83 -1
- pipecat/utils/network.py +2 -0
- pipecat/utils/string.py +114 -58
- pipecat/utils/text/base_text_aggregator.py +44 -13
- pipecat/utils/text/base_text_filter.py +46 -0
- pipecat/utils/text/markdown_text_filter.py +70 -14
- pipecat/utils/text/pattern_pair_aggregator.py +18 -14
- pipecat/utils/text/simple_text_aggregator.py +43 -2
- pipecat/utils/text/skip_tags_aggregator.py +21 -13
- pipecat/utils/time.py +36 -0
- pipecat/utils/tracing/class_decorators.py +32 -7
- pipecat/utils/tracing/conversation_context_provider.py +12 -2
- pipecat/utils/tracing/service_attributes.py +80 -64
- pipecat/utils/tracing/service_decorators.py +48 -21
- pipecat/utils/tracing/setup.py +13 -7
- pipecat/utils/tracing/turn_context_provider.py +12 -2
- pipecat/utils/tracing/turn_trace_observer.py +27 -0
- pipecat/utils/utils.py +14 -14
- dv_pipecat_ai-0.0.74.dev770.dist-info/RECORD +0 -319
- pipecat/examples/daily_runner.py +0 -64
- pipecat/examples/run.py +0 -265
- pipecat/utils/asyncio/watchdog_async_iterator.py +0 -72
- pipecat/utils/asyncio/watchdog_event.py +0 -42
- pipecat/utils/asyncio/watchdog_priority_queue.py +0 -48
- pipecat/utils/asyncio/watchdog_queue.py +0 -48
- {dv_pipecat_ai-0.0.74.dev770.dist-info โ dv_pipecat_ai-0.0.82.dev776.dist-info}/WHEEL +0 -0
- {dv_pipecat_ai-0.0.74.dev770.dist-info โ dv_pipecat_ai-0.0.82.dev776.dist-info}/licenses/LICENSE +0 -0
- {dv_pipecat_ai-0.0.74.dev770.dist-info โ dv_pipecat_ai-0.0.82.dev776.dist-info}/top_level.txt +0 -0
- /pipecat/{examples โ extensions}/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dv-pipecat-ai
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.82.dev776
|
|
4
4
|
Summary: An open source framework for voice (and multimodal) assistants
|
|
5
5
|
License-Expression: BSD-2-Clause
|
|
6
6
|
Project-URL: Source, https://github.com/pipecat-ai/pipecat
|
|
@@ -15,58 +15,68 @@ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
|
15
15
|
Requires-Python: >=3.10
|
|
16
16
|
Description-Content-Type: text/markdown
|
|
17
17
|
License-File: LICENSE
|
|
18
|
-
Requires-Dist: aiohttp
|
|
18
|
+
Requires-Dist: aiohttp<4,>=3.11.12
|
|
19
19
|
Requires-Dist: audioop-lts~=0.2.1; python_version >= "3.13"
|
|
20
|
+
Requires-Dist: docstring_parser~=0.16
|
|
20
21
|
Requires-Dist: loguru~=0.7.3
|
|
21
|
-
Requires-Dist: Markdown
|
|
22
|
-
Requires-Dist:
|
|
23
|
-
Requires-Dist:
|
|
22
|
+
Requires-Dist: Markdown<4,>=3.7
|
|
23
|
+
Requires-Dist: nltk<4,>=3.9.1
|
|
24
|
+
Requires-Dist: numpy<3,>=1.26.4
|
|
25
|
+
Requires-Dist: Pillow<12,>=11.1.0
|
|
24
26
|
Requires-Dist: protobuf~=5.29.3
|
|
25
|
-
Requires-Dist: pydantic
|
|
27
|
+
Requires-Dist: pydantic<3,>=2.10.6
|
|
26
28
|
Requires-Dist: pyloudnorm~=0.1.1
|
|
27
29
|
Requires-Dist: resampy~=0.4.3
|
|
28
30
|
Requires-Dist: soxr~=0.5.0
|
|
29
|
-
Requires-Dist: openai
|
|
31
|
+
Requires-Dist: openai<=1.99.1,>=1.74.0
|
|
32
|
+
Requires-Dist: numba==0.61.2
|
|
33
|
+
Requires-Dist: wait_for2>=0.4.1; python_version < "3.12"
|
|
30
34
|
Provides-Extra: anthropic
|
|
31
35
|
Requires-Dist: anthropic~=0.49.0; extra == "anthropic"
|
|
32
36
|
Provides-Extra: assemblyai
|
|
33
|
-
Requires-Dist: websockets
|
|
37
|
+
Requires-Dist: websockets<15.0,>=13.1; extra == "assemblyai"
|
|
38
|
+
Provides-Extra: asyncai
|
|
39
|
+
Requires-Dist: websockets<15.0,>=13.1; extra == "asyncai"
|
|
34
40
|
Provides-Extra: aws
|
|
35
|
-
Requires-Dist:
|
|
36
|
-
Requires-Dist: websockets
|
|
41
|
+
Requires-Dist: aioboto3~=15.0.0; extra == "aws"
|
|
42
|
+
Requires-Dist: websockets<15.0,>=13.1; extra == "aws"
|
|
37
43
|
Provides-Extra: aws-nova-sonic
|
|
38
|
-
Requires-Dist: aws_sdk_bedrock_runtime~=0.0.2; extra == "aws-nova-sonic"
|
|
44
|
+
Requires-Dist: aws_sdk_bedrock_runtime~=0.0.2; python_version >= "3.12" and extra == "aws-nova-sonic"
|
|
39
45
|
Provides-Extra: azure
|
|
40
46
|
Requires-Dist: azure-cognitiveservices-speech~=1.42.0; extra == "azure"
|
|
41
47
|
Provides-Extra: cartesia
|
|
42
48
|
Requires-Dist: cartesia~=2.0.3; extra == "cartesia"
|
|
43
|
-
Requires-Dist: websockets
|
|
49
|
+
Requires-Dist: websockets<15.0,>=13.1; extra == "cartesia"
|
|
44
50
|
Provides-Extra: cerebras
|
|
45
51
|
Provides-Extra: deepseek
|
|
46
52
|
Provides-Extra: daily
|
|
47
|
-
Requires-Dist: daily-python~=0.19.
|
|
53
|
+
Requires-Dist: daily-python~=0.19.7; extra == "daily"
|
|
48
54
|
Provides-Extra: deepgram
|
|
49
|
-
Requires-Dist: deepgram-sdk~=4.
|
|
55
|
+
Requires-Dist: deepgram-sdk~=4.7.0; extra == "deepgram"
|
|
50
56
|
Provides-Extra: elevenlabs
|
|
51
|
-
Requires-Dist: websockets
|
|
57
|
+
Requires-Dist: websockets<15.0,>=13.1; extra == "elevenlabs"
|
|
52
58
|
Provides-Extra: fal
|
|
53
59
|
Requires-Dist: fal-client~=0.5.9; extra == "fal"
|
|
54
60
|
Provides-Extra: fireworks
|
|
55
61
|
Provides-Extra: fish
|
|
56
62
|
Requires-Dist: ormsgpack~=1.7.0; extra == "fish"
|
|
57
|
-
Requires-Dist: websockets
|
|
63
|
+
Requires-Dist: websockets<15.0,>=13.1; extra == "fish"
|
|
58
64
|
Provides-Extra: gladia
|
|
59
|
-
Requires-Dist: websockets
|
|
65
|
+
Requires-Dist: websockets<15.0,>=13.1; extra == "gladia"
|
|
60
66
|
Provides-Extra: google
|
|
61
67
|
Requires-Dist: google-cloud-speech~=2.32.0; extra == "google"
|
|
62
68
|
Requires-Dist: google-cloud-texttospeech~=2.26.0; extra == "google"
|
|
63
|
-
Requires-Dist: google-genai~=1.
|
|
64
|
-
Requires-Dist: websockets
|
|
69
|
+
Requires-Dist: google-genai~=1.24.0; extra == "google"
|
|
70
|
+
Requires-Dist: websockets<15.0,>=13.1; extra == "google"
|
|
65
71
|
Provides-Extra: grok
|
|
66
72
|
Provides-Extra: groq
|
|
67
73
|
Requires-Dist: groq~=0.23.0; extra == "groq"
|
|
68
74
|
Provides-Extra: gstreamer
|
|
69
75
|
Requires-Dist: pygobject~=3.50.0; extra == "gstreamer"
|
|
76
|
+
Provides-Extra: heygen
|
|
77
|
+
Requires-Dist: livekit>=0.22.0; extra == "heygen"
|
|
78
|
+
Requires-Dist: websockets<15.0,>=13.1; extra == "heygen"
|
|
79
|
+
Provides-Extra: inworld
|
|
70
80
|
Provides-Extra: krisp
|
|
71
81
|
Requires-Dist: pipecat-ai-krisp~=0.4.0; extra == "krisp"
|
|
72
82
|
Provides-Extra: koala
|
|
@@ -78,41 +88,47 @@ Requires-Dist: langchain-openai~=0.3.9; extra == "langchain"
|
|
|
78
88
|
Provides-Extra: livekit
|
|
79
89
|
Requires-Dist: livekit~=0.22.0; extra == "livekit"
|
|
80
90
|
Requires-Dist: livekit-api~=0.8.2; extra == "livekit"
|
|
81
|
-
Requires-Dist: tenacity
|
|
91
|
+
Requires-Dist: tenacity<10.0.0,>=8.2.3; extra == "livekit"
|
|
82
92
|
Provides-Extra: lmnt
|
|
83
|
-
Requires-Dist: websockets
|
|
93
|
+
Requires-Dist: websockets<15.0,>=13.1; extra == "lmnt"
|
|
84
94
|
Provides-Extra: local
|
|
85
95
|
Requires-Dist: pyaudio~=0.2.14; extra == "local"
|
|
86
96
|
Provides-Extra: mcp
|
|
87
97
|
Requires-Dist: mcp[cli]~=1.9.4; extra == "mcp"
|
|
88
98
|
Provides-Extra: mem0
|
|
89
99
|
Requires-Dist: mem0ai~=0.1.94; extra == "mem0"
|
|
100
|
+
Provides-Extra: mistral
|
|
90
101
|
Provides-Extra: mlx-whisper
|
|
91
102
|
Requires-Dist: mlx-whisper~=0.4.2; extra == "mlx-whisper"
|
|
92
103
|
Provides-Extra: moondream
|
|
104
|
+
Requires-Dist: accelerate~=1.10.0; extra == "moondream"
|
|
93
105
|
Requires-Dist: einops~=0.8.0; extra == "moondream"
|
|
106
|
+
Requires-Dist: pyvips[binary]~=3.0.0; extra == "moondream"
|
|
94
107
|
Requires-Dist: timm~=1.0.13; extra == "moondream"
|
|
95
|
-
Requires-Dist: transformers
|
|
108
|
+
Requires-Dist: transformers>=4.48.0; extra == "moondream"
|
|
96
109
|
Provides-Extra: nim
|
|
97
110
|
Provides-Extra: neuphonic
|
|
98
|
-
Requires-Dist:
|
|
99
|
-
Requires-Dist: websockets~=13.1; extra == "neuphonic"
|
|
111
|
+
Requires-Dist: websockets<15.0,>=13.1; extra == "neuphonic"
|
|
100
112
|
Provides-Extra: noisereduce
|
|
101
113
|
Requires-Dist: noisereduce~=3.0.3; extra == "noisereduce"
|
|
102
114
|
Provides-Extra: openai
|
|
103
|
-
Requires-Dist: websockets
|
|
115
|
+
Requires-Dist: websockets<15.0,>=13.1; extra == "openai"
|
|
104
116
|
Provides-Extra: openpipe
|
|
105
117
|
Requires-Dist: openpipe~=4.50.0; extra == "openpipe"
|
|
106
118
|
Provides-Extra: openrouter
|
|
107
119
|
Provides-Extra: perplexity
|
|
108
120
|
Provides-Extra: playht
|
|
109
|
-
Requires-Dist:
|
|
110
|
-
Requires-Dist: websockets~=13.1; extra == "playht"
|
|
121
|
+
Requires-Dist: websockets<15.0,>=13.1; extra == "playht"
|
|
111
122
|
Provides-Extra: qwen
|
|
112
123
|
Provides-Extra: rime
|
|
113
|
-
Requires-Dist: websockets
|
|
124
|
+
Requires-Dist: websockets<15.0,>=13.1; extra == "rime"
|
|
114
125
|
Provides-Extra: riva
|
|
115
|
-
Requires-Dist: nvidia-riva-client~=2.
|
|
126
|
+
Requires-Dist: nvidia-riva-client~=2.21.1; extra == "riva"
|
|
127
|
+
Provides-Extra: runner
|
|
128
|
+
Requires-Dist: python-dotenv<2.0.0,>=1.0.0; extra == "runner"
|
|
129
|
+
Requires-Dist: uvicorn<1.0.0,>=0.32.0; extra == "runner"
|
|
130
|
+
Requires-Dist: fastapi<0.117.0,>=0.115.6; extra == "runner"
|
|
131
|
+
Requires-Dist: pipecat-ai-small-webrtc-prebuilt>=1.0.0; extra == "runner"
|
|
116
132
|
Provides-Extra: sambanova
|
|
117
133
|
Provides-Extra: sentry
|
|
118
134
|
Requires-Dist: sentry-sdk~=2.23.1; extra == "sentry"
|
|
@@ -126,6 +142,8 @@ Provides-Extra: silero
|
|
|
126
142
|
Requires-Dist: onnxruntime~=1.20.1; extra == "silero"
|
|
127
143
|
Provides-Extra: simli
|
|
128
144
|
Requires-Dist: simli-ai~=0.1.10; extra == "simli"
|
|
145
|
+
Provides-Extra: soniox
|
|
146
|
+
Requires-Dist: websockets<15.0,>=13.1; extra == "soniox"
|
|
129
147
|
Provides-Extra: soundfile
|
|
130
148
|
Requires-Dist: soundfile~=0.13.0; extra == "soundfile"
|
|
131
149
|
Provides-Extra: speechmatics
|
|
@@ -137,14 +155,14 @@ Requires-Dist: opentelemetry-sdk>=1.33.0; extra == "tracing"
|
|
|
137
155
|
Requires-Dist: opentelemetry-api>=1.33.0; extra == "tracing"
|
|
138
156
|
Requires-Dist: opentelemetry-instrumentation>=0.54b0; extra == "tracing"
|
|
139
157
|
Provides-Extra: ultravox
|
|
140
|
-
Requires-Dist: transformers
|
|
141
|
-
Requires-Dist: vllm
|
|
158
|
+
Requires-Dist: transformers>=4.48.0; extra == "ultravox"
|
|
159
|
+
Requires-Dist: vllm>=0.9.0; extra == "ultravox"
|
|
142
160
|
Provides-Extra: webrtc
|
|
143
161
|
Requires-Dist: aiortc~=1.11.0; extra == "webrtc"
|
|
144
162
|
Requires-Dist: opencv-python~=4.11.0.86; extra == "webrtc"
|
|
145
163
|
Provides-Extra: websocket
|
|
146
|
-
Requires-Dist: websockets
|
|
147
|
-
Requires-Dist: fastapi
|
|
164
|
+
Requires-Dist: websockets<15.0,>=13.1; extra == "websocket"
|
|
165
|
+
Requires-Dist: fastapi<0.117.0,>=0.115.6; extra == "websocket"
|
|
148
166
|
Provides-Extra: whisper
|
|
149
167
|
Requires-Dist: faster-whisper~=1.1.1; extra == "whisper"
|
|
150
168
|
Dynamic: license-file
|
|
@@ -159,7 +177,7 @@ Dynamic: license-file
|
|
|
159
177
|
|
|
160
178
|
**Pipecat** is an open-source Python framework for building real-time voice and multimodal conversational agents. Orchestrate audio and video, AI services, different transports, and conversation pipelines effortlesslyโso you can focus on what makes your agent unique
|
|
161
179
|
|
|
162
|
-
> Want to dive right in?
|
|
180
|
+
> Want to dive right in? Try the [quickstart](https://docs.pipecat.ai/getting-started/quickstart).
|
|
163
181
|
|
|
164
182
|
## ๐ What You Can Build
|
|
165
183
|
|
|
@@ -182,11 +200,11 @@ Dynamic: license-file
|
|
|
182
200
|
## ๐ฌ See it in action
|
|
183
201
|
|
|
184
202
|
<p float="left">
|
|
185
|
-
<a href="https://github.com/pipecat-ai/pipecat/tree/main/
|
|
186
|
-
<a href="https://github.com/pipecat-ai/pipecat/tree/main/
|
|
203
|
+
<a href="https://github.com/pipecat-ai/pipecat-examples/tree/main/simple-chatbot"><img src="https://raw.githubusercontent.com/pipecat-ai/pipecat-examples/main/simple-chatbot/image.png" width="400" /></a>
|
|
204
|
+
<a href="https://github.com/pipecat-ai/pipecat-examples/tree/main/storytelling-chatbot"><img src="https://raw.githubusercontent.com/pipecat-ai/pipecat-examples/main/storytelling-chatbot/image.png" width="400" /></a>
|
|
187
205
|
<br/>
|
|
188
|
-
<a href="https://github.com/pipecat-ai/pipecat/tree/main/
|
|
189
|
-
<a href="https://github.com/pipecat-ai/pipecat/tree/main/
|
|
206
|
+
<a href="https://github.com/pipecat-ai/pipecat-examples/tree/main/translation-chatbot"><img src="https://raw.githubusercontent.com/pipecat-ai/pipecat-examples/main/translation-chatbot/image.png" width="400" /></a>
|
|
207
|
+
<a href="https://github.com/pipecat-ai/pipecat-examples/tree/main/moondream-chatbot"><img src="https://raw.githubusercontent.com/pipecat-ai/pipecat-examples/main/moondream-chatbot/image.png" width="400" /></a>
|
|
190
208
|
</p>
|
|
191
209
|
|
|
192
210
|
## ๐ฑ Client SDKs
|
|
@@ -202,98 +220,124 @@ You can connect to Pipecat from any platform using our official SDKs:
|
|
|
202
220
|
|
|
203
221
|
## ๐งฉ Available services
|
|
204
222
|
|
|
205
|
-
| Category | Services
|
|
206
|
-
| ------------------- |
|
|
207
|
-
| Speech-to-Text | [AssemblyAI](https://docs.pipecat.ai/server/services/stt/assemblyai), [AWS](https://docs.pipecat.ai/server/services/stt/aws), [Azure](https://docs.pipecat.ai/server/services/stt/azure), [Cartesia](https://docs.pipecat.ai/server/services/stt/cartesia), [Deepgram](https://docs.pipecat.ai/server/services/stt/deepgram), [Fal Wizper](https://docs.pipecat.ai/server/services/stt/fal), [Gladia](https://docs.pipecat.ai/server/services/stt/gladia), [Google](https://docs.pipecat.ai/server/services/stt/google), [Groq (Whisper)](https://docs.pipecat.ai/server/services/stt/groq), [OpenAI (Whisper)](https://docs.pipecat.ai/server/services/stt/openai), [
|
|
208
|
-
| LLMs | [Anthropic](https://docs.pipecat.ai/server/services/llm/anthropic), [AWS](https://docs.pipecat.ai/server/services/llm/aws), [Azure](https://docs.pipecat.ai/server/services/llm/azure), [Cerebras](https://docs.pipecat.ai/server/services/llm/cerebras), [DeepSeek](https://docs.pipecat.ai/server/services/llm/deepseek), [Fireworks AI](https://docs.pipecat.ai/server/services/llm/fireworks), [Gemini](https://docs.pipecat.ai/server/services/llm/gemini), [Grok](https://docs.pipecat.ai/server/services/llm/grok), [Groq](https://docs.pipecat.ai/server/services/llm/groq), [NVIDIA NIM](https://docs.pipecat.ai/server/services/llm/nim), [Ollama](https://docs.pipecat.ai/server/services/llm/ollama), [OpenAI](https://docs.pipecat.ai/server/services/llm/openai), [OpenRouter](https://docs.pipecat.ai/server/services/llm/openrouter), [Perplexity](https://docs.pipecat.ai/server/services/llm/perplexity), [Qwen](https://docs.pipecat.ai/server/services/llm/qwen), [SambaNova](https://docs.pipecat.ai/server/services/llm/sambanova) [Together AI](https://docs.pipecat.ai/server/services/llm/together)
|
|
209
|
-
| Text-to-Speech | [AWS](https://docs.pipecat.ai/server/services/tts/aws), [Azure](https://docs.pipecat.ai/server/services/tts/azure), [Cartesia](https://docs.pipecat.ai/server/services/tts/cartesia), [Deepgram](https://docs.pipecat.ai/server/services/tts/deepgram), [ElevenLabs](https://docs.pipecat.ai/server/services/tts/elevenlabs), [
|
|
210
|
-
| Speech-to-Speech | [AWS Nova Sonic](https://docs.pipecat.ai/server/services/s2s/aws), [Gemini Multimodal Live](https://docs.pipecat.ai/server/services/s2s/gemini), [OpenAI Realtime](https://docs.pipecat.ai/server/services/s2s/openai)
|
|
211
|
-
| Transport | [Daily (WebRTC)](https://docs.pipecat.ai/server/services/transport/daily), [FastAPI Websocket](https://docs.pipecat.ai/server/services/transport/fastapi-websocket), [SmallWebRTCTransport](https://docs.pipecat.ai/server/services/transport/small-webrtc), [WebSocket Server](https://docs.pipecat.ai/server/services/transport/websocket-server), Local
|
|
212
|
-
| Serializers | [Plivo](https://docs.pipecat.ai/server/utilities/serializers/plivo), [Twilio](https://docs.pipecat.ai/server/utilities/serializers/twilio), [Telnyx](https://docs.pipecat.ai/server/utilities/serializers/telnyx)
|
|
213
|
-
| Video | [Tavus](https://docs.pipecat.ai/server/services/video/tavus), [Simli](https://docs.pipecat.ai/server/services/video/simli)
|
|
214
|
-
| Memory | [mem0](https://docs.pipecat.ai/server/services/memory/mem0)
|
|
215
|
-
| Vision & Image | [fal](https://docs.pipecat.ai/server/services/image-generation/fal), [Google Imagen](https://docs.pipecat.ai/server/services/image-generation/fal), [Moondream](https://docs.pipecat.ai/server/services/vision/moondream)
|
|
216
|
-
| Audio Processing | [Silero VAD](https://docs.pipecat.ai/server/utilities/audio/silero-vad-analyzer), [Krisp](https://docs.pipecat.ai/server/utilities/audio/krisp-filter), [Koala](https://docs.pipecat.ai/server/utilities/audio/koala-filter), [Noisereduce](https://docs.pipecat.ai/server/utilities/audio/noisereduce-filter)
|
|
217
|
-
| Analytics & Metrics | [OpenTelemetry](https://docs.pipecat.ai/server/utilities/opentelemetry), [Sentry](https://docs.pipecat.ai/server/services/analytics/sentry)
|
|
223
|
+
| Category | Services |
|
|
224
|
+
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
225
|
+
| Speech-to-Text | [AssemblyAI](https://docs.pipecat.ai/server/services/stt/assemblyai), [AWS](https://docs.pipecat.ai/server/services/stt/aws), [Azure](https://docs.pipecat.ai/server/services/stt/azure), [Cartesia](https://docs.pipecat.ai/server/services/stt/cartesia), [Deepgram](https://docs.pipecat.ai/server/services/stt/deepgram), [Fal Wizper](https://docs.pipecat.ai/server/services/stt/fal), [Gladia](https://docs.pipecat.ai/server/services/stt/gladia), [Google](https://docs.pipecat.ai/server/services/stt/google), [Groq (Whisper)](https://docs.pipecat.ai/server/services/stt/groq), [NVIDIA Riva](https://docs.pipecat.ai/server/services/stt/riva), [OpenAI (Whisper)](https://docs.pipecat.ai/server/services/stt/openai), [SambaNova (Whisper)](https://docs.pipecat.ai/server/services/stt/sambanova), [Soniox](https://docs.pipecat.ai/server/services/stt/soniox), [Speechmatics](https://docs.pipecat.ai/server/services/stt/speechmatics), [Ultravox](https://docs.pipecat.ai/server/services/stt/ultravox), [Whisper](https://docs.pipecat.ai/server/services/stt/whisper) |
|
|
226
|
+
| LLMs | [Anthropic](https://docs.pipecat.ai/server/services/llm/anthropic), [AWS](https://docs.pipecat.ai/server/services/llm/aws), [Azure](https://docs.pipecat.ai/server/services/llm/azure), [Cerebras](https://docs.pipecat.ai/server/services/llm/cerebras), [DeepSeek](https://docs.pipecat.ai/server/services/llm/deepseek), [Fireworks AI](https://docs.pipecat.ai/server/services/llm/fireworks), [Gemini](https://docs.pipecat.ai/server/services/llm/gemini), [Grok](https://docs.pipecat.ai/server/services/llm/grok), [Groq](https://docs.pipecat.ai/server/services/llm/groq), [Mistral](https://docs.pipecat.ai/server/services/llm/mistral), [NVIDIA NIM](https://docs.pipecat.ai/server/services/llm/nim), [Ollama](https://docs.pipecat.ai/server/services/llm/ollama), [OpenAI](https://docs.pipecat.ai/server/services/llm/openai), [OpenRouter](https://docs.pipecat.ai/server/services/llm/openrouter), [Perplexity](https://docs.pipecat.ai/server/services/llm/perplexity), [Qwen](https://docs.pipecat.ai/server/services/llm/qwen), [SambaNova](https://docs.pipecat.ai/server/services/llm/sambanova) [Together AI](https://docs.pipecat.ai/server/services/llm/together) |
|
|
227
|
+
| Text-to-Speech | [Async](https://docs.pipecat.ai/server/services/tts/asyncai), [AWS](https://docs.pipecat.ai/server/services/tts/aws), [Azure](https://docs.pipecat.ai/server/services/tts/azure), [Cartesia](https://docs.pipecat.ai/server/services/tts/cartesia), [Deepgram](https://docs.pipecat.ai/server/services/tts/deepgram), [ElevenLabs](https://docs.pipecat.ai/server/services/tts/elevenlabs), [Fish](https://docs.pipecat.ai/server/services/tts/fish), [Google](https://docs.pipecat.ai/server/services/tts/google), [Groq](https://docs.pipecat.ai/server/services/tts/groq), [Inworld](https://docs.pipecat.ai/server/services/tts/inworld), [LMNT](https://docs.pipecat.ai/server/services/tts/lmnt), [MiniMax](https://docs.pipecat.ai/server/services/tts/minimax), [Neuphonic](https://docs.pipecat.ai/server/services/tts/neuphonic), [NVIDIA Riva](https://docs.pipecat.ai/server/services/tts/riva), [OpenAI](https://docs.pipecat.ai/server/services/tts/openai), [Piper](https://docs.pipecat.ai/server/services/tts/piper), [PlayHT](https://docs.pipecat.ai/server/services/tts/playht), [Rime](https://docs.pipecat.ai/server/services/tts/rime), [Sarvam](https://docs.pipecat.ai/server/services/tts/sarvam), [XTTS](https://docs.pipecat.ai/server/services/tts/xtts) |
|
|
228
|
+
| Speech-to-Speech | [AWS Nova Sonic](https://docs.pipecat.ai/server/services/s2s/aws), [Gemini Multimodal Live](https://docs.pipecat.ai/server/services/s2s/gemini), [OpenAI Realtime](https://docs.pipecat.ai/server/services/s2s/openai) |
|
|
229
|
+
| Transport | [Daily (WebRTC)](https://docs.pipecat.ai/server/services/transport/daily), [FastAPI Websocket](https://docs.pipecat.ai/server/services/transport/fastapi-websocket), [SmallWebRTCTransport](https://docs.pipecat.ai/server/services/transport/small-webrtc), [WebSocket Server](https://docs.pipecat.ai/server/services/transport/websocket-server), Local |
|
|
230
|
+
| Serializers | [Plivo](https://docs.pipecat.ai/server/utilities/serializers/plivo), [Twilio](https://docs.pipecat.ai/server/utilities/serializers/twilio), [Telnyx](https://docs.pipecat.ai/server/utilities/serializers/telnyx) |
|
|
231
|
+
| Video | [HeyGen](https://docs.pipecat.ai/server/services/video/heygen), [Tavus](https://docs.pipecat.ai/server/services/video/tavus), [Simli](https://docs.pipecat.ai/server/services/video/simli) |
|
|
232
|
+
| Memory | [mem0](https://docs.pipecat.ai/server/services/memory/mem0) |
|
|
233
|
+
| Vision & Image | [fal](https://docs.pipecat.ai/server/services/image-generation/fal), [Google Imagen](https://docs.pipecat.ai/server/services/image-generation/fal), [Moondream](https://docs.pipecat.ai/server/services/vision/moondream) |
|
|
234
|
+
| Audio Processing | [Silero VAD](https://docs.pipecat.ai/server/utilities/audio/silero-vad-analyzer), [Krisp](https://docs.pipecat.ai/server/utilities/audio/krisp-filter), [Koala](https://docs.pipecat.ai/server/utilities/audio/koala-filter), [Noisereduce](https://docs.pipecat.ai/server/utilities/audio/noisereduce-filter) |
|
|
235
|
+
| Analytics & Metrics | [OpenTelemetry](https://docs.pipecat.ai/server/utilities/opentelemetry), [Sentry](https://docs.pipecat.ai/server/services/analytics/sentry) |
|
|
218
236
|
|
|
219
237
|
๐ [View full services documentation โ](https://docs.pipecat.ai/server/services/supported-services)
|
|
220
238
|
|
|
221
239
|
## โก Getting started
|
|
222
240
|
|
|
223
|
-
You can get started with Pipecat running on your local machine, then move your agent processes to the cloud when you
|
|
241
|
+
You can get started with Pipecat running on your local machine, then move your agent processes to the cloud when you're ready.
|
|
224
242
|
|
|
225
|
-
|
|
226
|
-
# Install the module
|
|
227
|
-
pip install pipecat-ai
|
|
243
|
+
1. Install uv
|
|
228
244
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
```
|
|
245
|
+
```bash
|
|
246
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
247
|
+
```
|
|
232
248
|
|
|
233
|
-
|
|
249
|
+
> **Need help?** Refer to the [uv install documentation](https://docs.astral.sh/uv/getting-started/installation/).
|
|
234
250
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
```
|
|
251
|
+
2. Install the module
|
|
252
|
+
|
|
253
|
+
```bash
|
|
254
|
+
# For new projects
|
|
255
|
+
uv init my-pipecat-app
|
|
256
|
+
cd my-pipecat-app
|
|
257
|
+
uv add pipecat-ai
|
|
258
|
+
|
|
259
|
+
# Or for existing projects
|
|
260
|
+
uv add pipecat-ai
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
3. Set up your environment
|
|
264
|
+
|
|
265
|
+
```bash
|
|
266
|
+
cp env.example .env
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
4. To keep things lightweight, only the core framework is included by default. If you need support for third-party AI services, you can add the necessary dependencies with:
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
uv add "pipecat-ai[option,...]"
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
> **Using pip?** You can still use `pip install pipecat-ai` and `pip install "pipecat-ai[option,...]"` to get set up.
|
|
238
276
|
|
|
239
277
|
## ๐งช Code examples
|
|
240
278
|
|
|
241
279
|
- [Foundational](https://github.com/pipecat-ai/pipecat/tree/main/examples/foundational) โ small snippets that build on each other, introducing one or two concepts at a time
|
|
242
|
-
- [Example apps](https://github.com/pipecat-ai/pipecat
|
|
280
|
+
- [Example apps](https://github.com/pipecat-ai/pipecat-examples) โ complete applications that you can use as starting points for development
|
|
243
281
|
|
|
244
|
-
## ๐ ๏ธ
|
|
282
|
+
## ๐ ๏ธ Contributing to the framework
|
|
245
283
|
|
|
246
|
-
|
|
284
|
+
### Prerequisites
|
|
247
285
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
source venv/bin/activate
|
|
251
|
-
```
|
|
286
|
+
**Minimum Python Version:** 3.10
|
|
287
|
+
**Recommended Python Version:** 3.12
|
|
252
288
|
|
|
253
|
-
|
|
289
|
+
### Setup Steps
|
|
254
290
|
|
|
255
|
-
|
|
256
|
-
|
|
291
|
+
1. Clone the repository and navigate to it:
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
git clone https://github.com/pipecat-ai/pipecat.git
|
|
295
|
+
cd pipecat
|
|
257
296
|
```
|
|
258
297
|
|
|
259
|
-
|
|
298
|
+
2. Install development and testing dependencies:
|
|
260
299
|
|
|
261
|
-
```
|
|
262
|
-
|
|
300
|
+
```bash
|
|
301
|
+
uv sync --group dev --all-extras --no-extra gstreamer --no-extra krisp --no-extra local
|
|
263
302
|
```
|
|
264
303
|
|
|
265
|
-
|
|
304
|
+
3. Install the git pre-commit hooks:
|
|
266
305
|
|
|
267
|
-
```
|
|
268
|
-
|
|
306
|
+
```bash
|
|
307
|
+
uv run pre-commit install
|
|
269
308
|
```
|
|
270
309
|
|
|
271
|
-
|
|
310
|
+
### Python 3.13+ Compatibility
|
|
272
311
|
|
|
273
|
-
|
|
312
|
+
Some features require PyTorch, which doesn't yet support Python 3.13+. Install using:
|
|
274
313
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
314
|
+
```bash
|
|
315
|
+
uv sync --group dev --all-extras \
|
|
316
|
+
--no-extra gstreamer \
|
|
317
|
+
--no-extra krisp \
|
|
318
|
+
--no-extra local \
|
|
319
|
+
--no-extra local-smart-turn \
|
|
320
|
+
--no-extra mlx-whisper \
|
|
321
|
+
--no-extra moondream \
|
|
322
|
+
--no-extra ultravox
|
|
323
|
+
```
|
|
278
324
|
|
|
279
|
-
|
|
325
|
+
> **Tip:** For full compatibility, use Python 3.12: `uv python pin 3.12`
|
|
280
326
|
|
|
281
|
-
|
|
282
|
-
pip install "path_to_this_repo[option,...]"
|
|
283
|
-
```
|
|
327
|
+
> **Note**: Some extras (local, gstreamer) require system dependencies. See documentation if you encounter build errors.
|
|
284
328
|
|
|
285
329
|
### Running tests
|
|
286
330
|
|
|
287
|
-
|
|
331
|
+
To run all tests, from the root directory:
|
|
288
332
|
|
|
289
|
-
```
|
|
290
|
-
|
|
333
|
+
```bash
|
|
334
|
+
uv run pytest
|
|
291
335
|
```
|
|
292
336
|
|
|
293
|
-
|
|
337
|
+
Run a specific test suite:
|
|
294
338
|
|
|
295
|
-
```
|
|
296
|
-
pytest
|
|
339
|
+
```bash
|
|
340
|
+
uv run pytest tests/test_name.py
|
|
297
341
|
```
|
|
298
342
|
|
|
299
343
|
### Setting up your editor
|