Native and Extensible R Driver for 'Zarr'
Overview
The 'Zarr' specification is widely used to build libraries for the storage and retrieval of n-dimensional array data from data stores ranging from local file systems to the cloud. This package is a native 'Zarr' implementation in R with support for all required features of 'Zarr' version 3. It is designed to be extensible such that new stores, codecs and extensions can be added easily.
This is the first stable release. This major release contains **API breaking changes** and the dependency on R has bumped to version 4.4.
Code has been refactored to make it more agile and less error-prone. Two major changes have been implemented:
1. The zarr_store class is no longer used in the public-facing API. Most store-oriented tasks are now handled through the zarr class, including creating a new store.
2. Instantiating a zarr_array will create it in the store if it does not yet exist, and attach itself to its parent, usually a zarr_group but it could also be a zarr instance in the case of a single-array store.
These changes impact the signature of several methods:
zarr$new()has several new arguments following the firststoreargument. All additional arguments are optional so existing code will remain functional. Thestoreargument has additional functionality.zarr_group$new()andzarr_array$new()no longer have thestoreargument.- Several other methods in these three classes have related signature changes, but these changes are not relevant for end users or application developers of this package.
Other new features:
- Writing a
zarr_arrayby indices can use[<-.zarr_array. - Can create a single array store.
- New
zarr$save_to()method can save azarrobject to a new store. This is handy to save a memory store to disk, to convert a v.2 store to a v.3 store, or to get a local copy of a remote store, among other uses. Parallel reads from HTTP and S3 stores speeds up the copying.
Show all changes in 1.0.0Hide the rest of the changes in 1.0.0
- New
zarr_array$details()method will produce a named character vector with a summary of the array. - New field
zarrin classzarr_nodeto retrieve thezarrinstance that manages the node. - Zarr v.2 filters as defined in Python's numcodecs are supported.
- Printing to the console will use the
clipackage when installed. The theme used can be modified by the user. - User options can be saved to the user config directory using the
save_options()function. They will be automatically loaded in all future sessions. Functionreset_options()will reset the options to their default values. - The
array_builderclass has a fielddata_type_from_storage.modethat can make a Zarr data type from an R storage mode. - The separation between classes
chunkingandchunk_grid_regularis more robust. A newgridfield will retrieve the chunk grid. The chunk grid will be printed to the console for arrays and the chunking scheme. - The
glyphprivate field has moved fromzarr_arraytozarr_nodesuch thatzarr_groupcan have the same flexibility when printing.
Minor changes:
zarr.jsonwrites arrays forshapeandchunk_shapefor 1D axes.- JSON writes use full numeric precision.
refconvention uses released version v2.0.0.
From NEWS.md in the release
Install
Health
- OK13 OK2026-08-04
- NOTE12 OK, 1 NOTE2026-08-01
- OK14 OK2026-03-10
Documentation
The repository also keeps web-only articles.
- Help pages
- 65 (5 internal)includes a package overview page
- Examples that run
- 100%18 run in a plain check (1 of them under a condition)
- Exported functions with examples
- 38%
- Documented parameters
- 93%
- Return-value docs
- 52%
- Help pages citing references
- 3%
Downloads
Repository
- PRs merged (all time)
- not measured
- Median days to close, 50 most recently updated closed issues
- 2
- Median days to close, 50 most recently updated closed PRs
- not measured
Stars over time
Forks over time
Releases over time
Issues over time
Commits over time
9 development-tooling and community-health practices detected across 5 families in the upstream repository
Checks run against github.com/r-cf/zarr on 2026-10-21.
The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel
GitHub Pages site last deployed 2026-10-18 · The repository has a site deploy workflow
pkgdown site last built 2026-10-18, before release 1.0.0 (2026-10-23)
Show all practicesHide 1 practice
This repository shows signs of AI coding tools.
- Claude Codefirst seen 2026-05-07Seen in the repository: CLAUDE.mdNamed in .Rbuildignore: .claude, CLAUDE.md
Dependencies
Installing zarr adds 5 packages (3 with compiled code, 3.3 MB of source tarballs). Heaviest: Rcpp 1.8 MB, jsonlite 1.0 MB, cpp11 298 KB.
Code & Tests
People & History
Pick two releases to compare their code metrics.
- 1.0.0Latest2026-10-23 · current release · diff ↗ ··
added 3 exports
auto_chunk, reset_options, save_optionslisted once in CRAN's queue
Seen in one reading of CRAN's incoming queue, at 2026-10-23 11:11 UTC, so it stayed less than the time between readings. - 0.5.12026-09-08 · diff ↗
- 0.5.0
- 0.4.22026-07-11 · diff ↗ ·
removed 2 exports
zarr_conv_ref, zarr_conv_uomadded 5 exports
is_valid_node_name, zarr_convention_ref, zarr_convention_uom, zarr_localstore, zarr_options - 0.4.12026-06-14 · diff ↗
- 0.4.0
- RR 4.6.0 released · 2026-04-24
- 0.3.02026-04-18 · diff ↗ ·
added 14 exports
array_builder, zarr, zarr_array, zarr_conv_ref, zarr_conv_uom, zarr_convention, zarr_domain, zarr_domains, zarr_group, zarr_httpstore, zarr_memorystore, zarr_register_domain, zarr_store, zarr_unregister_domain - 0.2.02026-02-11 · diff ↗
- 0.1.12025-12-06
- RR 4.5.0 released · 2025-04-11
Package metadata
- First published
- 2025-12-06
- Total releases
- 9 / 1 yrs
- License
- MIT + file LICENSE OSI
- Minimum R
- ≥ 4.4
- Download size
- 2.7 MB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("zarr")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-23, which the citation names so these numbers can be found later. More on citing and the projects behind them.