code: def triangulate(points):  
      
      # Remove duplicate xy points bc that would make delauney fail, and must remember z (if any) for retrieving originals from index results
      seen = set() 
      uniqpoints = [ p for p in points if str( p[:2] ) not in seen and not seen.add( str( p[:2] ) )]
      classpoints = [_Point(*point[:2]) for point in uniqpoints]
  
      # Compute Delauney
      triangle_ids = tesselator.computeDelaunayTriangulation(classpoints)
  
      # Get vertices from result indexes
      triangles = [[uniqpoints[i] for i in triangle] for triangle in triangle_ids]
      
      return triangles
docs: Connects an input list of xy tuples with lines forming a set of 
      smallest possible Delauney triangles between them.
  
      Arguments:
  
      - **points**: A list of xy or xyz point tuples to triangulate. 
  
      Returns:
  
      - A list of triangle polygons. If the input coordinate points contained
          a third z value then the output triangles will also have these z values.