The most powerful AI-driven CSV data quality analyzer
Upload → Analyze → Fix → Export — All in seconds!
🚀 Live Demo • 📖 Documentation • 🐛 Report Bug • ✨ Request Feature
💡 Try it now: https://smart-csv-health-checker.streamlit.app/
| Traditional Tools | Smart CSV Health Checker |
|---|---|
| ❌ Manual inspection | ✅ AI-powered auto-detection |
| ❌ Hours of work | ✅ Results in seconds |
| ❌ Miss hidden issues | ✅ Finds complex anomalies |
| ❌ No fix suggestions | ✅ One-click auto-fix |
| ❌ Basic statistics | ✅ Deep profiling & PCA |
| ❌ No code export | ✅ Export Python code |
|
|
| Tab | Feature | Description |
|---|---|---|
| 📋 | Overview | Quick summary with health score, issue breakdown, and key metrics |
| 🧠 | AI Deep Dive | Advanced ML-powered anomaly detection and insights |
| 🛠️ | Fix Data | One-click fixes for missing values, outliers, and formatting |
| 🔧 | Pipeline | Build custom data cleaning pipelines |
| 📊 | Visualizations | Interactive charts, distributions, and heatmaps |
| 📉 | PCA Analysis | Dimensionality reduction and component analysis |
| 💻 | Code Export | Get Python code for all transformations |
| 🔒 | Deep Profile | PII detection and sensitive data scanning |
| 📈 | Compare | Side-by-side dataset comparison |
| 🎲 | Synthetic Data | Generate realistic test data |
🔒 Enterprise-Grade Security
├── 📧 Email/Password Authentication
├── ✨ User Registration with Verification
├── 🔑 Secure Password Reset
├── 👤 User Profile Management
└── 🚪 Session Management
Powered by Supabase — Enterprise-grade authentication and database.
- 🌙 Dark Mode — Easy on the eyes
- ✨ Glassmorphism Design — Modern and sleek
- 📱 Responsive — Works on any device
- 🎭 Animated Elements — Smooth interactions
- 🎨 Gradient Accents — Professional look
- Python 3.8+
- pip package manager
# 1. Clone the repository
git clone https://github.com/Prajwal18py/SMART-CSV-HEALTH-CHECKER.git
# 2. Navigate to directory
cd SMART-CSV-HEALTH-CHECKER
# 3. Create virtual environment
python -m venv venv
# 4. Activate virtual environment
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate
# 5. Install dependencies
pip install -r requirements.txt
# 6. Run the app
streamlit run app.pyCreate .streamlit/secrets.toml:
[supabase]
url = "your-supabase-url"
key = "your-supabase-anon-key"
These are just a few highlights. Explore the full app to discover:
- 🔧 Custom Data Pipelines
- 📉 PCA Analysis
- 💻 Code Export
- 🔒 Deep Profiling with PII Detection
- 📈 Dataset Comparison
- 🎲 Synthetic Data Generation
smart-csv-health-checker/
│
├── 📄 app.py # Main application entry point
│
├── 📁 auth/ # Authentication module
│ ├── __init__.py
│ ├── auth_functions.py # Supabase auth functions
│ └── login.py # Login page UI
│
├── 📁 core/ # Core functionality
│ ├── analysis.py # AI analysis engine
│ ├── data_loader.py # CSV loading & validation
│ └── type_detection.py # Column type detection
│
├── 📁 tabs/ # Application tabs
│ ├── tab_overview.py # Overview tab
│ ├── tab_ai_deep_dive.py # AI analysis tab
│ ├── tab_fix_data.py # Data fixing tab
│ ├── tab_pipeline.py # Pipeline builder
│ ├── tab_visualizations.py # Charts & graphs
│ ├── tab_pca.py # PCA analysis
│ ├── tab_code.py # Code export
│ ├── tab_deep_profile.py # Deep profiling
│ ├── tab_compare.py # Dataset comparison
│ └── tab_synthetic.py # Synthetic data
│
├── 📁 ui/ # UI components
│ ├── layout.py # Page layout
│ ├── styles.py # Custom CSS
│ └── sidebar.py # Sidebar component
│
├── 📁 database/ # Database module
│ ├── __init__.py
│ ├── db_functions.py # Database operations
│ └── schema.sql # Database schema
│
├── 📁 config/ # Configuration
│ └── supabase_config.py # Supabase client
│
├── 📁 .streamlit/ # Streamlit config
│ └── secrets.toml # API keys (gitignored)
│
├── 📄 requirements.txt # Python dependencies
├── 📄 README.md # This file
└── 📄 LICENSE # MIT License
✅ Missing Value Detection ✅ Duplicate Row Detection
✅ Outlier Identification ✅ Data Type Validation
✅ Format Consistency ✅ Range Validation
✅ Pattern Anomalies ✅ Correlation Analysis
✅ PII Detection ✅ Statistical Profiling
📊 Numeric → int, float, currency, percentage
📝 Text → string, categorical, free-text
📅 DateTime → date, time, datetime, timestamp
✉️ Identifiers → email, phone, ID, UUID
🌐 Web → URL, IP address, domain
📍 Location → address, coordinates, postal code
|
|
|
Contributions are what make the open source community amazing! Any contributions you make are greatly appreciated.
# 1. Fork the Project
# 2. Create your Feature Branch
git checkout -b feature/AmazingFeature
# 3. Commit your Changes
git commit -m 'Add some AmazingFeature'
# 4. Push to the Branch
git push origin feature/AmazingFeature
# 5. Open a Pull RequestDistributed under the MIT License. See LICENSE for more information.
MIT License
Copyright (c) 2026 Prajwal.A
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
- Streamlit — Amazing web framework
- Supabase — Backend as a Service
- Scikit-learn — ML algorithms
- Pandas — Data manipulation
- Plotly — Interactive visualizations