def suggest(name, possibleSuggestions=None, threshold=2, includeIdenticalName=False):
  '''Returns the closest matching name to the suggestions in
  possibleSuggestions. Pass a list of all possible matches for the
  possibleSuggestions parameter. If there are multiple names with the same edit
  distance, the one returned is undefined. Returns None if there are no
  suggestions within the threshold.

  Args:
      name (str) - The typo'd name the user supplied.
      possibleSuggestions (sequence of str, optional) - A sequence of strings
        for all possible suggestions that the name could match to. This
        function will pull suggestions from this list.
      threshold (int, optional) - A levenshtein edit distance above this
        threshold will exclude a name from being suggested. Default is 2.
      includeIdenticalName (bool, optional) - If True, a name identical to
        the name arg will be included in the suggestions. Default is False.'''
  try:
    genObj = suggestAll(name, possibleSuggestions, threshold, includeIdenticalName)
    if runningOnPython2:
      return genObj.next() # Python 2 code
    else:
      return genObj.__next__() # Python 3 code
  except __HOLE__:
    return None
dataset/ETHPy150Open asweigart/pydidyoumean/pydidyoumean/__init__.py/suggest