A web application for interactive data analysis powered by a PydanticAI agent with real-time streaming.
- Natural language queries over CSV datasets via DuckDB SQL
- Real-time streaming of the agent's reasoning (thinking blocks), tool calls, and responses
- Interactive Plotly visualizations rendered directly in the chat
- Data tables for tabular results
- Tool call transparency — see the agent's tool calls, arguments, and results as they happen
- Backend: FastAPI + PydanticAI + DuckDB, streamed via SSE
- Frontend: React + TypeScript + Vite + Tailwind CSS
- Infrastructure: Docker Compose
- Docker & Docker Compose
- An Anthropic API key
# 1. Set your API key
cp .env.example .env
# Edit .env and add your ANTHROPIC_API_KEY
# 2. Add CSV files to data/
# 3. Start the web app
docker compose --profile web upThe app will be available at http://localhost:3000.
The
data/directory is mounted as a volume — you can add or modify CSV files without rebuilding.
