code: def to_str(
          data: dict, fmt='{key}={value}', sep=', ', public_only=True
  ) -> str:
      
      if public_only: keys = list(filter(lambda vv: vv[0] != '_', data.keys()))
      else: keys = list(data.keys())
      return '{' + sep.join([
          to_str(data=v, fmt=fmt, sep=sep)
          if isinstance(v, dict) else fstr(fmt=fmt, key=k, value=v)
          for k, v in data.items() if k in keys
      ]) + '}'
docs: Convert dict to string
  
      Args:
          data: dict
          fmt: how key and value being represented
          sep: how pairs of key and value are seperated
          public_only: if display public members only
  
      Returns:
          str: string representation of dict
  
      Examples:
          >>> test_dict = dict(b=1, a=0, c=2, _d=3)
          >>> to_str(test_dict)
          '{b=1, a=0, c=2}'
          >>> to_str(test_dict, sep='|')
          '{b=1|a=0|c=2}'
          >>> to_str(test_dict, public_only=False)
          '{b=1, a=0, c=2, _d=3}'