#!/bin/bash # Setup script for Superset Codespaces development environment echo "🔧 Setting up Superset development environment..." # System dependencies and uv are now pre-installed in the Docker image # This speeds up Codespace creation significantly! # Create virtual environment using uv echo "🐍 Creating Python virtual environment..." if ! uv venv; then echo "❌ Failed to create virtual environment" exit 1 fi # Install Python dependencies echo "📦 Installing Python dependencies..." if ! uv pip install -r requirements/development.txt; then echo "❌ Failed to install Python dependencies" echo "💡 You may need to run this manually after the Codespace starts" exit 1 fi # Install pre-commit hooks echo "🪝 Installing pre-commit hooks..." if source .venv/bin/activate && pre-commit install; then echo "✅ Pre-commit hooks installed" else echo "⚠️ Pre-commit hooks installation failed (non-critical)" fi # Install Claude Code CLI via npm echo "🤖 Installing Claude Code..." if npm install -g @anthropic-ai/claude-code; then echo "✅ Claude Code installed" else echo "⚠️ Claude Code installation failed (non-critical)" fi # Make the start script executable chmod +x .devcontainer/start-superset.sh # Add bashrc additions for automatic venv activation echo "🔧 Setting up automatic environment activation..." if [ -f ~/.bashrc ]; then # Check if we've already added our additions if ! grep -q "Superset Codespaces environment setup" ~/.bashrc; then echo "" >> ~/.bashrc cat .devcontainer/bashrc-additions >> ~/.bashrc echo "✅ Added automatic venv activation to ~/.bashrc" else echo "✅ Bashrc additions already present" fi else # Create bashrc if it doesn't exist cat .devcontainer/bashrc-additions > ~/.bashrc echo "✅ Created ~/.bashrc with automatic venv activation" fi # Also add to zshrc since that's the default shell if [ -f ~/.zshrc ] || [ -n "$ZSH_VERSION" ]; then if ! grep -q "Superset Codespaces environment setup" ~/.zshrc; then echo "" >> ~/.zshrc cat .devcontainer/bashrc-additions >> ~/.zshrc echo "✅ Added automatic venv activation to ~/.zshrc" fi fi echo "✅ Development environment setup complete!" echo "" echo "📝 The virtual environment will be automatically activated in new terminals" echo "" echo "🔄 To activate in this terminal, run:" echo " source ~/.bashrc" echo "" echo "🚀 To start Superset:" echo " start-superset" echo ""