class_docstr: The next version of our playlist generator that adds a 'hint' parameter to
  choose a bonus movie closest to the 'hint'.
  
  The flow performs the following steps:
  
  1) Load the genre-specific statistics from the MovieStatsFlow.
  2) In parallel branches:
     - A) Build a playlist from the top films in the requested genre.
     - B) Choose a bonus movie that has the closest string edit distance to
       the user supplied hint.
  3) Join the two to create a movie playlist and display it.
docstr: Use the user supplied 'hint' argument to choose a bonus movie that has
  the closest string edit distance to the hint.
  
  This step uses 'conda' to isolate the environment. Note that the
  package 'editdistance' need not be installed in your python
  environment.
code: def bonus_movie(self):
      """
      Use the user supplied 'hint' argument to choose a bonus movie that has
      the closest string edit distance to the hint.
  
      This step uses 'conda' to isolate the environment. Note that the
      package 'editdistance' need not be installed in your python
      environment.
      """
      import editdistance
  
      # Define a helper function to compute the similarity between two
      # strings.
      def _edit_distance(movie_title):
          return editdistance.eval(self.hint, movie_title)
  
      # Compute the distance and take the argmin to find the closest title.
      distance = [
          _edit_distance(movie_title)
          for movie_title in self.dataframe["movie_title"]
      ]
      index = distance.index(min(distance))
      self.bonus = (
          self.dataframe["movie_title"][index],
          self.dataframe["genres"][index],
      )
  
      self.next(self.join)
  
file_path: metaflow/metaflow/tutorials/04-playlist-plus/playlist.py
imports: from metaflow import FlowSpec, step, Parameter, conda, conda_base
label_desc: Use image node_id 2 for calling the PlayListFlow obj's underlying member method code with example usage: obj.bonus_movie() and returns: editdistance