code: def generate_value_cols(types, length, ts_period=48 * 3600):
      columns = []
      for t in types:
          columns.append([])
          # This is a header of sorts
          columns[-1].append(rand_ascii_str(10))
  
          if t == "int":
              gen_fun = rand_int
          elif t == "float":
              gen_fun = rand_float
          elif t in ("date", "datetime", "timestamp"):
              columns[-1].extend(
                  generate_timeseries(
                      length=length, _type=t, period=ts_period
                  )
              )
              continue
          elif t == "bool":
  
              def gen_fun():
                  return bool(random.randint(0, 1))
  
          elif t == "true":
  
              def gen_fun():
                  return True
  
          elif t == "false":
  
              def gen_fun():
                  return False
  
          else:
              raise Exception(f"Unexpected type {t}")
  
          for n in range(length):
              val = gen_fun()
              # @TODO: Maybe escpae the separator rather than replace them
              if isinstance(val, str):
                  val = (
                      val.replace(",", "_")
                      .replace("\n", "_")
                      .replace("\r", "_")
                  )
              columns[-1].append(val)
  
      return columns
  
file_path: lightwood/tests/utils/data_generation.py
imports: import random
  import string
  import datetime
  from math import log
label_desc: Use image node_id 5 for calling a global function with example usage: generate_value_cols(types, length, ts_period) and returns: columns, bool, True, False