-
-
Notifications
You must be signed in to change notification settings - Fork 390
Open
Description
For objects that end up in array or group metadata, there are 2 types that users might care about:
- an input type that defines the set of python objects that can be parsed to the metadata object
- an output type that defines the set of JSON-like objects that the metadata object serializes to
take the shape field of array metadata:
- input type: something like
Iterable[int] | int | numpy integers - output type:
tuple[int, ...]
for something like the bytes codec, we would have:
- input type:
BytesCodec | Literal["bytes"] | NamedConfig[Literal["bytes"], BytesConfig] - output type:
Literal["bytes"] | NamedConfig[Literal["bytes"], BytesConfig]
the input type is generous, the output type is strict. Both of these types are useful for people using zarr-python to create codecs, chunk key encodings, chunk grids, data types, etc.
This issue tracks the creation of public types for the input ("deserializable" type) and output ("serializable") of zarr metadata objects. I considered making a big list with checkboxes, but it would be really long and the checkboxes would all be empty. Instead, we can update this issue when we add or expose types, and close it when they are all added / exposed.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels