Skip to content

Commit a1e8c55

Browse files
committed
change dtype encoding for better platform independence
1 parent 6030328 commit a1e8c55

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

zarr/meta.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,15 @@ def encode_dtype(d):
5959
if d.fields is None:
6060
return d.str
6161
else:
62-
return str(d)
62+
return d.descr
6363

6464

65-
def decode_dtype(s):
66-
try:
67-
return np.dtype(s)
68-
except ValueError:
69-
return np.dtype(ast.literal_eval(s))
65+
def _decode_dtype_descr(d):
66+
# need to convert list items to tuples
67+
if isinstance(d, list):
68+
d = [(f, _decode_dtype_descr(v)) for f, v in d]
69+
return d
70+
71+
72+
def decode_dtype(d):
73+
return np.dtype(_decode_dtype_descr(d))

0 commit comments

Comments
 (0)