input: 
  import csv
  from typing import List, Dict, Tuple
  
  def generate_summary_csv(filename: str) -> None:
      """
      Parses a CSV file and generates a new CSV file that includes the total number of rows, total number of columns, and the total amount of data for each attribute.
      
      >>> generate_summary_csv('test.csv')
      
      """
      with open(filename) as csv_file:
          reader = csv.DictReader(csv_file)
          rows = 0
          cols = 0
          data_totals = []
          for row in reader:
              rows += 1
              if cols == 0:
                  cols = len(row)
                  data_totals = [[0] * (len(row[col]) + 1) for col in row]
              for i, col in enumerate(row):
                  data_totals[i][0] += float(row[col])
                  data_totals[i][1] += 1
  
          with open('summary.csv', mode='w') as new_csv_file:
              writer = csv.writer(new_csv_file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
              writer.writerow(['Rows', 'Columns'] + [f'Attr{i+1}_Total' for i in range(cols)])
              writer.writerow([rows, cols] + [str(data_totals[i][0]) for i in range(cols)])
  
  if __name__ == '__main__':
      generate_summary_csv('test.csv')
  
output:     
      with open(filename) as csv_file:
          reader = csv.DictReader(csv_file)
          rows = 0
          cols = 0
          data_totals = []
          for row in reader:
              rows += 1
              if cols == 0:
                  cols = len(row)
                  data_totals = [[0] * (len(row[col]) + 1) for col in row]
              for i, col in enumerate(row):
                  data_totals[i][0] += float(row[col])
                  data_totals[i][1] += 1
  
          with open('summary.csv', mode='w') as new_csv_file:
              writer = csv.writer(new_csv_file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
              writer.writerow(['Rows', 'Columns'] + [f'Attr{i+1}_Total' for i in range(cols)])
              writer.writerow([rows, cols] + [str(data_totals[i][0]) for i in range(cols)])
  