prompts

Interactive prompt system for Pipecat CLI.

class pipecat.cli.prompts.ProjectConfig(project_name: str, bot_type: ~typing.Literal['web', 'telephony'], transports: list[str] = <factory>, mode: str = 'cascade', stt_service: str | None = None, llm_service: str | None = None, tts_service: str | None = None, realtime_service: str | None = None, video_service: str | None = None, generate_client: bool = False, client_framework: str | None = None, client_server: str | None = None, daily_pstn_mode: str | None = None, twilio_daily_sip_mode: str | None = None, video_input: bool = False, video_output: bool = False, recording: bool = False, transcription: bool = False, deploy_to_cloud: bool = False, enable_krisp: bool = False, enable_observability: bool = False, enable_eval: bool = False)[source]

Bases: object

Configuration for a Pipecat project.

project_name: str
bot_type: Literal['web', 'telephony']
transports: list[str]
mode: str = 'cascade'
stt_service: str | None = None
llm_service: str | None = None
tts_service: str | None = None
realtime_service: str | None = None
video_service: str | None = None
generate_client: bool = False
client_framework: str | None = None
client_server: str | None = None
daily_pstn_mode: str | None = None
twilio_daily_sip_mode: str | None = None
video_input: bool = False
video_output: bool = False
recording: bool = False
transcription: bool = False
deploy_to_cloud: bool = False
enable_krisp: bool = False
enable_observability: bool = False
enable_eval: bool = False
pipecat.cli.prompts.ask_project_questions(default_name: str | None = None) ProjectConfig[source]

Ask user for project configuration through interactive prompts.

Parameters:

default_name – Optional default for the project name prompt (e.g. the basename of the target directory when scaffolding in place).

Returns:

ProjectConfig with user’s selections

Submodules