Repository Analysis

pipecat-ai/pipecat

Open Source framework for voice and multimodal conversational AI

36.2 Strong AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of pipecat-ai/pipecat, a Python project with 13,416 GitHub stars. SynthScan v2.0 examined 320,790 lines of code across 1299 source files, recording 6476 pattern matches distributed across 26 syntactic categories. The overall adjusted score of 36.2 places this repository in the Strong AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

36.2
Adjusted Score
36.2
Raw Score
100%
Time Factor
2026-07-14
Last Push
13.4K
Stars
Python
Language
320.8K
Lines of Code
1.3K
Files
6.5K
Pattern Hits
2026-07-14
Scan Date
0.80
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 4HIGH 1038MEDIUM 528LOW 4906

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 6476 distinct pattern matches across 26 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Cross-File Repetition955 hits · 4775 pts
SeverityFileLineSnippetContext
HIGHCONTRIBUTING.md0get the output audio sample rate. returns: the output sample rate in hz.STRING
HIGHsrc/pipecat/transports/base_input.py0get the output audio sample rate. returns: the output sample rate in hz.STRING
HIGHsrc/pipecat/transports/base_output.py0get the output audio sample rate. returns: the output sample rate in hz.STRING
HIGHsrc/pipecat/transports/lemonslice/transport.py0get the output audio sample rate. returns: the output sample rate in hz.STRING
HIGHsrc/pipecat/transports/tavus/transport.py0get the output audio sample rate. returns: the output sample rate in hz.STRING
HIGHsrc/pipecat/services/heygen/client.py0get the output audio sample rate. returns: the output sample rate in hz.STRING
HIGHsrc/pipecat/transports/daily/transport.py0get the output audio sample rate. returns: the output sample rate in hz.STRING
HIGHsrc/pipecat/audio/vad/vad_analyzer.py0get the output audio sample rate. returns: the output sample rate in hz.STRING
HIGHCOMMUNITY_INTEGRATIONS.md0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/lmnt/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/cartesia/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/cartesia/turns/stt.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/inworld/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/asyncai/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/speechmatics/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/azure/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/rime/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/google/stt.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/soniox/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/soniox/stt.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/deepgram/stt.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/deepgram/flux/base.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/deepgram/sagemaker/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/deepgram/sagemaker/stt.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/camb/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/groq/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/tavus/video.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/smallest/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/minimax/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/elevenlabs/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/neuphonic/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/gradium/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/piper/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/nvidia/sagemaker/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/nvidia/sagemaker/stt.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/resembleai/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/sarvam/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/sarvam/stt.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/xtts/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/aws/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/fish/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/mistral/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/openai/tts.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/openai/base_llm.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHsrc/pipecat/services/openai/stt.py0check if this service can generate processing metrics. returns: true, as fish audio service supports metrics generation.STRING
HIGHtests/test_auto_register_tools.py0get a restaurant recommendation. args: location: the city and state, e.g. "san francisco, ca".STRING
HIGHexamples/function-calling/function-calling-cerebras.py0get a restaurant recommendation. args: location: the city and state, e.g. "san francisco, ca".STRING
HIGH…ion-calling/function-calling-openai-responses-async.py0get a restaurant recommendation. args: location: the city and state, e.g. "san francisco, ca".STRING
HIGHexamples/function-calling/function-calling-novita.py0get a restaurant recommendation. args: location: the city and state, e.g. "san francisco, ca".STRING
HIGHexamples/function-calling/function-calling-sambanova.py0get a restaurant recommendation. args: location: the city and state, e.g. "san francisco, ca".STRING
HIGHexamples/function-calling/function-calling-azure.py0get a restaurant recommendation. args: location: the city and state, e.g. "san francisco, ca".STRING
HIGHexamples/function-calling/function-calling-inception.py0get a restaurant recommendation. args: location: the city and state, e.g. "san francisco, ca".STRING
HIGHexamples/function-calling/function-calling-google.py0get a restaurant recommendation. args: location: the city and state, e.g. "san francisco, ca".STRING
HIGH…ples/function-calling/function-calling-google-async.py0get a restaurant recommendation. args: location: the city and state, e.g. "san francisco, ca".STRING
HIGHexamples/function-calling/function-calling-nvidia.py0get a restaurant recommendation. args: location: the city and state, e.g. "san francisco, ca".STRING
HIGH…tion-calling/function-calling-openai-responses-http.py0get a restaurant recommendation. args: location: the city and state, e.g. "san francisco, ca".STRING
HIGHexamples/function-calling/function-calling-grok.py0get a restaurant recommendation. args: location: the city and state, e.g. "san francisco, ca".STRING
HIGH…les/function-calling/function-calling-google-vertex.py0get a restaurant recommendation. args: location: the city and state, e.g. "san francisco, ca".STRING
HIGH…ples/function-calling/function-calling-openai-async.py0get a restaurant recommendation. args: location: the city and state, e.g. "san francisco, ca".STRING
HIGHexamples/function-calling/function-calling-aws.py0get a restaurant recommendation. args: location: the city and state, e.g. "san francisco, ca".STRING
895 more matches not shown…
Hyper-Verbose Identifiers3523 hits · 3328 pts
SeverityFileLineSnippetContext
LOWCHANGELOG.md10293 async def on_conversation_item_created(llm, item_id, item):CODE
LOWCHANGELOG.md10297 async def on_conversation_item_updated(llm, item_id, item):CODE
LOWtests/test_async_tool_messages.py61 def test_parses_completed_sentinel_result(self):CODE
LOWtests/test_async_tool_messages.py70 def test_returns_none_for_regular_user_message(self):CODE
LOWtests/test_async_tool_messages.py73 def test_returns_none_for_regular_assistant_message(self):CODE
LOWtests/test_async_tool_messages.py76 def test_returns_none_for_regular_tool_message(self):CODE
LOWtests/test_async_tool_messages.py91 def test_returns_none_for_developer_message_without_payload(self):CODE
LOWtests/test_async_tool_messages.py100 def test_returns_none_for_invalid_json_content(self):CODE
LOWtests/test_async_tool_messages.py103 def test_returns_none_for_non_dict_json(self):CODE
LOWtests/test_async_tool_messages.py106 def test_returns_none_for_wrong_payload_type(self):CODE
LOWtests/test_async_tool_messages.py117 def test_returns_none_when_tool_call_id_missing(self):CODE
LOWtests/test_async_tool_messages.py128 def test_returns_none_when_status_invalid(self):CODE
LOWtests/test_async_tool_messages.py141 def test_returns_none_for_non_string_content(self):CODE
LOWtests/test_async_tool_messages.py150 def test_returns_none_for_missing_role(self):CODE
LOWtests/test_async_tool_messages.py157 def test_started_message_shape(self):CODE
LOWtests/test_async_tool_messages.py170 def test_intermediate_message_shape(self):CODE
LOWtests/test_async_tool_messages.py194 def test_final_message_with_completed_sentinel(self):CODE
LOWtests/test_async_tool_messages.py216 def test_intermediate_round_trip(self):CODE
LOWtests/test_openai_realtime_reasoning.py32def test_session_properties_accepts_reasoning_object():CODE
LOWtests/test_openai_realtime_reasoning.py38def test_session_properties_coerces_reasoning_dict():CODE
LOWtests/test_openai_realtime_reasoning.py45def test_reasoning_accepts_future_effort_strings():CODE
LOWtests/test_openai_realtime_reasoning.py51def test_reasoning_serializes_into_session_update():CODE
LOWtests/test_openai_realtime_reasoning.py89async def test_outgoing_session_update_strips_reasoning_on_unsupported_model():CODE
LOWtests/test_openai_realtime_reasoning.py119async def test_outgoing_session_update_keeps_reasoning_on_supported_model():CODE
LOWtests/test_openai_realtime_reasoning.py143async def test_supported_model_variant_keeps_reasoning():CODE
LOWtests/test_openai_realtime_reasoning.py168async def test_no_warning_when_reasoning_is_unset_on_unsupported_model():CODE
LOWtests/test_openai_realtime_reasoning.py193async def test_runtime_settings_update_with_reasoning_triggers_session_update():CODE
LOWtests/test_openai_realtime_reasoning.py224async def test_runtime_settings_update_strips_reasoning_on_unsupported_model():CODE
LOWtests/test_markdown_text_filter.py17 async def test_basic_markdown_removal(self):CODE
LOWtests/test_markdown_text_filter.py59 async def test_repeated_character_removal(self):STRING
LOWtests/test_markdown_text_filter.py81 async def test_preserve_repeated_characters(self):CODE
LOWtests/test_markdown_text_filter.py96 async def test_numbered_list_preservation(self):CODE
LOWtests/test_markdown_text_filter.py113 async def test_html_entity_conversion(self):CODE
LOWtests/test_markdown_text_filter.py167 async def test_numbered_list_marker_handling(self):CODE
LOWtests/test_markdown_text_filter.py185 async def test_inline_code_handling(self):CODE
LOWtests/test_markdown_text_filter.py199 async def test_simple_table_removal(self):CODE
LOWtests/test_markdown_text_filter.py283 async def test_closed_atx_header_stripping(self):CODE
LOWtests/test_markdown_text_filter.py300 async def test_header_trailing_space_preserved(self):CODE
LOWtests/test_markdown_text_filter.py318 async def test_hash_in_content_not_treated_as_header(self):CODE
LOWtests/test_registry.py26 async def test_register_remote_task(self):CODE
LOWtests/test_registry.py35 async def test_duplicate_registration_returns_false(self):CODE
LOWtests/test_registry.py61 async def test_get_unknown_task_returns_none(self):CODE
LOWtests/test_registry.py73 async def test_watch_fires_on_registration(self):CODE
LOWtests/test_registry.py88 async def test_watch_is_idempotent_for_same_handler(self):CODE
LOWtests/test_registry.py103 async def test_watch_does_not_fire_for_other_tasks(self):CODE
LOWtests/test_registry.py117 async def test_watch_does_not_fire_on_duplicate(self):CODE
LOWtests/test_registry.py152 async def test_watch_fires_immediately_if_already_registered(self):CODE
LOWtests/test_registry.py167 async def test_runner_name_property(self):CODE
LOWtests/test_registry.py171 async def test_multiple_remote_runners(self):CODE
LOWtests/test_service_init.py71def _import_all_service_modules():CODE
LOWtests/test_service_init.py115def _concrete_service_classes():CODE
LOWtests/test_service_init.py140def test_delta_defaults_are_not_given(settings_cls):CODE
LOWtests/test_service_init.py163def test_service_settings_complete(service_cls):CODE
LOWtests/test_openai_realtime_audio_frames.py158async def test_single_item_response_unchanged():CODE
LOWtests/test_openai_realtime_audio_frames.py199async def test_interrupt_during_single_item_truncates_against_that_item():CODE
LOWtests/test_openai_realtime_audio_frames.py231async def test_multi_item_response_overlapping_emits_single_tts_turn():CODE
LOWtests/test_openai_realtime_audio_frames.py285async def test_multi_item_response_non_overlapping_emits_single_tts_turn():CODE
LOWtests/test_openai_realtime_audio_frames.py328async def test_interrupt_during_second_item_truncates_against_second_item():CODE
LOWtests/test_pgmq_bus.py154 async def test_send_publishes_to_pgmq(self):CODE
LOWtests/test_pgmq_bus.py168 async def test_local_message_stays_local(self):CODE
3463 more matches not shown…
Decorative Section Separators318 hits · 1118 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_openai_realtime_reasoning.py27# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_realtime_reasoning.py29# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_realtime_reasoning.py58# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_realtime_reasoning.py60# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_realtime_reasoning.py187# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_realtime_reasoning.py189# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_service_init.py58# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_service_init.py60# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_service_init.py89# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_service_init.py91# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_service_init.py134# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_service_init.py136# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_service_init.py157# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_service_init.py159# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_realtime_audio_frames.py31# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_realtime_audio_frames.py33# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_realtime_audio_frames.py152# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_realtime_audio_frames.py154# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_realtime_audio_frames.py193# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_realtime_audio_frames.py195# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_realtime_audio_frames.py225# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_realtime_audio_frames.py227# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_realtime_audio_frames.py279# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_realtime_audio_frames.py281# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_realtime_audio_frames.py322# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_realtime_audio_frames.py324# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_elevenlabs_tts.py266# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_elevenlabs_tts.py273# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_service_language.py71# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_service_language.py73# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_service_language.py118# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_service_language.py120# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_service_language.py160# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_service_language.py162# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_service_language.py207# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_service_language.py209# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_service_language.py24# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_service_language.py26# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_responses_http.py89# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_responses_http.py91# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_responses_http.py190# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_responses_http.py192# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_realtime_user_audio.py35# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_realtime_user_audio.py37# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_realtime_user_audio.py91# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_realtime_user_audio.py93# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_realtime_user_audio.py190# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_openai_realtime_user_audio.py192# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_aggregated_frame_sequencer.py56# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_aggregated_frame_sequencer.py58# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_aggregated_frame_sequencer.py108# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_aggregated_frame_sequencer.py110# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_aggregated_frame_sequencer.py153# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_aggregated_frame_sequencer.py155# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_aggregated_frame_sequencer.py188# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_aggregated_frame_sequencer.py190# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_aggregated_frame_sequencer.py284# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_aggregated_frame_sequencer.py286# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_aggregated_frame_sequencer.py311# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_aggregated_frame_sequencer.py313# ---------------------------------------------------------------------------COMMENT
258 more matches not shown…
Excessive Try-Catch Wrapping608 hits · 642 pts
SeverityFileLineSnippetContext
LOWCOMMUNITY_INTEGRATIONS.md624except Exception as e:CODE
LOWtests/test_service_init.py79 except Exception:CODE
LOWtests/test_service_init.py171 except Exception:CODE
LOWtests/test_pgmq_bus.py30except Exception:CODE
LOWtests/test_fastapi_websocket.py176 except Exception:CODE
MEDIUMtests/test_fastapi_websocket.py172def receive_loop():CODE
LOWtests/test_pgmq_backends.py35except Exception:CODE
LOWtests/test_redis_bus.py27except Exception:CODE
LOWdocs/api/conf.py226 except Exception as e:CODE
LOWexamples/transcription/transcription-google-llm.py187 except Exception as e:STRING
LOWexamples/features/features-gpu-container-local-bot.py148 except Exception as e:CODE
MEDIUMexamples/features/features-gpu-container-local-bot.py130def on_app_message(transport, message, sender):CODE
LOWexamples/multi-worker/code-assistant/code_worker.py84 except Exception as e:CODE
LOWexamples/multi-worker/code-assistant/code_worker.py106 except Exception as e:CODE
LOWexamples/rag/rag-mem0.py99 except Exception as e:CODE
LOWexamples/realtime/realtime-gemini-live-files-api.py155 except Exception as e:STRING
LOWexamples/realtime/realtime-gemini-live-files-api.py226 except Exception as e:STRING
LOWexamples/realtime/realtime-gemini-live-files-api.py233 except Exception as e:STRING
LOWexamples/voice/voice-aws-strands.py110 except Exception as e:CODE
LOW…les/persistent-context/persistent-context-anthropic.py86 except Exception as e:CODE
LOW…les/persistent-context/persistent-context-anthropic.py104 except Exception as e:CODE
LOW…sistent-context/persistent-context-openai-responses.py86 except Exception as e:CODE
LOW…sistent-context/persistent-context-openai-responses.py105 except Exception as e:CODE
LOW…amples/persistent-context/persistent-context-gemini.py115 except Exception as e:CODE
LOW…amples/persistent-context/persistent-context-gemini.py136 except Exception as e:CODE
LOW…rsistent-context/persistent-context-openai-realtime.py90 except Exception as e:CODE
LOW…rsistent-context/persistent-context-openai-realtime.py113 except Exception as e:CODE
LOW…amples/persistent-context/persistent-context-openai.py86 except Exception as e:CODE
LOW…amples/persistent-context/persistent-context-openai.py105 except Exception as e:CODE
LOW…nt-context/persistent-context-openai-responses-http.py86 except Exception as e:CODE
LOW…nt-context/persistent-context-openai-responses-http.py105 except Exception as e:CODE
LOW…ersistent-context/persistent-context-aws-nova-sonic.py106 except Exception as e:CODE
LOW…ersistent-context/persistent-context-aws-nova-sonic.py143 except Exception as e:CODE
LOW…persistent-context/persistent-context-grok-realtime.py90 except Exception as e:CODE
LOW…persistent-context/persistent-context-grok-realtime.py109 except Exception as e:CODE
LOW…urn-management/turn-management-user-assistant-turns.py78 except Exception as e:CODE
LOWscripts/cli/configs/config_generator.py112 except Exception as e:CODE
LOWscripts/cli/configs/config_generator.py280 except Exception as e:CODE
LOWscripts/daily/mock_tavus_server.py213 except Exception as e:CODE
MEDIUMscripts/daily/mock_tavus_server.py21def set_result(future, *args):CODE
MEDIUMscripts/krisp/test_krisp_viva_filter_audiofile.py31 print(f"Error: Missing required dependencies: {e}")CODE
MEDIUMscripts/krisp/test_krisp_viva_filter_audiofile.py47 print(f"Error: Could not import Krisp VIVA filter: {e}")CODE
MEDIUMscripts/krisp/test_krisp_viva_filter_audiofile.py58 print(f"Error: {env_var} environment variable not set")CODE
MEDIUMscripts/krisp/test_krisp_viva_filter_audiofile.py64 print(f"Error: Model file not found: {model_path}")CODE
MEDIUMscripts/krisp/test_krisp_viva_filter_audiofile.py83 print(f"Error: TTS model file not found: {path}")CODE
MEDIUMscripts/krisp/test_krisp_viva_filter_audiofile.py258 print("Error: No filtered audio produced")CODE
MEDIUMscripts/krisp/test_krisp_viva_filter_audiofile.py341 print(f"Error: Input file not found: {args.input}")STRING
MEDIUMscripts/krisp/test_krisp_viva_turn_audiofile.py29 print(f"Error: Missing required dependencies: {e}")CODE
MEDIUMscripts/krisp/test_krisp_viva_turn_audiofile.py45 print(f"Error: Could not import Krisp VIVA turn analyzer: {e}")CODE
MEDIUMscripts/krisp/test_krisp_viva_turn_audiofile.py56 print(f"Error: {env_var} environment variable not set")CODE
MEDIUMscripts/krisp/test_krisp_viva_turn_audiofile.py62 print(f"Error: Model file not found: {model_path}")CODE
MEDIUMscripts/krisp/test_krisp_viva_turn_audiofile.py311 print(f"Error: Input file not found: {args.input}")STRING
MEDIUMscripts/krisp/test_krisp_viva_turn_audiofile.py316 print(f"Error: Threshold must be between 0.0 and 1.0, got {args.threshold}")STRING
MEDIUMscripts/krisp/audio_file_utils.py57 print(f"Error: Unsupported audio format: {info.subtype}")CODE
LOWsrc/pipecat/evals/harness.py489 except Exception as e:CODE
LOWsrc/pipecat/evals/harness.py688 except Exception:CODE
LOWsrc/pipecat/evals/suite.py481 except Exception as e:CODE
LOWsrc/pipecat/evals/judge.py255 except Exception as e:CODE
LOWsrc/pipecat/evals/speech.py265 except Exception as e:CODE
LOWsrc/pipecat/runner/run.py291 except Exception:CODE
548 more matches not shown…
Docstring Block Structure67 hits · 335 pts
SeverityFileLineSnippetContext
HIGH.claude/skills/docstring/SKILL.md136One-line summary of what method does. [Longer description if behavior isn't obvious.] Args: param1: DeSTRING
HIGH.claude/skills/cleanup/SKILL.md104Process incoming data with optional configuration. Args: data: The input data to process. options: STRING
HIGHexamples/flows/utils.py18Create an LLM service instance based on environment configuration. Args: provider: LLM provider name. If NoSTRING
HIGHscripts/krisp/audio_file_utils.py14Read an audio file and convert to int16 mono format. This function: - Detects the audio format from the file heSTRING
HIGHsrc/pipecat/evals/scenario.py343Parse a scenario YAML file into an :class:`EvalScenario`. Args: path: Path to a YAML file with the STRING
HIGHsrc/pipecat/evals/judge.py133Build an :class:`EvalJudge` from a scenario's ``judge.eval:`` config block. Honors a custom ``factory`` (dottedSTRING
HIGHsrc/pipecat/runner/utils.py112Parse telephony WebSocket messages and return transport type and call data. Args: websocket: FastAPI WebSocSTRING
HIGHsrc/pipecat/runner/utils.py460Get transport parameters from factory function. Args: transport_key: The transport key to look up tSTRING
HIGHsrc/pipecat/runner/utils.py598Create a transport from runner arguments using factory functions. This function uses the clean transport_params facSTRING
HIGHsrc/pipecat/runner/daily.py93Configure Daily room URL and token with optional SIP capabilities. This function will either: 1. Use an existinSTRING
HIGHsrc/pipecat/runner/livekit.py101Configure LiveKit room with command-line argument parsing. Args: parser: Optional argument parser. If None,STRING
HIGHsrc/pipecat/transports/lemonslice/api.py51Create a new session with the specified agent_id or agent_image_url. Args: agent_image_url: The URLSTRING
HIGHsrc/pipecat/transports/smallwebrtc/transport.py101Add audio bytes to the buffer for transmission. Args: audio_bytes: Raw audio data to queue for tranSTRING
HIGHsrc/pipecat/transports/smallwebrtc/transport.py264Convert a video frame to RGB format based on the input format. Args: frame_array: The input frame aSTRING
HIGHsrc/pipecat/transports/smallwebrtc/request_handler.py165Handle a SmallWebRTC request and resolve the pending answer. This method will: - Reuse an existing WeSTRING
HIGHsrc/pipecat/transports/daily/utils.py272Create a new Daily room. Args: params: Room configuration parameters. Returns: STRING
HIGHsrc/pipecat/transports/daily/utils.py309Generate a meeting token for user to join a Daily room. Args: room_url: Daily room URL. STRING
HIGHsrc/pipecat/transports/daily/utils.py378Delete a room using its name. Args: room_name: Name of the room to delete. Returns: STRING
HIGHsrc/pipecat/transports/livekit/utils.py68Delete a LiveKit room by name. This will forcibly disconnect all participants currently in the room. ASTRING
HIGHsrc/pipecat/transports/whatsapp/client.py132Handle a verify webhook request from WhatsApp. Args: params: Dictionary containing webhook parameteSTRING
HIGHsrc/pipecat/transports/whatsapp/client.py193Handle a webhook request from WhatsApp. This method processes incoming webhook requests and handles both STRING
HIGHsrc/pipecat/transports/whatsapp/client.py318Handle a CONNECT event by establishing WebRTC connection and accepting the call. This method: 1. CreateSTRING
HIGHsrc/pipecat/tests/utils.py136Run a test pipeline with the specified processor and validate frame flow. This function creates a test pipeline witSTRING
HIGHsrc/pipecat/utils/asyncio/task_manager.py170Creates and schedules a new asyncio Task that runs the given coroutine. The task is added to a global set of crSTRING
HIGHsrc/pipecat/cli/registry/service_loader.py18Extract the extra names from a package string. Args: package: Package string like "pipecat-ai[deepgram]", "STRING
HIGHsrc/pipecat/cli/generators/project.py76Generate the complete project structure. Args: output_dir: Optional directory to create project in STRING
HIGHsrc/pipecat/adapters/services/gemini_adapter.py338Convert standard universal context message to Google Content object. Handles conversion of text, images, and fuSTRING
HIGHsrc/pipecat/adapters/services/bedrock_adapter.py181Convert standard format message to AWS Bedrock format. Handles conversion of text content, tool calls, and toolSTRING
HIGHsrc/pipecat/adapters/services/anthropic_adapter.py255Convert standard universal context message to Anthropic format. Handles conversion of text content, tool calls,STRING
HIGHsrc/pipecat/serializers/telnyx.py128Serializes a Pipecat frame to Telnyx WebSocket format. Handles conversion of various frame types to Telnyx WebSSTRING
HIGHsrc/pipecat/serializers/telnyx.py237Deserializes Telnyx WebSocket data to Pipecat frames. Handles conversion of Telnyx media events to appropriate STRING
HIGHsrc/pipecat/serializers/genesys.py315Create a protocol message with common fields. Based on the Genesys AudioHook protocol, responses include: STRING
HIGHsrc/pipecat/audio/krisp_instance.py45Convert integer sample rate to Krisp SDK enum value. Args: sample_rate: Sample rate in Hz (e.g., 16000, 240STRING
HIGHsrc/pipecat/audio/krisp_instance.py65Convert integer frame duration to Krisp SDK enum value. Args: frame_duration_ms: Frame duration in millisecSTRING
HIGHsrc/pipecat/audio/filters/aic_filter.py133Get or load a Model and increment its reference count. Call this when starting a filter. Store the returned keySTRING
HIGHsrc/pipecat/audio/filters/aic_filter.py315Return an analyzer that will lazily instantiate the AIC VAD when ready. .. deprecated:: 1.4.0 ConstSTRING
HIGHsrc/pipecat/audio/turn/krisp_viva_turn.py162Create a turn detection session with the specified sample rate. Args: sample_rate: Sample rate for STRING
HIGHsrc/pipecat/audio/vad/krisp_viva_vad.py100Create a Krisp VAD session with a specific sample rate. Args: sample_rate: Sample rate for the sessSTRING
HIGHsrc/pipecat/transcriptions/language.py586Resolve a Language enum to a service-specific language code. Checks the language map first, then falls back to extrSTRING
HIGHsrc/pipecat/workers/base_worker.py877Wait for workers to be ready, create a job group, and send requests. Waits for all workers to be registered as STRING
HIGHsrc/pipecat/flows/manager.py292Initialize the flow manager. Args: initial_node: Optional initial node configuration. If provided, STRING
HIGHsrc/pipecat/services/llm_service.py681Generate a compressed summary of conversation context. Uses the message selection logic to identify which messaSTRING
HIGHsrc/pipecat/services/settings.py121Extract a store-mode settings field, asserting it isn't ``NOT_GIVEN``. Intended for reads from a store-mode settingSTRING
HIGHsrc/pipecat/services/settings.py227Merge a delta-mode object into this store-mode object. Only fields in *delta* that are **given** (i.e. not ``NOSTRING
HIGHsrc/pipecat/services/settings.py277Build a **delta-mode** settings object from a plain dictionary. This exists for backward compatibility with codSTRING
HIGHsrc/pipecat/services/inworld/realtime/events.py867Parse a server event from JSON string. Args: data: JSON string containing the server event. Returns: STRING
HIGHsrc/pipecat/services/google/tts.py698Create authenticated Google Text-to-Speech client. Args: credentials: JSON string with service accoSTRING
HIGHsrc/pipecat/services/google/tts.py898Create authenticated Google Text-to-Speech client. Args: credentials: JSON string with service accoSTRING
HIGHsrc/pipecat/services/google/image.py147Generate images from a text prompt using Google's Imagen model. Args: prompt: The text description STRING
HIGHsrc/pipecat/services/google/vertex/llm.py193Retrieve Credentials using Google service account credentials. Supports multiple authentication methods: STRING
HIGHsrc/pipecat/services/google/gemini_live/vertex/llm.py263Retrieve Credentials using Google service account credentials JSON. Supports multiple authentication methods: STRING
HIGHsrc/pipecat/services/deepgram/flux/stt.py122Initialize the Deepgram Flux STT service. Args: api_key: Deepgram API key for authentication. RequiSTRING
HIGHsrc/pipecat/services/deepgram/flux/stt.py382Send audio data to Deepgram Flux for transcription. Transmits raw audio bytes to the Deepgram Flux API for realSTRING
HIGHsrc/pipecat/services/xai/realtime/events.py859Parse a server event from JSON string. Args: data: JSON string containing the server event. Returns: STRING
HIGHsrc/pipecat/services/elevenlabs/stt.py334Upload audio data to ElevenLabs and get transcription result. Args: audio_data: Raw audio bytes in STRING
HIGHsrc/pipecat/services/nvidia/llm.py271Handle ``reasoning_content`` and leading ``<think>`` tags in a chunk stream. Inspects each chunk for a ``reasonSTRING
HIGHsrc/pipecat/services/heygen/api_interactive_avatar.py157Make a POST request to the HeyGen API. Args: path: API endpoint path. params: JSON-seriSTRING
HIGHsrc/pipecat/services/heygen/api_interactive_avatar.py245Start the streaming session. https://docs.heygen.com/reference/start-session Args: sessionSTRING
HIGHsrc/pipecat/services/heygen/api_interactive_avatar.py267Terminate an active the streaming session. https://docs.heygen.com/reference/close-session Args: STRING
HIGHsrc/pipecat/services/heygen/api_liveavatar.py192Make a request to the LiveAvatar API. Args: method: HTTP method (GET, POST, etc.). pathSTRING
7 more matches not shown…
Self-Referential Comments89 hits · 270 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_markdown_text_filter.py216 # Create a filter with all features disabledCOMMENT
MEDIUMtests/test_frame_processor.py292 # Create a frame with mutable fields to test shallow copyingCOMMENT
MEDIUMtests/test_ivr_navigation.py28 # Create a mock LLM serviceCOMMENT
MEDIUMtests/test_krisp_viva_filter.py53 # Create a temporary .kef model file for testingCOMMENT
MEDIUMtests/test_piper_tts.py63 # Create an aiohttp test serverCOMMENT
MEDIUMtests/test_krisp_viva_vad.py55 # Create a temporary .kef model file for testingCOMMENT
MEDIUMtests/test_vonage_video_connector.py972 # Create an event that will block but can be interruptedCOMMENT
MEDIUMtests/test_vonage_video_connector.py2852 # Create a simple RGB image with distinct colorsCOMMENT
MEDIUMtests/test_vonage_video_connector.py762 # Create an event that will block but can be interruptedCOMMENT
MEDIUMtests/test_vonage_video_connector.py1051 # Create a mock coroutine to queueCOMMENT
MEDIUMtests/test_vonage_video_connector.py1188 # Create a test RGB image (640x480, 3 channels)COMMENT
MEDIUMtests/test_vonage_video_connector.py1838 # Create a test RGB video frame (4x4, 3 channels)COMMENT
MEDIUMtests/test_vonage_video_connector.py2084 # Create a mock audio frameCOMMENT
MEDIUMtests/test_vonage_video_connector.py2102 # Create a test video frameCOMMENT
MEDIUMtests/test_vonage_video_connector.py2134 # Create a test video frameCOMMENT
MEDIUMtests/test_vonage_video_connector.py2165 # Create a video frame with incorrect sizeCOMMENT
MEDIUMtests/test_vonage_video_connector.py2191 # Create a video frame with incorrect sizeCOMMENT
MEDIUMtests/test_vonage_video_connector.py2319 # Create a StartFrame with specific sample ratesCOMMENT
MEDIUMtests/test_vonage_video_connector.py2349 # Create a StartFrame with different sample ratesCOMMENT
MEDIUMtests/test_aic_vad.py57 # Create a mock VAD context for testingCOMMENT
MEDIUMtests/test_service_switcher.py404 # Create a pipeline with both switchers: switcher1 -> switcher2COMMENT
MEDIUMtests/test_openai_llm_timeout.py68 # Create a context frame to processCOMMENT
MEDIUMtests/test_context_summarization.py649 # Create a minimal LLM service - base class raises NotImplementedErrorCOMMENT
MEDIUMtests/test_get_llm_invocation_params.py162 # Create a message with complex content structure (text + image)COMMENT
MEDIUMtests/test_get_llm_invocation_params.py174 # Create a message with multiple text blocksCOMMENT
MEDIUMtests/test_get_llm_invocation_params.py472 # Create a message with complex content structure (text + image)COMMENT
MEDIUMtests/test_get_llm_invocation_params.py487 # Create a message with multiple text blocksCOMMENT
MEDIUMtests/test_get_llm_invocation_params.py497 # Create a message with audio input (text + audio)COMMENT
MEDIUMtests/test_get_llm_invocation_params.py931 # Create a complex message with both text and image contentCOMMENT
MEDIUMtests/test_get_llm_invocation_params.py1314 # Create a complex message with both text and image contentCOMMENT
MEDIUM…tegration/test_integration_unified_function_calling.py48 # Create a mock weather functionCOMMENT
MEDIUM…ideo-processing/video-processing-custom-video-track.py157 # Create a blue-tinted copy for the custom destination.COMMENT
MEDIUMexamples/transports/transports-small-webrtc.py56 # Create a transport using the WebRTC connectionCOMMENT
MEDIUMexamples/rag/rag-mem0.py84 # Create a personalized greeting based on memoriesCOMMENT
MEDIUMexamples/realtime/realtime-openai.py148 # Create a standard OpenAI LLM context object using the normal messages format. TheCOMMENT
MEDIUMexamples/realtime/realtime-openai-text.py145 # Create a standard OpenAI LLM context object using the normal messages format. TheCOMMENT
MEDIUMexamples/realtime/realtime-inworld.py109 # Create the Inworld Realtime LLM service.COMMENT
MEDIUMexamples/realtime/realtime-grok.py151 # Create the Grok Realtime LLM serviceCOMMENT
MEDIUM…es/realtime/realtime-gemini-live-grounding-metadata.py120 # Create a processor to capture grounding metadataCOMMENT
MEDIUMexamples/realtime/realtime-azure.py135 # Create a standard LLM context object using the normal messages format. TheCOMMENT
MEDIUMexamples/realtime/realtime-aws-nova-sonic.py94 # Create the AWS Nova Sonic LLM serviceCOMMENT
MEDIUMexamples/realtime/realtime-openai-live-video.py103 # Create a standard OpenAI LLM context object using the normal messages format. TheCOMMENT
MEDIUMexamples/realtime/realtime-gemini-live-files-api.py86 # Create a temporary fileSTRING
MEDIUMexamples/realtime/realtime-gemini-live-files-api.py95 # Create a sample file to uploadSTRING
MEDIUMexamples/update-settings/stt/stt-whisper-api.py59 # This file is meant to exercise Whisper API-based STT services, so we useCOMMENT
MEDIUMexamples/getting-started/04-sync-speech-and-image.py114 # Create an HTTP session for API callsCOMMENT
MEDIUMexamples/voice/voice-neuphonic-http.py62 # Create an HTTP sessionCOMMENT
MEDIUMexamples/voice/voice-elevenlabs-http.py62 # Create an HTTP sessionCOMMENT
MEDIUMexamples/voice/voice-aicoustics.py150 # Create the WAV fileCOMMENT
MEDIUMexamples/voice/voice-xtts.py61 # Create an HTTP sessionCOMMENT
MEDIUMexamples/voice/voice-sarvam-http.py63 # Create an HTTP sessionCOMMENT
MEDIUMexamples/voice/voice-asyncai-http.py62 # Create an HTTP sessionCOMMENT
MEDIUMexamples/voice/voice-minimax.py63 # Create an HTTP sessionCOMMENT
MEDIUMexamples/voice/voice-rime-http.py62 # Create an HTTP sessionCOMMENT
MEDIUM…persistent-context/persistent-context-grok-realtime.py115# Define the tools schemaCOMMENT
MEDIUMscripts/cli/imports/update_imports.py173 # Create the complete file contentSTRING
MEDIUM.github/workflows/update-docs.yml146 ### Creating the docs PRCOMMENT
MEDIUMsrc/pipecat/runner/daily.py208 # Create a new roomCOMMENT
MEDIUMsrc/pipecat/transports/websocket/server.py251 # Create a task to monitor the websocket connectionCOMMENT
MEDIUMsrc/pipecat/utils/base_object.py255 # Create the task. Note that this is a task per each functionCOMMENT
29 more matches not shown…
Deep Nesting282 hits · 252 pts
SeverityFileLineSnippetContext
LOWtests/test_get_llm_invocation_params.py467CODE
LOWtests/test_gemini_live_user_audio.py53CODE
LOWtests/cli/test_client_generation.py202CODE
LOWtests/cli/test_project_generation.py60CODE
LOWtests/cli/test_project_generation.py415CODE
LOWexamples/transcription/transcription-google-llm.py94CODE
LOWexamples/transcription/transcription-google-llm.py131CODE
LOWexamples/features/features-custom-frame-processor.py39CODE
LOWexamples/multi-worker/code-assistant/code_worker.py80CODE
LOW…es/realtime/realtime-gemini-live-grounding-metadata.py79CODE
LOWexamples/voice/voice-google-audio-in.py86CODE
LOWexamples/voice/voice-google-audio-in.py128CODE
LOWexamples/voice/voice-aicoustics-vad-only.py120CODE
LOWexamples/flows/llm_switching.py95CODE
LOWscripts/cli/imports/import_generator.py19CODE
LOWscripts/cli/imports/import_generator.py56CODE
LOWscripts/cli/imports/import_generator.py138CODE
LOWscripts/cli/imports/import_generator.py285CODE
LOWscripts/cli/imports/import_generator.py381CODE
LOWscripts/cli/configs/config_generator.py256CODE
LOWscripts/cli/configs/config_generator.py375CODE
LOWscripts/krisp/test_krisp_viva_filter_audiofile.py88CODE
LOWscripts/krisp/test_krisp_viva_turn_audiofile.py68CODE
LOWscripts/deprecations/scan.py128CODE
LOWscripts/deprecations/scan.py296CODE
LOWscripts/deprecations/scan.py308CODE
LOWsrc/pipecat/pipeline/worker.py227CODE
LOWsrc/pipecat/pipeline/worker.py808CODE
LOWsrc/pipecat/pipeline/worker.py1112CODE
LOWsrc/pipecat/pipeline/worker.py1160CODE
LOWsrc/pipecat/pipeline/job_decorator.py51CODE
LOWsrc/pipecat/pipeline/sync_parallel_pipeline.py252CODE
LOWsrc/pipecat/pipeline/sync_parallel_pipeline.py291CODE
LOWsrc/pipecat/pipeline/worker_observer.py174CODE
LOWsrc/pipecat/pipeline/worker_ready_decorator.py37CODE
LOWsrc/pipecat/evals/harness.py386CODE
LOWsrc/pipecat/evals/harness.py579CODE
LOWsrc/pipecat/evals/harness.py761CODE
LOWsrc/pipecat/evals/scenario.py464CODE
LOWsrc/pipecat/runner/run.py327CODE
LOWsrc/pipecat/runner/run.py386CODE
LOWsrc/pipecat/runner/run.py540CODE
LOWsrc/pipecat/runner/run.py757CODE
LOWsrc/pipecat/runner/run.py573CODE
LOWsrc/pipecat/runner/run.py838CODE
LOWsrc/pipecat/runner/utils.py111CODE
LOWsrc/pipecat/runner/utils.py483CODE
LOWsrc/pipecat/runner/utils.py595CODE
LOWsrc/pipecat/transports/base_input.py208CODE
LOWsrc/pipecat/transports/base_output.py326CODE
LOWsrc/pipecat/transports/base_output.py361CODE
LOWsrc/pipecat/transports/base_output.py789CODE
LOWsrc/pipecat/transports/websocket/fastapi.py558CODE
LOWsrc/pipecat/transports/smallwebrtc/transport.py701CODE
LOWsrc/pipecat/transports/smallwebrtc/connection.py327CODE
LOWsrc/pipecat/transports/smallwebrtc/connection.py331CODE
LOWsrc/pipecat/transports/smallwebrtc/connection.py341CODE
LOWsrc/pipecat/transports/tavus/transport.py530CODE
LOWsrc/pipecat/transports/daily/transport.py2267CODE
LOWsrc/pipecat/transports/heygen/transport.py227CODE
222 more matches not shown…
Unused Imports201 hits · 190 pts
SeverityFileLineSnippetContext
LOWtests/test_flows_context_strategies.py19CODE
LOWtests/test_flows_context_strategies.py21CODE
LOWtests/test_flows_direct_functions.py9CODE
LOWtests/test_flows_direct_functions.py9CODE
LOWtests/test_aic_vad_deprecation.py13CODE
LOWtests/test_flows_manager.py35CODE
LOWtests/test_aic_filter_vad_factory_deprecation.py13CODE
LOWtests/test_runner_utils.py24CODE
LOWtests/test_app_resources.py7CODE
LOWtests/test_bus_network.py14CODE
LOWtests/test_bus_network.py21CODE
LOWexamples/flows/assets/hold_music/hold_music.py13CODE
LOWscripts/release-changelog.py24CODE
LOWscripts/krisp/test_krisp_viva_filter_audiofile.py28CODE
LOWscripts/krisp/test_krisp_viva_turn_audiofile.py26CODE
LOWscripts/deprecations/generate.py23CODE
LOWscripts/deprecations/scan.py20CODE
LOWscripts/deprecations/generate_removals.py30CODE
LOWsrc/pipecat/pipeline/job_context.py9CODE
LOWsrc/pipecat/pipeline/task.py15CODE
LOWsrc/pipecat/pipeline/task.py15CODE
LOWsrc/pipecat/pipeline/task.py15CODE
LOWsrc/pipecat/pipeline/task.py15CODE
LOWsrc/pipecat/pipeline/task.py15CODE
LOWsrc/pipecat/runner/utils.py57CODE
LOWsrc/pipecat/transports/vonage/video_connector.py41CODE
LOWsrc/pipecat/bus/bridge_processor.py35CODE
LOWsrc/pipecat/bus/__init__.py22CODE
LOWsrc/pipecat/bus/__init__.py23CODE
LOWsrc/pipecat/bus/__init__.py24CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py25CODE
LOWsrc/pipecat/bus/__init__.py54CODE
LOWsrc/pipecat/bus/__init__.py55CODE
LOWsrc/pipecat/bus/messages.py13CODE
141 more matches not shown…
AI Slop Vocabulary41 hits · 132 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_pipeline.py408 # is a guaranteed lower bound, so this is robust to scheduling jitter whileCOMMENT
MEDIUMtests/cli/test_project_generation.py855 # schema (EvalScenario.load is the validator the harness itself uses).COMMENT
MEDIUMtests/cli/test_project_generation.py864 # The project env carries what the harness needs via the `evals` extra: theCOMMENT
LOW…s/function-calling/function-calling-moondream-video.py98 # For all other frames, just pass them throughCOMMENT
LOWexamples/transcription/transcription-google-llm.py155 # keep the token count down, but for now, we'll just use the whole thing.STRING
MEDIUMexamples/features/features-add-tool-change-messages.py121 # what we want for this validation harness. Pull it withCOMMENT
MEDIUMexamples/realtime/realtime-aws-nova-sonic.py112 # Session continuation is enabled by default, allowing seamlessCOMMENT
MEDIUMscripts/release-evals/manifest.yaml268 # LLM responds to, so the harness can assert on the resulting transcription andCOMMENT
MEDIUM…ripts/release-evals/scenarios/food_ordering_sushi.yaml28 # pipeline down before the farewell llm_response reaches the harness.COMMENT
MEDIUMscripts/release-evals/scenarios/hello_world.yaml11 # pipeline down before the farewell llm_response reaches the harness.COMMENT
MEDIUM…-evals/scenarios/restaurant_reservation_available.yaml28 # pipeline down before the farewell llm_response reaches the harness.COMMENT
MEDIUM…ripts/release-evals/scenarios/food_ordering_pizza.yaml36 # pipeline down before the farewell llm_response reaches the harness.COMMENT
MEDIUMscripts/release-evals/scenarios/insurance_quote.yaml42 # pipeline down before the farewell llm_response reaches the harness.COMMENT
MEDIUM…/scenarios/restaurant_reservation_no_availability.yaml36 # pipeline down before the farewell llm_response reaches the harness.COMMENT
MEDIUM…ipts/release-evals/scenarios/multi_worker_handoff.yaml36 # pipeline down before the farewell llm_response reaches the harness.COMMENT
MEDIUMscripts/release-evals/scenarios/capital_question.yaml8# robust to transcription than arithmetic: numbers are homophone-prone on bothCOMMENT
MEDIUMsrc/pipecat/evals/harness.py109# harness doesn't pace frames — and no continuous frame stream crosses the wire.COMMENT
MEDIUMsrc/pipecat/evals/harness.py261 # Timestamped trace of the harness's own decisions, for diagnosing flakes.COMMENT
MEDIUMsrc/pipecat/evals/harness.py290 # response (audio modality): the harness captures the bot's actual audioCOMMENT
MEDIUMsrc/pipecat/evals/harness.py490 # An unexpected harness-side error (a sub-pipeline failing to startCOMMENT
MEDIUMsrc/pipecat/evals/harness.py516 # attributed to it rather than leaking into the harness catch-all.COMMENT
MEDIUMsrc/pipecat/evals/suite.py63# How long to wait for a freshly spawned bot to start listening (the harnessCOMMENT
MEDIUMsrc/pipecat/evals/suite.py66# How long to wait for a bot subprocess to exit after the harness asks it toCOMMENT
MEDIUMsrc/pipecat/evals/suite.py72# The harness runs three sub-pipelines in-process and tags each one's logs with anCOMMENT
MEDIUMsrc/pipecat/evals/suite.py73# ``eval_pipeline`` context value via logger.contextualize (see harness.py),COMMENT
MEDIUMsrc/pipecat/evals/suite.py75# connection, harness internals) falls through to "harness". The label is theCOMMENT
MEDIUMsrc/pipecat/evals/suite.py464 # Under --debug, capture the harness's own logs (transcription / voiceCOMMENT
MEDIUMsrc/pipecat/evals/suite.py505 # Save the harness's own decision trace next to the bot log.COMMENT
MEDIUMsrc/pipecat/evals/transport.py315 # The harness sends the image encoded over the wire, but a real cameraCOMMENT
MEDIUMsrc/pipecat/evals/transcribe.py80 # Optional sink for timing diagnostics; the harness points this at itsCOMMENT
MEDIUMsrc/pipecat/evals/judge.py77# harness; this just poses the question and is never stored in that context.COMMENT
MEDIUMsrc/pipecat/evals/judge.py126 # The conversation the judge evaluates against, grown by the harness overCOMMENT
MEDIUMsrc/pipecat/evals/serializer.py67# ``CancelWorkerFrame``, so the harness can end a scenario by gracefully tearing down theCOMMENT
MEDIUMsrc/pipecat/evals/serializer.py76# without a real camera. The harness sends the image encoded over the wire; theCOMMENT
MEDIUMsrc/pipecat/evals/serializer.py83# so the harness reader sees it; the harness transcribes the audio locally.COMMENT
MEDIUMsrc/pipecat/evals/serializer.py102 # wire so the harness can observe semantic events.COMMENT
MEDIUMsrc/pipecat/evals/serializer.py108 # The most recent image the harness registered (still-encoded bytes, MIMECOMMENT
MEDIUMsrc/pipecat/runner/utils.py177 # (transport_type, call_data) tuple; isinstance keeps this robust againstCOMMENT
MEDIUMsrc/pipecat/runner/utils.py715 # harness connects as an RTVI client; the bot pipeline must include anCOMMENT
MEDIUMsrc/pipecat/cli/generators/project.py350 # The `evals` extra bundles the `pipecat eval` command and the harness'sCOMMENT
LOWsrc/pipecat/adapters/services/bedrock_adapter.py78 # To avoid refactoring in AWSBedrockLLMService, we just pass through tool_choice.COMMENT
Redundant / Tautological Comments81 hits · 122 pts
SeverityFileLineSnippetContext
LOWtests/test_markdown_text_filter.py52 # Check if spaces are in the same positionsSTRING
LOWtests/test_flows_context_strategies.py301 # Set nodes to trigger summary generationCOMMENT
LOWtests/test_flows_context_strategies.py337 # Set nodes to trigger summary generationCOMMENT
LOWtests/test_aic_vad.py20# Check if aic_sdk is availableCOMMENT
LOWtests/test_get_llm_invocation_params.py546 # Check if it's image or audio based on the text contentCOMMENT
LOWtests/test_aic_filter.py26# Check if aic_sdk is availableCOMMENT
LOWtests/test_aic_quail_vad.py12# Check if aic_sdk is availableCOMMENT
LOWdocs/api/build-docs.sh15# Check if sphinx-build is availableCOMMENT
LOWexamples/flows/restaurant_reservation.py94 # Check if time is bookedCOMMENT
LOWscripts/cli/imports/import_generator.py89 # Check if this file contains the classCOMMENT
LOWscripts/cli/imports/import_generator.py336 # Check if this is a standard library module that should be imported directlyCOMMENT
LOWscripts/cli/configs/config_generator.py181 # Check if parameter has a default valueCOMMENT
LOWscripts/cli/configs/config_generator.py258 # Check if this service has manual_config flag in metadataCOMMENT
LOWscripts/cli/configs/config_generator.py262 # Check if this is a special case that needs manual handlingCOMMENT
LOWscripts/cli/configs/config_generator.py284 # Check if this service uses the Settings patternCOMMENT
LOWscripts/cli/configs/config_generator.py358 # Check if this service has a manual configCOMMENT
LOWscripts/cli/configs/config_generator.py396 # Check if multi-lineCOMMENT
LOWscripts/krisp/test_krisp_viva_filter_audiofile.py119 # Check if sample rate is supportedCOMMENT
LOWscripts/krisp/test_krisp_viva_turn_audiofile.py92 # Check if sample rate is supportedCOMMENT
LOWscripts/krisp/test_krisp_viva_turn_audiofile.py214 # Print resultsCOMMENT
LOW.github/workflows/generate-changelog.yml103 # Check if type is validCOMMENT
LOWsrc/pipecat/pipeline/worker_observer.py84 # Add the observer to the list.COMMENT
LOWsrc/pipecat/runner/run.py393 # Check if it has a bot functionCOMMENT
LOWsrc/pipecat/transports/base_output.py494 # Check if we have an audio mixer for our destination.COMMENT
LOWsrc/pipecat/transports/smallwebrtc/transport.py713 # Check if there are any pending image requests and createCOMMENT
LOWsrc/pipecat/transports/livekit/transport.py277 # Check if there are already participants in the roomCOMMENT
LOWsrc/pipecat/utils/string.py209 # Check if any start tag appears in the textCOMMENT
LOWsrc/pipecat/utils/tracing/setup.py16# Check if OpenTelemetry is availableCOMMENT
LOWsrc/pipecat/utils/tracing/service_decorators.py831 # Check if tools is not None and not NOT_GIVENCOMMENT
LOWsrc/pipecat/utils/context/llm_context_summarization.py532 # Check if the first message is a system message (initial system prompt).COMMENT
LOWsrc/pipecat/utils/text/pattern_pair_aggregator.py228 # Check if this pattern was already processedCOMMENT
LOWsrc/pipecat/utils/text/pattern_pair_aggregator.py325 # Check if we have incomplete patternsCOMMENT
LOWsrc/pipecat/utils/text/simple_text_aggregator.py100 # Check if the new character is non-whitespaceCOMMENT
LOWsrc/pipecat/utils/text/simple_text_aggregator.py116 # Check if we just added sentence-ending punctuationCOMMENT
LOWsrc/pipecat/cli/registry/service_loader.py169 # Check if it's in SERVICE_CONFIGSCOMMENT
LOWsrc/pipecat/cli/registry/service_loader.py173 # Check if it's a transportCOMMENT
LOWsrc/pipecat/cli/registry/service_loader.py294 # Check if config existsCOMMENT
LOWsrc/pipecat/cli/registry/service_loader.py298 # Check if imports existCOMMENT
LOWsrc/pipecat/cli/generators/project.py63 # Check if the new name is availableCOMMENT
LOWsrc/pipecat/cli/generators/project.py117 # Check if project already existsCOMMENT
LOWsrc/pipecat/cli/generators/project.py247 # Check if any service config contains "session=" parameterCOMMENT
LOWsrc/pipecat/cli/generators/project.py251 # Check if the config contains session= or aiohttp_session=COMMENT
LOWsrc/pipecat/cli/generators/project.py295 # Check if we need aiohttp session and add import if neededCOMMENT
LOWsrc/pipecat/cli/generators/project.py531 # Check if this is Daily PSTN or Twilio + Daily SIP (special handling)COMMENT
LOWsrc/pipecat/adapters/services/gemini_adapter.py312 # Check if we only have function-related messages (no regular text)COMMENT
LOW…pecat/processors/aggregators/llm_response_universal.py1854 # Check if this image is a result of a function call.COMMENT
LOW…pecat/processors/aggregators/llm_context_summarizer.py238 # Check if we've reached the token limitCOMMENT
LOW…pecat/processors/aggregators/llm_context_summarizer.py242 # Check if we've exceeded max unsummarized messagesCOMMENT
LOW…pecat/processors/aggregators/llm_context_summarizer.py371 # Check if this is the result we're waiting for. Both auto and manualCOMMENT
LOW…pecat/processors/aggregators/llm_context_summarizer.py406 # Check if we still have enough messagesCOMMENT
LOWsrc/pipecat/serializers/vonage.py128 # Check if this is binary audio dataCOMMENT
LOWsrc/pipecat/audio/filters/rnnoise_filter.py134 # Check if output is float (needs scaling) or int16 (ready)COMMENT
LOWsrc/pipecat/audio/turn/krisp_viva_turn.py319 # Check if turn is complete based on probability thresholdCOMMENT
LOWsrc/pipecat/audio/turn/smart_turn/http_smart_turn.py75 # Check if successfulCOMMENT
LOWsrc/pipecat/transcriptions/language.py614 # Check if language is in the verified mapCOMMENT
LOWsrc/pipecat/observers/loggers/metrics_log_observer.py113 # Check if this metrics type should be loggedCOMMENT
LOWsrc/pipecat/observers/loggers/debug_log_observer.py151 # Check if this frame type is in our filtersCOMMENT
LOWsrc/pipecat/observers/loggers/debug_log_observer.py182 # Check if we should log this frameCOMMENT
LOWsrc/pipecat/flows/manager.py533 # Check if all function calls are complete using Pipecat's stateCOMMENT
LOWsrc/pipecat/services/websocket_service.py166 # Check if the connection died too quickly after being established. ThisCOMMENT
21 more matches not shown…
Modern AI Meta-Vocabulary32 hits · 96 pts
SeverityFileLineSnippetContext
MEDIUMpyproject.toml203# CLI project-scaffolding templates (jinja + client TS/JS/JSON/CSS trees). TheCOMMENT
MEDIUMREADME.md50The [Pipecat CLI](https://docs.pipecat.ai/api-reference/cli/overview) ships with `pipecat-ai` — install it with `uv toolCODE
MEDIUMREADME.md62Use [Pipecat Skills](https://github.com/pipecat-ai/skills) with [Claude Code](https://claude.ai/code) to scaffold projecCODE
MEDIUMtests/test_llm_service.py122 # The tool was not advertised, so this is treated as a hallucinationCOMMENT
MEDIUMtests/cli/test_quickstart.py49 # quickstart is a fixed preset; combining it with scaffold flags should warn ratherCOMMENT
MEDIUMtests/cli/test_quickstart.py50 # than silently ignore them — but still scaffold the canned (web) bot.COMMENT
MEDIUMtests/cli/test_init_interactive.py53 # The build-method prompt returns "scaffold", so init runs the wizard in-place,COMMENT
MEDIUMtests/cli/test_init_interactive.py70 # init initializes for agent-led dev before scaffolding.COMMENT
MEDIUMtests/cli/test_project_generation.py674 # Mirror the scaffold_quickstart config from cli/scaffold.py.COMMENT
MEDIUMtests/cli/test_init_agent_ready.py216 # Its one still-useful piece (Context Hub setup) lives in the scaffold's README.COMMENT
MEDIUMtests/cli/test_init_agent_ready.py260 # The scaffold lands in init's target dir, in-place, named after it.COMMENT
MEDIUMtests/cli/test_init_agent_ready.py263 # skipped — its place is taken by the scaffold's README (see test_quickstart_*).COMMENT
MEDIUMtests/cli/test_init_agent_ready.py157 # The scaffold path skips the from-scratch developer guide.COMMENT
MEDIUMtests/cli/test_init_agent_ready.py284 # Re-running init to refresh the guide in a scaffolded project must not offer to scaffold.COMMENT
MEDIUMtests/cli/test_init_in_place.py51 # The scaffold path skips GETTING_STARTED.md — the README is the start-here.COMMENT
MEDIUMexamples/features/features-add-tool-change-messages.py120 # hallucination-prone of the easily accessible models — exactlyCOMMENT
MEDIUMsrc/pipecat/evals/transcribe.py49# and offset words. Kept short so it can't trigger silence hallucinations.COMMENT
MEDIUMsrc/pipecat/cli/main.py74 # coding-agent guide and can scaffold a runnable bot (interactively or from flags/aCOMMENT
MEDIUMsrc/pipecat/cli/commands/init.py65# `--help` panels grouping the scaffold flags, so `pipecat init --help` reads asCOMMENT
MEDIUMsrc/pipecat/cli/commands/init.py289 # Scaffold now: run the wizard in-place. The scaffold lands in the same directory thatCOMMENT
MEDIUMsrc/pipecat/cli/commands/init.py338# Scaffold options that, when present, switch `init` to non-interactive scaffolding.COMMENT
MEDIUMsrc/pipecat/cli/commands/init.py349# Every scaffold/feature option, by parameter name — used to detect flags the userCOMMENT
MEDIUMsrc/pipecat/cli/commands/init.py535 pipecat init my-bot --config project-config.json # scaffold from a config fileCODE
MEDIUMsrc/pipecat/cli/commands/init.py539 # `pipecat init quickstart`: scaffold the canned bot in-place, with the coding-agent guide.STRING
MEDIUMsrc/pipecat/cli/commands/init.py541 # quickstart is a fixed preset — scaffold flags don't apply. Say so instead ofSTRING
MEDIUMsrc/pipecat/cli/commands/init.py593 # No scaffold options: write the guide and route to a build method.STRING
MEDIUMsrc/pipecat/cli/agent_templates/AGENTS.md19## 1. Start by scaffoldingCOMMENT
MEDIUMsrc/pipecat/cli/agent_templates/AGENTS.md31# Headless: any scaffold flag (--bot-type, a service, or --config) switches off the wizard.COMMENT
MEDIUMsrc/pipecat/cli/agent_templates/AGENTS.md257[Pipecat Cloud](https://www.daily.co/products/pipecat-cloud/) is a **hosted** option — deploying there is optional (run CODE
MEDIUMsrc/pipecat/services/google/gemini_live/llm.py1135 # Add context window compression to configuration, if enabled.COMMENT
MEDIUMsrc/pipecat/services/google/gemini_live/llm.py284 trigger_tokens: int | None = Field(default=None) # None = use default (80% of context window)CODE
MEDIUMsrc/pipecat/services/whisper/stt.py532 # Drop likely hallucinationsCOMMENT
Over-Commented Block81 hits · 77 pts
SeverityFileLineSnippetContext
LOWtests/test_word_completion_tracker.py1741 """After the first Chinese group the cursor sits at the right position."""COMMENT
LOWtests/test_websocket_transport.py1#COMMENT
LOWtests/test_websocket_transport.py21# self.serialized_sample_frame = self.transport._serializer.serialize(COMMENT
LOWtests/test_websocket_transport.py41# mock_websocket.send.call_args[0][0], self.serialized_sample_frame)COMMENT
LOWtests/test_websocket_transport.py61# TTSStartFrame(),COMMENT
LOWtests/test_websocket_transport.py81# async def test_serializer_parameter(self):COMMENT
LOWtests/test_websocket_transport.py101# self.transport = WebsocketTransport(COMMENT
LOWexamples/features/features-user-email-gathering.py81 )COMMENT
LOWexamples/mcp/mcp-streamable-http-gemini-live.py81 system_instruction=system,COMMENT
LOW…/multi-worker/ui-worker/document-review/client/main.js41// In-flight review groups, keyed by job_id. Rendered as cards aboveCOMMENT
LOWexamples/rag/rag-mem0.py181 # "model": "claude-3-5-sonnet-20240620",COMMENT
LOWexamples/realtime/realtime-openai.py201 # await worker.queue_frames(COMMENT
LOWexamples/realtime/realtime-openai.py221 # LLMUpdateSettingsFrame(COMMENT
LOWexamples/realtime/realtime-gemini-live.py141 # frames, but you can add supplemental local turn frames for consumptionCOMMENT
LOWexamples/realtime/realtime-grok.py181 )COMMENT
LOWexamples/realtime/realtime-grok.py201 # start=[COMMENT
LOWexamples/realtime/realtime-ultravox.py181 #COMMENT
LOW…es/realtime/realtime-gemini-live-grounding-metadata.py121 grounding_processor = GroundingMetadataProcessor()COMMENT
LOWexamples/realtime/realtime-azure.py121 transcription=InputAudioTranscription(model="whisper-1"),COMMENT
LOWexamples/realtime/realtime-aws-nova-sonic.py101 # - us-west-2COMMENT
LOWexamples/realtime/realtime-aws-nova-sonic.py121 ),COMMENT
LOWexamples/realtime/realtime-aws-nova-sonic.py181 )COMMENT
LOWexamples/realtime/realtime-gemini-live-files-api.py161 "role": "developer",COMMENT
LOWexamples/update-settings/llm/llm-gemini-live.py61 context = LLMContext()COMMENT
LOWexamples/update-settings/llm/llm-gemini-live-vertex.py61 )COMMENT
LOWexamples/getting-started/04-sync-speech-and-image.py141 # them basically in order (e.g. I1 A1 A1 A1 I2 A2 A2 A2 A2 I3 A3). To doCOMMENT
LOW…management-filter-incomplete-turns-function-calling.py121 # fires only when the LLM confirms ✓. The LLM marks each responseCOMMENT
LOW…-management/turn-management-smart-turn-local-coreml.py41# Example setup:COMMENT
LOWexamples/flows/warm_transfer.py81COMMENT
LOWexamples/flows/warm_transfer.py101# - continued_customer_interactionCOMMENT
LOWscripts/deprecations/scan.py41# The first reference in a directive body (role or backtick) — the replacement,COMMENT
LOWscripts/release-evals/run.sh1#!/usr/bin/env shCOMMENT
LOW.github/PULL_REQUEST_TEMPLATE.md1#### Please describe the changes in your PR. If it is addressing an issue, please reference that as well.COMMENT
LOWsrc/pipecat/pipeline/parallel_pipeline.py141 """COMMENT
LOWsrc/pipecat/evals/serializer.py61# ``RTVIConfigureObserverFrame``. This is the trust boundary for raising theCOMMENT
LOWsrc/pipecat/transports/smallwebrtc/connection.py41# Clamp aiortc's SCTP DATA-chunk payload size so the on-wire UDP packet fitsCOMMENT
LOWsrc/pipecat/utils/tracing/__init__.py1#COMMENT
LOWsrc/pipecat/utils/context/text_segment_map.py181 #COMMENT
LOWsrc/pipecat/utils/context/text_segment_map.py201 # TextSegment(COMMENT
LOWsrc/pipecat/utils/text/transforms/_alnum_utils.py41 # Unicode category "Mn" means:COMMENT
LOW…pipecat/adapters/services/open_ai_responses_adapter.py81 "input": input_items,COMMENT
LOWsrc/pipecat/adapters/services/anthropic_adapter.py401 # - The marker at the most recent user message tells Anthropic toCOMMENT
LOWsrc/pipecat/processors/frame_processor.py241COMMENT
LOW…pecat/processors/aggregators/llm_response_universal.py681 # frames report end-of-speech.COMMENT
LOW…pecat/processors/aggregators/llm_response_universal.py701 # context-writing purposes, then waits up to this many secondsCOMMENT
LOW…pecat/processors/aggregators/llm_response_universal.py1961 # own assistant message. Used when the marker is the entireCOMMENT
LOWsrc/pipecat/processors/audio/audio_buffer_processor.py241 )COMMENT
LOWsrc/pipecat/processors/frameworks/rtvi/models.py661 label: MessageLiteral = MESSAGE_LABELCOMMENT
LOWsrc/pipecat/processors/frameworks/rtvi/models.py681# wire format directly via custom tools that emit typed RTVI messagesCOMMENT
LOWsrc/pipecat/workers/ui/ui_worker.py181 self._auto_inject_ui_state = auto_inject_ui_stateCOMMENT
LOWsrc/pipecat/workers/ui/ui_worker.py201 # update / response messages should be forwarded to theCOMMENT
LOWsrc/pipecat/turns/user_idle_controller.py81 """COMMENT
LOWsrc/pipecat/turns/user_turn_completion_mixin.py241 Args:COMMENT
LOWsrc/pipecat/turns/user_turn_completion_mixin.py401 elif isinstance(frame, VADUserStartedSpeakingFrame):COMMENT
LOWsrc/pipecat/turns/user_turn_completion_mixin.py521COMMENT
LOWsrc/pipecat/flows/actions.py261 upcoming_action_type: Type of the next action to execute, or None ifCOMMENT
LOWsrc/pipecat/flows/actions.py281 # pipeline.COMMENT
LOWsrc/pipecat/services/tts_service.py321 self._word_last_pts: int = 0COMMENT
LOWsrc/pipecat/services/tts_service.py341 #COMMENT
LOWsrc/pipecat/services/tts_service.py1061 # is spoken, so we set append_to_context to False.COMMENT
21 more matches not shown…
AI Structural Patterns72 hits · 68 pts
SeverityFileLineSnippetContext
LOWsrc/pipecat/pipeline/worker.py227CODE
LOWsrc/pipecat/evals/harness.py193CODE
LOWsrc/pipecat/evals/harness.py301CODE
LOWsrc/pipecat/evals/suite.py190CODE
LOWsrc/pipecat/runner/daily.py77CODE
LOWsrc/pipecat/transports/lemonslice/api.py38CODE
LOWsrc/pipecat/tests/utils.py123CODE
LOWsrc/pipecat/bus/network/pgmq.py80CODE
LOWsrc/pipecat/utils/string.py303CODE
LOWsrc/pipecat/utils/tracing/service_attributes.py121CODE
LOWsrc/pipecat/utils/tracing/service_attributes.py185CODE
LOWsrc/pipecat/utils/tracing/service_attributes.py278CODE
LOWsrc/pipecat/utils/tracing/service_attributes.py383CODE
LOWsrc/pipecat/utils/text/transforms/voice_formatter.py32CODE
LOWsrc/pipecat/cli/config_validator.py38CODE
LOWsrc/pipecat/cli/commands/eval.py269CODE
LOWsrc/pipecat/cli/commands/eval.py592CODE
LOWsrc/pipecat/cli/commands/init.py371CODE
LOWsrc/pipecat/audio/resamplers/resampy_resampler.py59CODE
LOWsrc/pipecat/audio/resamplers/soxr_stream_resampler.py117CODE
LOWsrc/pipecat/audio/resamplers/soxr_resampler.py59CODE
LOWsrc/pipecat/audio/vad/aic_quail_vad.py85CODE
LOWsrc/pipecat/workers/runner.py110CODE
LOWsrc/pipecat/services/tts_service.py144CODE
LOWsrc/pipecat/services/cartesia/tts.py225CODE
LOWsrc/pipecat/services/cartesia/tts.py758CODE
LOWsrc/pipecat/services/inworld/tts.py155CODE
LOWsrc/pipecat/services/inworld/tts.py601CODE
LOWsrc/pipecat/services/inworld/realtime/llm.py257CODE
LOWsrc/pipecat/services/asyncai/tts.py104CODE
LOWsrc/pipecat/services/asyncai/tts.py496CODE
LOWsrc/pipecat/services/speechmatics/stt.py384CODE
LOWsrc/pipecat/services/azure/tts.py264CODE
LOWsrc/pipecat/services/rime/tts.py170CODE
LOWsrc/pipecat/services/rime/tts.py950CODE
LOWsrc/pipecat/services/gladia/stt.py217CODE
LOWsrc/pipecat/services/google/tts.py1062CODE
LOWsrc/pipecat/services/google/tts.py1288CODE
LOWsrc/pipecat/services/google/stt.py765CODE
LOWsrc/pipecat/services/google/vertex/llm.py63CODE
LOWsrc/pipecat/services/google/gemini_live/llm.py423CODE
LOWsrc/pipecat/services/google/gemini_live/vertex/llm.py60CODE
LOWsrc/pipecat/services/soniox/stt.py278CODE
LOWsrc/pipecat/services/fal/stt.py188CODE
LOWsrc/pipecat/services/deepgram/stt.py72CODE
LOWsrc/pipecat/services/deepgram/stt.py301CODE
LOWsrc/pipecat/services/deepgram/flux/stt.py106CODE
LOWsrc/pipecat/services/deepgram/sagemaker/stt.py85CODE
LOWsrc/pipecat/services/groq/stt.py40CODE
LOWsrc/pipecat/services/elevenlabs/tts.py440CODE
LOWsrc/pipecat/services/elevenlabs/tts.py1080CODE
LOWsrc/pipecat/services/elevenlabs/stt.py504CODE
LOWsrc/pipecat/services/neuphonic/tts.py109CODE
LOWsrc/pipecat/services/nvidia/tts.py144CODE
LOWsrc/pipecat/services/nvidia/stt.py253CODE
LOWsrc/pipecat/services/nvidia/stt.py694CODE
LOWsrc/pipecat/services/heygen/api_liveavatar.py331CODE
LOWsrc/pipecat/services/sarvam/tts.py812CODE
LOWsrc/pipecat/services/sarvam/stt.py246CODE
LOWsrc/pipecat/services/assemblyai/stt.py229CODE
12 more matches not shown…
Modern Structural Boilerplate46 hits · 44 pts
SeverityFileLineSnippetContext
LOWtests/test_ui_worker.py69async def _settle() -> None:CODE
LOWtests/test_vonage_video_connector.py353 def _setup_audio_ready_callback(self, client: VonageClient, call_ready_for_audio: bool) -> None:CODE
LOWtests/test_vonage_video_connector.py375 def _setup_subscriber_callbacks(self, client: VonageClient) -> None:CODE
LOWtests/test_vonage_video_connector.py437 async def set_event_when_drained() -> None:CODE
LOWtests/aic_mocks.py48 def set_parameter(self, param: Any, value: float) -> None:CODE
LOWtests/aic_mocks.py65 def set_parameter(self, param: Any, value: float) -> None:CODE
LOWexamples/multi-worker/sensor-controller/sensor.py98 def set_target(self, value: float) -> None:CODE
LOWexamples/multi-worker/sensor-controller/sensor.py102 def set_response_rate(self, rate: float) -> None:CODE
LOWsrc/pipecat/pipeline/task.py23__all__ = [CODE
LOWsrc/pipecat/pipeline/runner.py20__all__ = ["PipelineRunner", "WorkerRunner"]CODE
LOWsrc/pipecat/evals/serializer.py112 def set_capture_audio(self, capture: bool) -> None:CODE
LOWsrc/pipecat/transports/smallwebrtc/connection.py148 def set_enabled(self, enabled: bool) -> None:CODE
LOWsrc/pipecat/bus/__init__.py57__all__ = [CODE
LOWsrc/pipecat/bus/ui/__init__.py19__all__ = [CODE
LOWsrc/pipecat/bus/network/pgmq_backends.py342__all__ = [CODE
LOWsrc/pipecat/bus/network/__init__.py20__all__ = ["PgmqBus", "RedisBus"]CODE
LOWsrc/pipecat/bus/local/__init__.py11__all__ = ["AsyncQueueBus"]CODE
LOWsrc/pipecat/bus/adapters/__init__.py17__all__ = [CODE
LOWsrc/pipecat/bus/serializers/__init__.py16__all__ = [CODE
LOWsrc/pipecat/utils/deprecation.py68__all__ = ["DEPRECATION_MESSAGE_RE", "deprecated"]CODE
LOWsrc/pipecat/utils/text/transforms/__init__.py38__all__ = [CODE
LOWsrc/pipecat/cli/registry/__init__.py19__all__ = [CODE
LOWsrc/pipecat/cli/prompts/__init__.py11__all__ = ["ProjectConfig", "ask_project_questions"]CODE
LOWsrc/pipecat/cli/commands/__init__.py11__all__ = ["init"]CODE
LOWsrc/pipecat/cli/generators/__init__.py11__all__ = ["ProjectGenerator"]CODE
LOWsrc/pipecat/extensions/ivr/ivr_navigator.py101 def update_saved_messages(self, messages: list[LLMContextMessage]) -> None:CODE
LOWsrc/pipecat/processors/frameworks/rtvi/__init__.py27__all__ = [CODE
LOWsrc/pipecat/serializers/genesys.py243 def set_output_variables(self, variables: dict[str, Any]) -> None:CODE
LOWsrc/pipecat/audio/vad/aic_quail_vad.py260 def set_sample_rate(self, sample_rate: int) -> None:CODE
LOWsrc/pipecat/registry/__init__.py11__all__ = [CODE
LOWsrc/pipecat/workers/runner.py363 async def _setup_session(self) -> None:CODE
LOWsrc/pipecat/workers/runner.py493 def _setup_sigint(self) -> None:CODE
LOWsrc/pipecat/workers/runner.py502 def _setup_sigterm(self) -> None:CODE
LOWsrc/pipecat/workers/ui/__init__.py33__all__ = [CODE
LOWsrc/pipecat/workers/llm/__init__.py13__all__ = [CODE
LOWsrc/pipecat/workers/proxy/__init__.py14__all__ = [CODE
LOWsrc/pipecat/workers/proxy/websocket/__init__.py12__all__ = [CODE
LOWsrc/pipecat/turns/user_start/__init__.py19__all__ = [CODE
LOWsrc/pipecat/turns/user_stop/__init__.py15__all__ = [CODE
LOWsrc/pipecat/turns/user_mute/__init__.py15__all__ = [CODE
LOWsrc/pipecat/flows/__init__.py47__all__ = [CODE
LOWsrc/pipecat/flows/manager.py591 async def set_node_from_config(self, node_config: NodeConfig) -> None:CODE
LOWsrc/pipecat/flows/manager.py605 async def _set_node(self, node_id: str, node_config: NodeConfig) -> None:CODE
LOWsrc/pipecat/services/deepgram/flux/stt.py32__all__ = [CODE
LOWsrc/pipecat/services/hume/tts.py260 async def update_setting(self, key: str, value: Any) -> None:CODE
LOWsrc/pipecat/services/openai/responses/llm.py1329__all__ = [CODE
Hallucination Indicators4 hits · 40 pts
SeverityFileLineSnippetContext
CRITICALtests/test_run_inference.py73 service._client.chat.completions.create.assert_called_once_with(CODE
CRITICALtests/test_run_inference.py181 service._client.beta.messages.create.assert_called_once_with(CODE
CRITICALtests/test_run_inference.py253 service._client.aio.models.generate_content.assert_called_once()CODE
CRITICALsrc/pipecat/services/openai/tts.py273 async with self._client.audio.speech.with_streaming_response.create(CODE
Structural Annotation Overuse21 hits · 34 pts
SeverityFileLineSnippetContext
LOWCOMMUNITY_INTEGRATIONS.md17### Step 1: Build Your IntegrationCOMMENT
LOWCOMMUNITY_INTEGRATIONS.md21### Step 2: Set Up Your RepositoryCOMMENT
LOWCOMMUNITY_INTEGRATIONS.md39### Step 3: Join DiscordCOMMENT
LOWCOMMUNITY_INTEGRATIONS.md43### Step 4: Submit Your DocumentationCOMMENT
LOW.claude/skills/update-docs/SKILL.md23### Step 1: Resolve docs pathCOMMENT
LOW.claude/skills/update-docs/SKILL.md29### Step 2: Create docs branchCOMMENT
LOW.claude/skills/update-docs/SKILL.md47### Step 3: Detect changed source filesCOMMENT
LOW.claude/skills/update-docs/SKILL.md69### Step 4: Map source files to doc pagesCOMMENT
LOW.claude/skills/update-docs/SKILL.md73### Step 5: Analyze each source-doc pairCOMMENT
LOW.claude/skills/update-docs/SKILL.md89### Step 6: Make targeted editsCOMMENT
LOW.claude/skills/update-docs/SKILL.md140### Step 7: Update guidesCOMMENT
LOW.claude/skills/update-docs/SKILL.md165### Step 8: Identify doc gapsCOMMENT
LOW.claude/skills/update-docs/SKILL.md282### Step 9: Output summaryCOMMENT
LOWsrc/pipecat/adapters/services/perplexity_adapter.py129 # Step 1: Convert non-initial system messages to "user".COMMENT
LOWsrc/pipecat/adapters/services/perplexity_adapter.py140 # Step 2: Merge consecutive same-role messages.COMMENT
LOWsrc/pipecat/adapters/services/perplexity_adapter.py166 # Step 3: Remove trailing assistant messages.COMMENT
LOWsrc/pipecat/adapters/services/mistral_adapter.py109 # Step 1: ensure every "tool" message is followed by an "assistant".COMMENT
LOWsrc/pipecat/adapters/services/mistral_adapter.py119 # Step 2: convert non-initial system messages to "user".COMMENT
LOWsrc/pipecat/adapters/services/mistral_adapter.py129 # Step 3: set prefix on a trailing assistant message so Mistral willCOMMENT
LOWsrc/pipecat/services/google/gemini_live/file_api.py73 # Step 1: Initial resumable request to get upload URLCOMMENT
LOWsrc/pipecat/services/google/gemini_live/file_api.py99 # Step 2: Upload the actual file dataCOMMENT
Magic Placeholder Names13 hits · 32 pts
SeverityFileLineSnippetContext
HIGHsrc/pipecat/services/together/tts.py65 api_key="your-api-key",STRING
HIGHsrc/pipecat/services/together/stt.py60 api_key="your-api-key",STRING
HIGHsrc/pipecat/services/deepgram/flux/stt.py155 stt = DeepgramFluxSTTService(api_key="your-api-key")STRING
HIGHsrc/pipecat/services/deepgram/flux/stt.py160 api_key="your-api-key",STRING
HIGHsrc/pipecat/services/deepgram/flux/stt.py173 api_key="your-api-key",STRING
HIGHsrc/pipecat/services/camb/tts.py170 api_key="your-api-key",STRING
HIGHsrc/pipecat/services/camb/tts.py178 api_key="your-api-key",STRING
HIGHsrc/pipecat/services/smallest/tts.py109 api_key="your-api-key",STRING
HIGHsrc/pipecat/services/smallest/stt.py137 api_key="your-api-key",STRING
HIGHsrc/pipecat/services/sarvam/tts.py322 api_key="your-api-key",STRING
HIGHsrc/pipecat/services/sarvam/tts.py336 api_key="your-api-key",STRING
HIGHsrc/pipecat/services/sarvam/tts.py691 api_key="your-api-key",STRING
HIGHsrc/pipecat/services/sarvam/tts.py704 api_key="your-api-key",STRING
Overly Generic Function Names15 hits · 16 pts
SeverityFileLineSnippetContext
LOWtests/test_flows_direct_functions.py27 async def my_function(flow_manager: FlowManager):CODE
LOWtests/test_flows_direct_functions.py249 async def my_function(flow_manager: DummyFlowManager, name: str, age: int):CODE
LOWtests/test_flows_direct_functions.py270 async def my_function(flow_manager: FlowManager):CODE
LOWtests/test_flows_direct_functions.py280 async def my_function(flow_manager: FlowManager):CODE
LOWtests/test_flows_direct_functions.py290 async def my_function(flow_manager: FlowManager):CODE
LOWtests/test_flows_direct_functions.py320 async def my_function(flow_manager: FlowManager):CODE
LOWtests/test_flows_direct_functions.py330 async def my_function(flow_manager: FlowManager):CODE
LOWtests/test_flows_direct_functions.py366 async def my_function(flow_manager: FlowManager):CODE
LOWtests/test_flows_direct_functions.py381 async def my_function(flow_manager: FlowManager):CODE
LOWtests/test_flows_direct_functions.py190 async def my_function(flow_manager: FlowManager, name: str, age: int, height: float | None):CODE
LOWtests/test_direct_functions.py17 async def my_function(params: FunctionCallParams):CODE
LOWtests/test_direct_functions.py156 async def my_function(CODE
LOWtests/test_direct_functions.py212 async def my_function(params: DummyParams, name: str, age: int):CODE
LOW…js/src/app/api/sessions/[sessionId]/[...path]/route.ts3async function handleRequest(CODE
LOWsrc/pipecat/workers/llm/llm_worker.py62 async def my_function(self, params, arg: str):STRING
Verbosity Indicators8 hits · 15 pts
SeverityFileLineSnippetContext
LOWsrc/pipecat/adapters/services/perplexity_adapter.py129 # Step 1: Convert non-initial system messages to "user".COMMENT
LOWsrc/pipecat/adapters/services/perplexity_adapter.py140 # Step 2: Merge consecutive same-role messages.COMMENT
LOWsrc/pipecat/adapters/services/perplexity_adapter.py166 # Step 3: Remove trailing assistant messages.COMMENT
LOWsrc/pipecat/adapters/services/mistral_adapter.py109 # Step 1: ensure every "tool" message is followed by an "assistant".COMMENT
LOWsrc/pipecat/adapters/services/mistral_adapter.py119 # Step 2: convert non-initial system messages to "user".COMMENT
LOWsrc/pipecat/adapters/services/mistral_adapter.py129 # Step 3: set prefix on a trailing assistant message so Mistral willCOMMENT
LOWsrc/pipecat/services/google/gemini_live/file_api.py73 # Step 1: Initial resumable request to get upload URLCOMMENT
LOWsrc/pipecat/services/google/gemini_live/file_api.py99 # Step 2: Upload the actual file dataCOMMENT
Fake / Example Data8 hits · 8 pts
SeverityFileLineSnippetContext
LOWtests/test_voice_formatting.py257 result = await email_to_speech("user@example.com", "*")CODE
LOWtests/test_voice_formatting.py262 result = await email_to_speech("user@example.com", "*")CODE
LOWtests/test_get_llm_invocation_params.py817 "source": {"type": "base64", "media_type": "image/jpeg", "data": "fake_data"},CODE
LOWtests/genesys/conftest.py129 "name": "John Doe",CODE
LOWtests/genesys/test_genesys_serializer.py304 assert serializer.participant["name"] == "John Doe"CODE
LOWexamples/features/features-text-transforms.py24 - email_to_speech "user@example.com" → "user at example dot com"STRING
LOW…ipecat/cli/templates/client/vanilla-js-vite/src/app.js53 'placeholder',CODE
LOW…ipecat/cli/templates/client/vanilla-js-vite/src/app.js192 if (role === 'placeholder') {CODE
AI Response Leakage1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHexamples/realtime/realtime-openai-live-video.py96 # In this example we provide tools through the context, but you couldCOMMENT
Cross-Language Confusion2 hits · 8 pts
SeverityFileLineSnippetContext
HIGHsrc/pipecat/services/openai/realtime/llm.py1128 - return trueSTRING
HIGHsrc/pipecat/services/openai/realtime/llm.py1130 - return falseSTRING
Dead Code3 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_segmented_stt.py47CODE
MEDIUMsrc/pipecat/services/vision_service.py63CODE
MEDIUMsrc/pipecat/services/image_service.py61CODE
Slop Phrases3 hits · 5 pts
SeverityFileLineSnippetContext
MEDIUMexamples/realtime/realtime-gemini-live.py141 # frames, but you can add supplemental local turn frames for consumptionSTRING
MEDIUMexamples/realtime/realtime-ultravox.py184 # frames, but you can add supplemental local turn frames for consumptionSTRING
MEDIUMexamples/realtime/realtime-aws-nova-sonic.py130 # frames, but you can add supplemental local turn frames for consumptionCOMMENT
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOWsrc/pipecat/services/google/gemini_live/llm.py865 # TODO: implement runtime tool updates for Gemini Live.COMMENT
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWsrc/pipecat/services/piper/tts.py188# Usage:COMMENT