numpy represents strings as dtypes that are like <U{n}, aka they have a specific length and you can just check isinstance(..., str) or isinstance(..., np.str_) (because i'm not really sure that's a dtype anyway).
Additionally, zarr represents strings differently, using numcodecs and objects.
Need to make better dtype validation and also make the validation hooks a bit finer grained
strings are the fun ones huh.
numpy represents strings as dtypes that are like
<U{n}
, aka they have a specific length and you can just checkisinstance(..., str)
orisinstance(..., np.str_)
(because i'm not really sure that's a dtype anyway).Additionally, zarr represents strings differently, using numcodecs and objects.
Need to make better dtype validation and also make the validation hooks a bit finer grained