""" Auto Demo - Run Enhanced Data Explorer ===================================== This script automatically demonstrates the enhanced data explorer """ from upload import EnhancedDataExplorer, load_and_explore_data import os def auto_demo(): """Automatically run the enhanced data explorer demo""" print("šŸš€ STARTING AUTO DEMO - ENHANCED DATA EXPLORER") print("=" * 50) # First check if CSV file exists csv_path = "C:/Users/Cosmo/Desktop/NTU Peak Singtel/outsystems_sample_logs_6months.csv" if not os.path.exists(csv_path): print(f"āŒ CSV file not found at: {csv_path}") print("šŸ“ Using demo data instead...") # Create some demo data import pandas as pd import numpy as np demo_data = pd.DataFrame({ 'timestamp': pd.date_range('2024-01-01', periods=1000, freq='H'), 'response_time': np.random.exponential(0.5, 1000), 'status_code': np.random.choice([200, 404, 500], 1000, p=[0.8, 0.15, 0.05]), 'user_count': np.random.poisson(10, 1000), 'error_rate': np.random.beta(2, 20, 1000), 'server_id': np.random.choice(['server1', 'server2', 'server3'], 1000) }) demo_csv_path = "demo_data.csv" demo_data.to_csv(demo_csv_path, index=False) print(f"āœ… Demo data created: {demo_csv_path}") # Update the path for the explorer csv_path = demo_csv_path # Initialize the enhanced explorer print("\nšŸ¤– Initializing Enhanced Data Explorer...") explorer = EnhancedDataExplorer(csv_path) # Check AI status if explorer.agent: print("āœ… AI Agent: Configured and ready!") ai_status = "Available" else: print("āš ļø AI Agent: Not configured (non-AI features still available)") ai_status = "Not Available" print(f"\nšŸ“Š DATA ANALYSIS DEMO") print("=" * 30) # Step 1: Load data print("\n1ļøāƒ£ Loading and exploring data...") df = explorer.load_data() if df is not None: print(f"āœ… Data loaded successfully!") # Step 2: Data quality analysis print("\n2ļøāƒ£ Analyzing data quality...") quality_report = explorer.analyze_data_quality() # Step 3: Create visualizations print("\n3ļøāƒ£ Creating visualizations...") try: explorer.create_visualizations() except Exception as e: print(f"āš ļø Visualization skipped: {e}") # Step 4: AI Analysis (if available) if explorer.agent: print("\n4ļøāƒ£ Running AI analysis...") queries = [ "Describe the main characteristics of this dataset", "What patterns do you see in the data?", "Are there any data quality issues I should be aware of?" ] for i, query in enumerate(queries, 1): print(f"\nšŸ¤– AI Query {i}: {query}") try: response = explorer.ai_analysis(query) if response: print("āœ… AI analysis completed") else: print("āš ļø AI analysis returned no response") except Exception as e: print(f"āŒ AI analysis failed: {e}") break else: print("\n4ļøāƒ£ AI Analysis: Skipped (no AI model configured)") print(f"\nšŸŽ‰ DEMO COMPLETE!") print("=" * 20) print(f"šŸ“Š Data Status: {'Loaded' if df is not None else 'Failed'}") print(f"šŸ¤– AI Status: {ai_status}") print(f"šŸ“ˆ Visualizations: {'Created' if df is not None else 'Skipped'}") print(f"\nšŸ’” To run interactively:") print(f" python upload.py") print(f" Choose option 2 for enhanced mode") if __name__ == "__main__": auto_demo()