docs: def dag_longest_path(graph, source, target):
      """
      Finds the longest path in a dag between two nodes
      """
      if source == target:
          return [source]
      allpaths = nx.all_simple_paths(graph, source, target)
      longest_path = []
      for l in allpaths:
          if len(l) > len(longest_path):
              longest_path = l
      return longest_path