input: def find_matches(query: str, choices: List[str], threshold: int) -> List[str]:
      """ Given a query string, a list of choices, and a threshold, this function returns 
      a list of choices that are fuzzily matched with the query. The fuzzy matching is 
      based on the Levenshtein distance, which measures the difference between two strings. 
      A choice is considered a match if its Levenshtein distance from the query is less than 
      or equal to the provided threshold.
      
      >>> find_matches("dog", ["fog", "log", "cat", "dot"], 1)
      ['fog', 'dot']
      >>> find_matches("python", ["pyton", "pithon", "piton", "typhon"], 2)
      ['pyton', 'pithon']
      """
output:     from Levenshtein import distance
      return [choice for choice in choices if distance(query, choice) <= threshold]