input: def classify_emails(csv_path: str, test_size: float = 0.20, random_state: int = 42) -> float:
      """
      Classify emails from a CSV file as either spam or non-spam using a Linear SVM model.
      The CSV file should have columns 'EmailText' for the email content and 'Label' for the label (spam or non-spam).
      
      >>> classify_emails("spam.csv")
      0.97
      """
output:     
      import pandas as pd
      from sklearn.model_selection import train_test_split
      from sklearn.feature_extraction.text import TfidfVectorizer
      from sklearn.svm import LinearSVC
      from sklearn.metrics import accuracy_score
  
      # Load the CSV file
      df = pd.read_csv(csv_path)
  
      # Split the data into features and labels
      X = df['EmailText']
      y = df['Label']
  
      # Split the data into training and testing sets
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=test_size, random_state=random_state)
  
      # Vectorize the email text using TF-IDF
      vectorizer = TfidfVectorizer()
      X_train_vec = vectorizer.fit_transform(X_train)
      X_test_vec = vectorizer.transform(X_test)
  
      # Train a Linear SVM model
      model = LinearSVC()
      model.fit(X_train_vec, y_train)
  
      # Predict the labels for the test set
      y_pred = model.predict(X_test_vec)
  
      # Calculate the accuracy of the model
      accuracy = accuracy_score(y_test, y_pred)
  
      return accuracy
  