Skip to main content

Automated developer onboarding via podcast-style audio walkthroughs of Python codebases.

Project description

๐ŸŽ™๏ธ Podifyr-AI

AI-powered CLI that transforms Python codebases into podcast-style audio walkthroughs using LangGraph agentic pipelines, AST analysis, dependency graph traversal, and neural text-to-speech synthesis

CI PyPI Python License codecov


What is Podifyr-AI?

Podifyr-AI is a CLI tool that analyzes a Python repository's architecture and generates a conversational, podcast-style audio walkthrough. It's designed to accelerate developer onboarding by letting new team members listen to an AI-generated explanation of the system architecture โ€” like having a senior engineer give them a KT session on day one.

How It Works

Repository โ†’ AST Parsing โ†’ Dependency Graph โ†’ AI Script โ†’ TTS Audio โ†’ ๐ŸŽง Walkthrough
  1. Parse: Traverses the repo and extracts structural metadata (classes, functions, imports) using Python's AST module
  2. Graph: Builds a directed dependency graph to understand module relationships and reading order
  3. Script: Uses a multi-agent LangGraph pipeline (Analyzer โ†’ Scriptwriter) to generate conversational explanations
  4. Audio: Synthesizes speech via Edge TTS (free) or OpenAI TTS with concurrent chunk generation and FFmpeg stitching

Quick Start

Installation

pip install podifyr-ai

Generate a Walkthrough (Free โ€” No API key for TTS)

# Set your OpenAI API key (needed for script generation)
export OPENAI_API_KEY="sk-..."

# Generate a walkthrough โ€” uses free Edge TTS by default
podifyr-ai generate ./path/to/your/repo

Or pass everything via CLI (no env setup needed)

podifyr-ai generate ./my-project \
  --api-key sk-your-key-here \
  --tts-backend edge \
  --output ./walkthrough

Azure OpenAI

podifyr-ai generate ./my-project \
  --api-key your-azure-key \
  --azure-endpoint https://your-resource.openai.azure.com \
  --azure-deployment gpt-4o-mini \
  --tts-backend edge

CLI Reference

podifyr-ai generate <REPO_PATH>     Generate a podcast walkthrough

Options:
  --output, -o PATH              Output directory [default: ./podifyr_output]
  --api-key TEXT                  OpenAI/Azure API key (or set OPENAI_API_KEY)
  --tts-backend TEXT              TTS: 'edge' (free), 'openai', 'elevenlabs'
  --voice TEXT                    Voice: alloy, echo, fable, onyx, nova, shimmer
  --azure-endpoint TEXT           Azure OpenAI endpoint (enables Azure mode)
  --azure-deployment TEXT         Azure chat model deployment name
  --skip-audio                    Generate script only, skip audio
  --no-cache                      Disable caching for this run
  --concurrency, -c INT           Max concurrent TTS requests [1-20]
  --graph-details                 Show dependency graph metrics
  --verbose, -V                   Enable debug logging

podifyr-ai config init              Create .env configuration file
podifyr-ai config show              Display current resolved settings
podifyr-ai cache clear              Clear cached data
podifyr-ai cache stats              Show cache statistics
podifyr-ai --version                Show version

TTS Backends

Backend Cost API Key Required Quality Setup
Edge (default) Free No Good (Microsoft Neural) None
OpenAI ~$0.015/1K chars Yes (OPENAI_API_KEY) Good API key
ElevenLabs Varies Yes (ELEVENLABS_API_KEY) Excellent pip install podifyr-ai[elevenlabs]

Configuration

Settings are resolved in priority order: CLI flags > Environment variables > .env file > Defaults

# Generate a template .env file
podifyr-ai config init

# View resolved configuration
podifyr-ai config show

Key Environment Variables

Variable Default Description
OPENAI_API_KEY โ€” OpenAI API key (for LLM script generation)
PODIFYR_TTS_BACKEND edge TTS backend: edge, openai, elevenlabs
PODIFYR_TTS_VOICE alloy Voice identifier
PODIFYR_AZURE_ENABLED false Use Azure OpenAI for LLM
PODIFYR_AZURE_ENDPOINT โ€” Azure OpenAI resource URL
PODIFYR_AZURE_API_KEY โ€” Azure API key
PODIFYR_AZURE_CHAT_DEPLOYMENT โ€” Azure model deployment name

