code: def fatom(
      f: str, o: str, v: Optional[Union[str, float]], fmt: str = "%.3f"
  ) -> str:
      """
      Format an "atom", i.e., a single literal in a Boolean Rule.
  
      :param f: Feature name
      :type f: str
      :param o: Operator, one of ["<=", ">", ">=", "<", "==", "not", ""]
      :type o: str
      :param v: Value of comparison for ["<=", ">", ">=", "<", "=="]
      :type v: Optional[Union[str, float]]
      :param fmt: Formatting string for floats, defaults to "%.3f"
      :type fmt: str
      :return: Formatted atom
      :rtype: str
      """
      if o in ["<=", ">", ">=", "<", "=="]:
          if isinstance(v, str):
              return ("[%s %s %s]") % (f, o, v)
          else:
              return ("[%s %s " + fmt + "]") % (f, o, v)
      elif o == "not":
          return "not %s" % f
      else:
          return f
  
imports: from typing import Dict, List, Optional, Union
  import numpy
  import pandas
label_desc: Use image node_id 3 for calling a global function with example usage: fatom(f, o, v, fmt) and returns: unknown, unknown, unknown, f