docs: def read_tree_dendropy(tree):
      '''Create a TreeSwift tree from a DendroPy tree
  
      Args:
          ``tree`` (``dendropy.datamodel.treemodel``): A Dendropy ``Tree`` object
  
      Returns:
          ``Tree``: A TreeSwift tree created from ``tree``
      '''
      out = Tree(); d2t = dict()
      if not hasattr(tree, 'preorder_node_iter') or not hasattr(tree, 'seed_node') or not hasattr(tree, 'is_rooted'):
          raise TypeError("tree must be a DendroPy Tree object")
      if tree.is_rooted != True:
          out.is_rooted = False
      for node in tree.preorder_node_iter():
          if node == tree.seed_node:
              curr = out.root
          else:
              curr = Node(); d2t[node.parent_node].add_child(curr)
          d2t[node] = curr; curr.edge_length = node.edge_length
          if hasattr(node, 'taxon') and node.taxon is not None:
              curr.label = node.taxon.label
          else:
              curr.label = node.label
      return out