zarr 0.5.0
- AWS S3 store access added for reading and, with appropriate
authentication, writing. The function
s3_list_dir() can be
used to walk the directory listing of an S3 bucket to locate Zarr
stores.
- New
zarr_array::resize() method with which arrays can
be resized, growing or shrinking across all dimensions simultaneously,
including on the lower end of the dimensions. When changing the “low”
side of the dimensions, which is always by full chunks, the indexing of
all data changes to use the new origin.
- New
zarr_array::promote() method which adds a dimension
to the array.
- New
zarr_object base class for name and attribute
management.
dirty field can be explicitly set on any node to force
writing of the metadata to the store.
chunk_key_encoding is automatically set in array
metadata.
- New
optimal_chunking() function to determine optimal
chunking for an array, optionally applying different weights to
dimensions or groups of dimensions.
- Better support for scalar arrays. Scalar arrays can now be
constructed by the
array_builder class and written to like
regular arrays.
- Testing expanded.
- Documentation expanded and updated.
zarr 0.4.2
zarr_node$post_open() method allows for processing that
requires the Zarr hierarchy to be in place.
- Dynamically set a node in a Zarr hierarchy.
zarr_node$relative_path() method retrieves the relative
path from the node to another node or a path string.
zarr_node$absolute_path() turns a relative path starting
from the current node into an absolute path. walk_path()
traverses the Zarr hierarchy from the current node to a target node
using relative node names, returning the requested node.
- Set metadata on a node in a memory store.
- Convention classes are now coded as attribute factories.
- Zarr package options can now be retrieved and modified with the
zarr_options() function.
- Compute optimal chunking sizes from array shape when not set
explicitly.
- In
as_zarr(), small arrays are not compressed. This is
controlled by the Zarr.options$min_compress setting.
- Fix key listing in memory stores.
zarr 0.4.1
- Hierarchy can now also be printed from any group. Zarr arrays from
domain packages may use alternative glyphs.
- New
attribute() method for zarr_group and
zarr_array instances.
- Attributes can be nested by specifying a compound path when adding.
JSON array attributes can be appended. JSON arrays can be deleted over
compound paths, including JSON arrays.
- Attributes article updated.
zarr 0.4.0
- Reading of sharded Zarr stores is now supported.
- The Zarr-registered “string” data type, an extension to the core
specification, is now supported. This uses the “vlen-utf8” codec, also a
registered extension to the core specification. For Zarr v.2 stores,
this corresponds to the “|O” data type; the “<U*” data type is also
supported, using a mocked-up “ucs-4” codec (it is not a true codec or
Zarr v.2 filter) to provide the mandatory “array -> bytes” codec.
This means that you can now read Zarr arrays that have character data.
You can also create new Zarr arrays with character data.
- Nested attributes print better to the console.
zarr_conventions() function returns
data.frame of supported conventions.
- Ref convention code updated.
- Malformed “NaN”, “Infinity” and “-Infinity” in metadata solved.
- Better testing of fill values.
- Fixed deeply nested consolidated metadata.
- Fixed handling of scalar arrays.
- R dependency bumped to 4.2
- Using Rcpp for performance bottlenecks, using
future
for optional parallel processing of chunks and shards.
zarr 0.3.0
- Extensible domain and convention mechanisms added, following ZEP0004. This
enables developers to extend this Zarr implementation with
domain-specific interfaces.
- Metadata is now writable as a complete object - expert use
only.
- Fixed listing of keys in memory stores.
- Expanded documentation.
zarr 0.2.0
- Zarr version 2 stores can be read. Data types supported are those
also included in the v.3 core specification. The
compression codec has to be one of those supported by the
v.3 core specification or zstd. Filters are not yet
supported.
- HTTP stores can be read but only for Zarr v.3 and v.2 single-array
stores and Zarr v.2 stores with consolidated metadata present in the
root group of the Zarr store.
- Chunk key encoding from v.2 and “default” and “v2” from v.3
supported.
- The
blosc package is now imported as it is the default
compression codec.
zstd compression codec added.
- Fixed reading
integer64 data.
zarr 0.1.1
- Initial code base. This release contains a fairly complete
implementation of the Zarr core v.3 specification. As such, it will not
be able to access Zarr v.2 stores.
- Support for adding and deleting attributes to groups and
arrays.