See docs/getting-started/configuration.md for the full reference.

Features

  • ๐Ÿง  AST-based analysis โ€” Extracts architecture without executing code
  • ๐Ÿ”— Dependency graphing โ€” Cycle-aware topological sorting with NetworkX
  • ๐Ÿค– Multi-agent pipeline โ€” LangGraph orchestration with analyzer + scriptwriter nodes
  • ๐Ÿ”Š Free TTS included โ€” Edge TTS (Microsoft Neural voices) works out of the box
  • ๐Ÿ”Œ Plugin backends โ€” Swappable TTS providers (Edge, OpenAI, ElevenLabs)
  • โ˜๏ธ Azure OpenAI โ€” Full support for Azure OpenAI deployments
  • ๐Ÿ’พ Smart caching โ€” Content-hash invalidation avoids redundant API calls
  • ๐Ÿ“Š Rich CLI โ€” Beautiful progress bars, graph metrics, and colored output
  • ๐Ÿณ Docker support โ€” Reproducible builds with multi-stage Dockerfile
  • โœ… Production-grade โ€” Strict typing, structured logging, comprehensive test suite

Architecture

src/podifyr/
โ”œโ”€โ”€ core/          # Exceptions, constants, protocols, types
โ”œโ”€โ”€ config/        # Pydantic settings with layered resolution
โ”œโ”€โ”€ logging/       # Structured logging with structlog
โ”œโ”€โ”€ utils/         # Filesystem helpers, retry logic, async patterns
โ”œโ”€โ”€ cache/         # Disk-based caching with content-hash invalidation
โ”œโ”€โ”€ parsing/       # AST visitor, models, filtering engine
โ”œโ”€โ”€ graph/         # NetworkX graph builder and analyzer
โ”œโ”€โ”€ agents/        # LangGraph nodes, prompts, orchestrator
โ”œโ”€โ”€ audio/         # TTS backends (Edge, OpenAI, ElevenLabs, Azure), stitcher
โ””โ”€โ”€ cli/           # Typer commands with rich display

Requirements

  • Python 3.10+
  • FFmpeg (for audio stitching)
  • An LLM API key (OpenAI or Azure OpenAI) for script generation
  • TTS: Edge TTS works free with no key; OpenAI/ElevenLabs require API keys

Install FFmpeg

# macOS
brew install ffmpeg

# Ubuntu/Debian
sudo apt-get install ffmpeg

# Windows
winget install ffmpeg

Development

# Clone and install in dev mode
git clone https://github.com/anunayandkumar/podifyr-ai.git
cd podifyr-ai
pip install -e ".[dev,docs,all]"

# Run tests
pytest

# Run linter and type checker
ruff check src/ tests/
mypy src/

License

MIT โ€” see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

podifyr_ai-2026.5.24.tar.gz (48.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

podifyr_ai-2026.5.24-py3-none-any.whl (58.9 kB view details)

Uploaded Python 3

File details

Details for the file podifyr_ai-2026.5.24.tar.gz.

File metadata

  • Download URL: podifyr_ai-2026.5.24.tar.gz
  • Upload date:
  • Size: 48.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for podifyr_ai-2026.5.24.tar.gz
Algorithm Hash digest
SHA256 fa32a5618efe737fcc4cced156fe1d219f1bf736786fb28586e698e0345e5767
MD5 764b5769185345a3efa4f9950f75f36e
BLAKE2b-256 d27abd33a98f3b67d174674d8ca4d3c0dfc42d898a194d9fbcb925ff56a014dc

See more details on using hashes here.

File details

Details for the file podifyr_ai-2026.5.24-py3-none-any.whl.

File metadata

  • Download URL: podifyr_ai-2026.5.24-py3-none-any.whl
  • Upload date:
  • Size: 58.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for podifyr_ai-2026.5.24-py3-none-any.whl
Algorithm Hash digest
SHA256 0fe92621e3be9f41c6151410f40fbeb8110d9e6f1be3c2ff2635b0b1edf8f780
MD5 6f8c3a6931561422ec6c4364c4f0aa80
BLAKE2b-256 46002116c4b272048c396709c9c78ffc61f508af1eebf54b057f6a410e175ec2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page