Skip to content

Podcast

the_data_packet.workflows.podcast

Main podcast generation workflow.

logger = get_logger(__name__) module-attribute

PodcastResult dataclass

Result of podcast generation workflow.

success: bool = False class-attribute instance-attribute

number_of_articles_collected: int = 0 class-attribute instance-attribute

articles_collected: List[Article] = field(default_factory=list) class-attribute instance-attribute

script_generated: bool = False class-attribute instance-attribute

audio_generated: bool = False class-attribute instance-attribute

rss_generated: bool = False class-attribute instance-attribute

script_path: Optional[Path] = None class-attribute instance-attribute

audio_path: Optional[Path] = None class-attribute instance-attribute

rss_path: Optional[Path] = None class-attribute instance-attribute

s3_script_url: Optional[str] = None class-attribute instance-attribute

s3_audio_url: Optional[str] = None class-attribute instance-attribute

s3_rss_url: Optional[str] = None class-attribute instance-attribute

execution_time_seconds: Optional[float] = None class-attribute instance-attribute

error_message: Optional[str] = None class-attribute instance-attribute

__init__(success: bool = False, number_of_articles_collected: int = 0, articles_collected: List[Article] = list(), script_generated: bool = False, audio_generated: bool = False, rss_generated: bool = False, script_path: Optional[Path] = None, audio_path: Optional[Path] = None, rss_path: Optional[Path] = None, s3_script_url: Optional[str] = None, s3_audio_url: Optional[str] = None, s3_rss_url: Optional[str] = None, execution_time_seconds: Optional[float] = None, error_message: Optional[str] = None) -> None

PodcastPipeline

Main podcast generation pipeline.

SOURCES = {'wired': WiredSource, 'techcrunch': TechCrunchSource} class-attribute instance-attribute

config = config or get_config() instance-attribute

__init__(config: Optional[Config] = None)

Initialize the podcast pipeline.

Parameters:

Name Type Description Default
config Optional[Config]

Pipeline configuration (defaults to global config)

None

run() -> PodcastResult

Execute the complete podcast generation pipeline.

Returns:

Type Description
PodcastResult

PodcastResult with execution details