code: def get_size(path):
      total = 0
  
      # CSV files are broken up by dask when they're written out
      if os.path.isfile(path):
          return os.path.getsize(path)
      elif path.endswith("csv"):
          for csv_fpath in glob.glob(path.replace(".csv", "*.csv")):
              total += os.path.getsize(csv_fpath)
          return total
  
      # If path is a directory (such as parquet), sum all files in directory
      for dirpath, dirnames, filenames in os.walk(path):
          for f in filenames:
              fp = os.path.join(dirpath, f)
              total += os.path.getsize(fp)
  
      return total
  
imports: from __future__ import annotations
  import time
  import os, os.path, sys, glob, argparse, resource, multiprocessing
  import pandas
  import dask.dataframe
  import numpy
  import datashader
  import feather
  import fastparquet
  from datashader.utils import export_image
  from datashader import transfer_functions
  from dask import distributed
label_desc: Use image node_id 10 for calling a global function with example usage: get_size(path) and returns: total, os, total