docs: def delete_key_pattern(obj, regx_pattern):
      ''' takes a dictionary object and a regular expression pattern and removes
      all keys that match the pattern.
  
      args:
          obj: dictionay object to search trhough
          regx_pattern: string without beginning and ending / '''
  
      if isinstance(obj, list):
          _return_list = []
          for item in obj:
              if isinstance(item, list):
                  _return_list.append(delete_key_pattern(item, regx_pattern))
              elif isinstance(item, set):
                  _return_list.append(list(item))
              elif isinstance(item, dict):
                  _return_list.append(delete_key_pattern(item, regx_pattern))
              else:
                  try:
                      json.dumps(item)
                      _return_list.append(item)
                  except:
                      _return_list.append(str(type(item)))
          return _return_list
      elif isinstance(obj, set):
          return list(obj)
      elif isinstance(obj, dict):
          _return_obj = {}
          for key, item in obj.items():
              if not re.match(regx_pattern, key):
                  if isinstance(item, list):
                      _return_obj[key] = delete_key_pattern(item, regx_pattern)
                  elif isinstance(item, set):
                      _return_obj[key] = list(item)
                  elif isinstance(item, dict):
                      _return_obj[key] = delete_key_pattern(item, regx_pattern)
                  else:
                      try:
                          json.dumps(item)
                          _return_obj[key] = item
                      except:
                          _return_obj[key] = str(type(item))
          return _return_obj
      else:
          try:
              json.dumps(obj)
              return obj
          except:
              return str(type(obj))