- Nikhil Joshi ([email protected])
- Ivine Joju ([email protected])
- Advaith Narayanan ([email protected])
- Adrin Jose CT ([email protected])
- Aanand Deva Suresh ([email protected])
This project is a comprehensive data processing solution that combines file conversion, AI-powered analysis, and cloud storage capabilities. The system converts CSV/JSON files to efficient Parquet format and generates intelligent metadata using Groq LLM.
โโโ data/ # Sample data files
โ โโโ AirlineSatisfactionSurvey1.csv
โ โโโ dummy_marksheet.csv
โโโ server/ # Main application server
โ โโโ server.py # Flask web application
โ โโโ requirements.txt # Python dependencies
โ โโโ setup.sh # Automated setup script
โ โโโ start.sh # Server start script
โ โโโ test_integration.py # Integration tests
โ โโโ .env.example # Environment configuration template
โ โโโ templates/
โ โ โโโ index.html # Web interface
โ โโโ utils/ # Data processing modules
โ โโโ __init__.py # Package initialization
โ โโโ enrich.py # Data analysis engine
โ โโโ summarizer.py # AI summarization module
โโโ README.md # This file
-
enrich.py: Advanced data analysis and column profiling
- Automatic data type detection
- Statistical analysis for numerical columns
- Semantic type inference
- Sample data extraction
-
summarizer.py: AI-powered metadata generation
- Groq LLM integration for intelligent descriptions
- Parquet file processing from MinIO storage
- README generation in markdown format
- Metadata file management
- File Upload & Conversion: Drag & drop interface for CSV/JSON to Parquet conversion
- MinIO Integration: Secure cloud storage for processed files
- AI Analysis: On-demand metadata generation for parquet files
- File Management: Browse, download, and analyze stored files
- Convert CSV and JSON files to efficient Parquet format
- Automatic file upload and processing
- Real-time progress feedback
- Secure cloud storage with MinIO
- Generate comprehensive dataset descriptions using Groq LLM
- Automatic field analysis and semantic type detection
- Create detailed README files with statistics and samples
- Export metadata in markdown format
- Browse all stored files with rich metadata
- Download original and processed files
- View generated analysis reports
- Integrated file management interface
cd server/
./setup.shEdit .env file with your settings:
MINIO_ENDPOINT=localhost:9000
MINIO_ACCESS_KEY=your_access_key
MINIO_SECRET_KEY=your_secret_key
GROQ_API_KEY=your_groq_api_key./start.shOpen http://localhost:5000 in your browser
- Upload Data: Drag & drop CSV/JSON files for automatic Parquet conversion
- Analyze Files: Select Parquet files for AI-powered metadata generation
- View Results: Browse comprehensive analysis reports and download files
- Backend: Flask, Python 3.8+
- Data Processing: pandas, pyarrow
- AI/ML: Groq LLM API
- Storage: MinIO object storage
- Frontend: HTML5, Tailwind CSS, JavaScript
- File Formats: CSV, JSON input โ Parquet output
POST /convert-to-parquet- File conversionPOST /process-parquet/<filename>- AI analysisGET /list-files- File managementGET /get-metadata/<filename>- Metadata retrievalGET /download/<filename>- File download
python test_integration.pyexport FLASK_DEBUG=1
python server.py- Fork the repository
- Create a feature branch
- Implement your changes
- Test thoroughly
- Submit a pull request
Advaithum Pillerum - Advanced Data Processing Solutions