Agent-driven analytics from any CSV. Upload → Analyze → Insight.
DataPilot is an agentic data analyst that autonomously reasons over any CSV file to generate:
- 📊 Key Metrics — Auto-detected KPIs with trend indicators
- 💡 Business Insights — AI-generated observations & recommendations
- 📈 Dynamic Dashboards — Agent-planned visualizations (not hardcoded)
- 📋 Data Profiling — Schema, quality checks, statistical summaries
Unlike traditional dashboards with fixed charts, DataPilot uses a LangGraph agent that:
- Reasons about your data structure and domain
- Plans which visualizations make sense dynamically
- Adapts insights based on what it discovers
No two datasets get the same cookie-cutter analysis.
| Feature | Description |
|---|---|
| Zero Config | Drop any CSV, get instant analysis |
| Quick & Standard Modes | Fast overview or deep statistical dive |
| Local LLM Support | Works offline with Ollama (no API keys needed) |
| Agent-Driven Dashboards | Charts planned by AI, not hardcoded |
| Modern UI | Dark-themed cards, smooth animations, responsive |
- Python 3.10+
- (Optional) Ollama for local LLM
# Clone
git clone https://github.com/Aryankumar1729/Datapilot-autonomous-analyst.git
cd Datapilot-autonomous-analyst
# Virtual environment
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# Install dependencies
pip install -r requirements.txtstreamlit run app.pyOpen http://localhost:8501 in your browser.
# Install Ollama from https://ollama.ai
ollama pull tinyllama
brew services start ollama # or: ollama serveDataPilot auto-detects Ollama. No config needed.
datapilot/
├── app.py # Streamlit UI entry point
├── agent/
│ ├── graph.py # LangGraph workflow definition
│ ├── nodes.py # Agent nodes (analyze, plan, insight)
│ ├── prompts.py # LLM prompt templates
│ └── state.py # Shared state schema
├── tools/
│ ├── statistics.py # Statistical computations
│ ├── insights.py # Insight generation
│ ├── visualizations.py
│ └── validators.py
├── config/
│ ├── llm_config.py # LLM factory (Ollama)
│ └── settings.py # App configuration
└── requirements.txt
- Push to GitHub
- Go to share.streamlit.io
- Connect your repo → Select
app.py - Deploy (no secrets required!)
Note: Ollama won't work on Streamlit Cloud. The app gracefully falls back to statistical-only mode.
- Frontend: Streamlit + Plotly
- Agent Framework: LangGraph
- LLM: Ollama (local, optional)
- Data: Pandas, NumPy, SciPy
Contributions welcome! Please read CONTRIBUTING.md first.
MIT License — see LICENSE for details.
Built with ❤️ using LangGraph & Streamlit




