
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
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.
Want to dive right in? Try the quickstart.
🧭 Looking to build structured conversations? Check out Pipecat Flows for managing complex conversational states and transitions.
You can connect to Pipecat from any platform using our official SDKs:
Platform | SDK Repo | Description |
---|---|---|
Web | pipecat-client-web | JavaScript and React client SDKs |
iOS | pipecat-client-ios | Swift SDK for iOS |
Android | pipecat-client-android | Kotlin SDK for Android |
C++ | pipecat-client-cxx | C++ client SDK |
Category | Services |
---|---|
Speech-to-Text | AssemblyAI, AWS, Azure, Cartesia, Deepgram, Fal Wizper, Gladia, Google, Groq (Whisper), NVIDIA Riva, OpenAI (Whisper), SambaNova (Whisper), Soniox, Speechmatics, Ultravox, Whisper |
LLMs | Anthropic, AWS, Azure, Cerebras, DeepSeek, Fireworks AI, Gemini, Grok, Groq, Mistral, NVIDIA NIM, Ollama, OpenAI, OpenRouter, Perplexity, Qwen, SambaNova Together AI |
Text-to-Speech | Async, AWS, Azure, Cartesia, Deepgram, ElevenLabs, Fish, Google, Groq, Inworld, LMNT, MiniMax, Neuphonic, NVIDIA Riva, OpenAI, Piper, PlayHT, Rime, Sarvam, XTTS |
Speech-to-Speech | AWS Nova Sonic, Gemini Multimodal Live, OpenAI Realtime |
Transport | Daily (WebRTC), FastAPI Websocket, SmallWebRTCTransport, WebSocket Server, Local |
Serializers | Plivo, Twilio, Telnyx |
Video | HeyGen, Tavus, Simli |
Memory | mem0 |
Vision & Image | fal, Google Imagen, Moondream |
Audio Processing | Silero VAD, Krisp, Koala, ai-coustics, Noisereduce |
Analytics & Metrics | OpenTelemetry, Sentry |
📚 View full services documentation →
You can get started with Pipecat running on your local machine, then move your agent processes to the cloud when you're ready.
Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
Need help? Refer to the uv install documentation.
Install the module
# For new projects
uv init my-pipecat-app
cd my-pipecat-app
uv add pipecat-ai
# Or for existing projects
uv add pipecat-ai
Set up your environment
cp env.example .env
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:
uv add "pipecat-ai[option,...]"
Using pip? You can still use
pip install pipecat-ai
andpip install "pipecat-ai[option,...]"
to get set up.
Minimum Python Version: 3.10 Recommended Python Version: 3.12
Clone the repository and navigate to it:
git clone https://github.com/pipecat-ai/pipecat.git
cd pipecat
Install development and testing dependencies:
uv sync --group dev --all-extras --no-extra gstreamer --no-extra krisp --no-extra local
Install the git pre-commit hooks:
uv run pre-commit install
Some features require PyTorch, which doesn't yet support Python 3.13+. Install using:
uv sync --group dev --all-extras \
--no-extra gstreamer \
--no-extra krisp \
--no-extra local \
--no-extra local-smart-turn \
--no-extra mlx-whisper \
--no-extra moondream \
--no-extra ultravox
Tip: For full compatibility, use Python 3.12:
uv python pin 3.12
Note: Some extras (local, gstreamer) require system dependencies. See documentation if you encounter build errors.
To run all tests, from the root directory:
uv run pytest
Run a specific test suite:
uv run pytest tests/test_name.py
This project uses strict PEP 8 formatting via Ruff.
You can use use-package to install emacs-lazy-ruff package and configure ruff
arguments:
(use-package lazy-ruff
:ensure t
:hook ((python-mode . lazy-ruff-mode))
:config
(setq lazy-ruff-format-command "ruff format")
(setq lazy-ruff-check-command "ruff check --select I"))
ruff
was installed in the venv
environment described before, so you should be able to use pyvenv-auto to automatically load that environment inside Emacs.
(use-package pyvenv-auto
:ensure t
:defer t
:hook ((python-mode . pyvenv-auto-run)))
Install the
Ruff extension. Then edit the user settings (Ctrl-Shift-P Open User Settings (JSON)
) and set it as the default Python formatter, and enable formatting on save:
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff",
"editor.formatOnSave": true
}
ruff
was installed in the venv
environment described before, now to enable autoformatting on save, go to File
-> Settings
-> Tools
-> File Watchers
and add a new watcher with the following settings:
Ruff formatter
Python
$ContentRoot$
format $FilePath$
$PyInterpreterDirectory$/ruff
We welcome contributions from the community! Whether you're fixing bugs, improving documentation, or adding new features, here's how you can help:
Before submitting a pull request, please check existing issues and PRs to avoid duplicates.
We aim to review all contributions promptly and provide constructive feedback to help get your changes merged.
FAQs
An open source framework for voice (and multimodal) assistants
We found that pipecat-ai demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.