Also, it does not work for transposed arrays:

In [7]: a = np.array([[1, 1, 1], [0, 1, 1], [1, 1, 1], [0.1, 0.2, 1]])

In [8]: unique.unique_rows(a.T)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-8-bc100a8f11d0> in <module>()
----> 1 unique.unique_rows(a.T)

/Users/hannes/Desktop/unique.py in unique_rows(ar)
     31         raise ValueError("unique_rows() only makes sense for 2D arrays, "
     32                          "got %dd" % ar.ndim)
---> 33     ar_row_view = ar.view('|S%d' % (ar.itemsize * ar.shape[1]))
     34     _, unique_row_indices = np.unique(ar_row_view, return_index=True)
     35     ar_out = ar[unique_row_indices]

ValueError: new type not compatible with array.