An intelligent, interactive data analytics dashboard built with Python and Streamlit. Upload a CSV, paste raw data, or pull datasets directly from KaggleHub — then explore, visualize, and download professional reports in seconds.
Features · Tech Stack · Screenshots · Getting Started · Usage Guide · Project Structure · Contributing
- 📁 CSV Upload — Drag and drop any CSV file for instant analysis
- 📋 Raw Data Paste — Paste data directly into the
data/raw/folder for quick ingestion - 🌐 KaggleHub Integration — Browse, download, and analyze datasets from Kaggle without leaving the dashboard
- 📊 Interactive Visualizations — Dynamic charts and graphs powered by Streamlit
- 🔍 Automated Data Profiling — Summary statistics, missing values, data types, and distributions at a glance
- 📥 Report Downloads — Export analysis reports as downloadable documents
- ⚡ Real-time Analysis — Instantly reacts to your data with zero configuration
- 🎨 Clean, Intuitive UI — User-friendly interface built for analysts and non-technical users alike
| Layer | Technology |
|---|---|
| Language | Python 3.9+ |
| Dashboard Framework | Streamlit |
| Data Manipulation | Pandas, NumPy |
| Visualizations | Matplotlib, Seaborn, Plotly |
| Dataset Source | KaggleHub |
| Report Export | CSV / PDF / Excel |
| Data Storage | Local filesystem (data/raw/) |
📌 Place your screenshots inside the
assets/folder in your project root. They will render automatically here on GitHub.
The main landing page of the Smart Data Dashboard — clean, minimal, and ready for data.
Users can upload any CSV file directly through the interface. The dashboard immediately reads and previews the data.
Users can paste or place raw data files in the
data/raw/folder. The dashboard detects and loads them automatically.
Browse and download datasets directly from KaggleHub. Search for any public dataset and pull it into the dashboard with one click.
Instantly preview your dataset with a structured table view, column summaries, data types, and shape information.
Automated descriptive statistics including mean, median, standard deviation, min/max values, and null counts per column.
Explore your data visually with dynamic charts — histograms, bar charts, scatter plots, correlation heatmaps, and more.
Drill down into individual columns to understand distributions, unique values, and outliers.
Generate and download a full analysis report of your dataset directly from the dashboard.
Ensure you have the following installed:
- Python 3.9+
- pip
- A Kaggle account (required for KaggleHub integration)
1. Clone the repository
git clone https://github.com/YOUR_USERNAME/smart-data-dashboard.git
cd smart-data-dashboard2. Create and activate a virtual environment (recommended)
python -m venv venv
# On macOS/Linux
source venv/bin/activate
# On Windows
venv\Scripts\activate3. Install dependencies
pip install -r requirements.txt4. Set up Kaggle API credentials (for KaggleHub integration)
- Go to kaggle.com → Account → API → Create New Token
- Download
kaggle.jsonand place it at:- macOS/Linux:
~/.kaggle/kaggle.json - Windows:
C:\Users\YOUR_USERNAME\.kaggle\kaggle.json
- macOS/Linux:
5. Run the dashboard
streamlit run app.py
streamlit run app_generic.py6. Open in your browser
http://localhost:8501
- Launch the dashboard
- Click "Upload CSV" on the sidebar or main panel
- Select any
.csvfile from your computer - The dashboard will instantly load, preview, and analyze your data
- Copy your CSV or raw data file
- Save it into the
data/raw/folder inside the project directory - Refresh the dashboard — your file will appear in the data source selector
- Select it to begin analysis
- Navigate to the KaggleHub section in the dashboard
- Search for any public Kaggle dataset by name or keyword
- Click Download — the dataset is fetched and loaded automatically
- Proceed with full analysis directly in the dashboard
- After loading your data, explore the analysis panels
- Click "Download Report" from the sidebar or results panel
- Your report is generated and saved as a structured downloadable document
smart-data-dashboard/
├── app.py # Main Streamlit application entry point
├── requirements.txt # Python dependencies
├── .env # Environment variables (not committed)
├── .gitignore
│
├── data/
│ └── raw/ # Place or paste raw CSV files here
│
├── assets/ # Screenshots for README and UI
│ ├── screenshot1.png
│ ├── screenshot2.png
│ └── ...
│
├── modules/
│ ├── uploader.py # CSV upload and file handler logic
│ ├── profiler.py # Data profiling and statistics
│ ├── visualizer.py # Chart and visualization generation
│ ├── kaggle_loader.py # KaggleHub integration
│ └── report_generator.py # Report export logic
│
└── README.md
Below are the core packages used. The full list is in requirements.txt.
streamlit
pandas
numpy
matplotlib
seaborn
plotly
kagglehub
openpyxl
fpdf2
python-dotenvInstall all dependencies at once:
pip install -r requirements.txtCustomize the dashboard behavior using a .env file in the project root:
# Kaggle credentials (alternative to kaggle.json)
KAGGLE_USERNAME=your_kaggle_username
KAGGLE_KEY=your_kaggle_api_key
# Default data directory
DATA_DIR=data/raw
# Report output directory
REPORT_DIR=reports/Contributions are welcome and appreciated! Here's how to get involved:
# Fork the repository, then:
git checkout -b feature/your-feature-name
git commit -m "feat: describe your change"
git push origin feature/your-feature-name
# Open a Pull RequestPlease make sure to:
- Follow the existing code style and project structure
- Test your changes locally before submitting a PR
- Update this README if you add new features or change any setup steps
This project is licensed under the MIT License — see the LICENSE file for full details.
- Streamlit — for making data apps incredibly easy to build
- KaggleHub — for seamless public dataset access
- Pandas — the backbone of all data wrangling
- Plotly — for beautiful interactive visualizations
- The open-source data science community 💛








