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
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
- Parse: Traverses the repo and extracts structural metadata (classes, functions, imports) using Python's AST module
- Graph: Builds a directed dependency graph to understand module relationships and reading order
- Script: Uses a multi-agent LangGraph pipeline (Analyzer โ Scriptwriter) to generate conversational explanations
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4bd2fe6ef234a3f8119085ca01f1f79028f08b2a11939064d9aecdb99930e95a
|
|
| MD5 |
5dce9fa19352cf3b8e14585a169cdaaf
|
|
| BLAKE2b-256 |
9588f39eaf14514073fe73f80426f546533b826348adc3a7678fc2a608f25320
|
File details
Details for the file podifyr_ai-2026.5.24.1-py3-none-any.whl.
File metadata
- Download URL: podifyr_ai-2026.5.24.1-py3-none-any.whl
- Upload date:
- Size: 57.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3213d0d3cdeaf59932c29f6117d9fe0dc9b7e6b8ecbd443ec64a7be2dbe09560
|
|
| MD5 |
f985f0d3d98b787be4f796d76d7d4dd3
|
|
| BLAKE2b-256 |
719a364c717df496a17da8f3ebc95c6207b078e0088ea1bbc3f0357d987164ff
|