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

Podifyr-AI is now more user friendly. Pick a provider (openai, azure, or ollama) and pass the relevant flags.

OpenAI

podifyr-ai generate ./my-project \
  --provider openai \
  --api-key sk-your-key-here

Azure OpenAI

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

Ollama (local, no API key)

Make sure Ollama is running locally (ollama serve) and the model is pulled (ollama pull llama3):

podifyr-ai generate ./my-project \
  --provider ollama \
  --model llama3

By default audio is synthesized with the free Edge TTS backend โ€” no API key required.

CLI Reference

podifyr-ai generate <REPO_PATH>     Generate a podcast walkthrough

Provider options:
  --provider, -p TEXT             LLM provider: openai (default), azure, ollama
  --model, -m TEXT                LLM model name (e.g. gpt-4o-mini, llama3)
  --api-key TEXT                  API key for the LLM provider (openai/azure)
  --azure-endpoint TEXT           Azure OpenAI endpoint URL
  --azure-deployment TEXT         Azure chat model deployment name
  --azure-api-version TEXT        Azure OpenAI API version
  --ollama-base-url TEXT          Ollama server URL [default: http://localhost:11434]

Output and audio options:
  --output, -o PATH               Output directory [default: ./podifyr_output]
  --tts-backend TEXT              TTS: 'edge' (free, default), 'openai', 'elevenlabs'
  --voice TEXT                    Voice (e.g. alloy, echo, fable, onyx, nova, shimmer)
  --tts-api-key TEXT              API key for the TTS backend (falls back to --api-key)
  --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 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 (--tts-api-key or --api-key) Good API key
ElevenLabs Varies Yes (--tts-api-key) Excellent pip install podifyr-ai[elevenlabs]

Configuration

Podifyr-AI is purely CLI-driven โ€” there is no .env file, no PODIFYR_* env vars, no config sub-command. Every run is fully described by the flags you pass to podifyr-ai generate.

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
  • ๐Ÿค Unified LLM interface โ€” One CLI, three providers: OpenAI, Azure OpenAI, Ollama
  • ๐Ÿ”Š Free TTS included โ€” Edge TTS (Microsoft Neural voices) works out of the box
  • ๐Ÿ”Œ Plugin backends โ€” Swappable TTS providers (Edge, OpenAI, ElevenLabs)
  • ๐Ÿ’พ 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/        # Plain pydantic models for runtime settings (CLI-driven)
โ”œโ”€โ”€ 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
โ”œโ”€โ”€ llm/           # Unified provider factory (OpenAI, Azure, Ollama)
โ”œโ”€โ”€ 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)
  • One of: an OpenAI API key, an Azure OpenAI deployment, or a local Ollama server
  • 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.1.tar.gz (47.1 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.1-py3-none-any.whl (57.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: podifyr_ai-2026.5.24.1.tar.gz
  • Upload date:
  • Size: 47.1 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.1.tar.gz
Algorithm Hash digest
SHA256 4bd2fe6ef234a3f8119085ca01f1f79028f08b2a11939064d9aecdb99930e95a
MD5 5dce9fa19352cf3b8e14585a169cdaaf
BLAKE2b-256 9588f39eaf14514073fe73f80426f546533b826348adc3a7678fc2a608f25320

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for podifyr_ai-2026.5.24.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3213d0d3cdeaf59932c29f6117d9fe0dc9b7e6b8ecbd443ec64a7be2dbe09560
MD5 f985f0d3d98b787be4f796d76d7d4dd3
BLAKE2b-256 719a364c717df496a17da8f3ebc95c6207b078e0088ea1bbc3f0357d987164ff

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