From 0f3532fb7b5de1d7e86cd3c64c5ec178ca51e8d5 Mon Sep 17 00:00:00 2001 From: Lachlan Deakin Date: Thu, 16 Jan 2025 11:35:05 +1100 Subject: [PATCH] fix(docs): remove ecosystem tables Does not render particularly well on all devices/crates.io --- CHANGELOG.md | 1 + README.md | 133 ++++++++++++++++++++------------------- zarrs/doc/ecosystem.md | 89 ++++++++++++-------------- zarrs/doc/status/ZEPs.md | 14 ----- zarrs/src/lib.rs | 19 +++--- 5 files changed, 116 insertions(+), 140 deletions(-) delete mode 100644 zarrs/doc/status/ZEPs.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 47a45c23..14be0d1e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Use new language/library features added between Rust 1.78-1.82 (internal) +- Cleanup root docs and README removing ZEPs table and ecosystem table ### Fixed - New clippy lints diff --git a/README.md b/README.md index 9435fedc..694750fb 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,29 @@ # zarrs [![Latest Version](https://img.shields.io/crates/v/zarrs.svg)](https://crates.io/crates/zarrs) -[![zarrs documentation](https://docs.rs/zarrs/badge.svg)](https://docs.rs/zarrs) +[![zarrs documentation](https://docs.rs/zarrs/badge.svg)][documentation] ![msrv](https://img.shields.io/crates/msrv/zarrs) [![downloads](https://img.shields.io/crates/d/zarrs)](https://crates.io/crates/zarrs) [![build](https://github.com/LDeakin/zarrs/actions/workflows/ci.yml/badge.svg)](https://github.com/LDeakin/zarrs/actions/workflows/ci.yml) [![codecov](https://codecov.io/gh/LDeakin/zarrs/graph/badge.svg?token=OBKJQNAZPP)](https://codecov.io/gh/LDeakin/zarrs) [![DOI](https://zenodo.org/badge/695021547.svg)](https://zenodo.org/badge/latestdoi/695021547) -`zarrs` is a Rust library for the [Zarr](https://zarr.dev) storage format for multidimensional arrays and metadata. It supports [Zarr V3](https://zarr-specs.readthedocs.io/en/latest/v3/core/v3.0.html) and a [V3 compatible subset](https://docs.rs/zarrs/latest/zarrs/#implementation-status) of [Zarr V2](https://zarr-specs.readthedocs.io/en/latest/v2/v2.0.html). +`zarrs` is a Rust library for the [Zarr] storage format for multidimensional arrays and metadata. It supports [Zarr V3] and a V3 compatible subset of [Zarr V2]. -A changelog can be found [here](https://github.com/LDeakin/zarrs/blob/main/CHANGELOG.md). -Correctness issues with past versions are [detailed here](https://github.com/LDeakin/zarrs/blob/main/doc/correctness_issues.md). +A changelog can be found [here][CHANGELOG]. +Correctness issues with past versions are [detailed here][correctness_issues]. -Developed at the [Department of Materials Physics](https://physics.anu.edu.au/research/mp/), Australian National University, Canberra, Australia. +Developed at the [Department of Materials Physics, Australian National University, Canberra, Australia]. > [!TIP] -> If you are a Python user, check out [`zarrs-python`](https://github.com/ilan-gold/zarrs-python). -> It includes a high-performance codec pipeline for the reference [`zarr-python`](https://github.com/zarr-developers/zarr-python) implementation. +> If you are a Python user, check out [`zarrs-python`]. +> It includes a high-performance codec pipeline for the reference [`zarr-python`] implementation. ## Getting Started -- Review the [implementation status](https://docs.rs/zarrs/latest/zarrs/#implementation-status), [array support](https://docs.rs/zarrs/latest/zarrs/#array-support), and [storage support](https://docs.rs/zarrs/latest/zarrs/#storage-support). -- Read [The `zarrs` Book](https://book.zarrs.dev). -- View the [examples](https://github.com/LDeakin/zarrs/tree/main/zarrs/examples) and [the example below](#example). -- Read the [documentation](https://docs.rs/zarrs/latest/zarrs/). [`array::Array`](https://docs.rs/zarrs/latest/zarrs/array/struct.Array.html) is a good place to start. -- Check out the [`zarrs` ecosystem](#zarrs-ecosystem). +- Review the [implementation status] ([zarr version support], [array support], [storage support], and the [`zarrs` ecosystem](#zarrs-ecosystem)). +- Read [The `zarrs` Book]. +- View the [examples] and [the example below](#example). +- Read the [documentation]. ## Example ```rust @@ -90,61 +89,30 @@ println!("{array_ndarray:4}"); ## `zarrs` Ecosystem -| Crate | Docs / Description | -| --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | -| **Core** | | -| [![zarrs_ver]](https://crates.io/crates/zarrs) [zarrs] | [![docs]](https://docs.rs/zarrs) The core library for manipulating Zarr hierarchies | -| [![zarrs_metadata_ver]](https://crates.io/crates/zarrs_metadata) [zarrs_metadata] | [![docs]](https://docs.rs/zarrs_metadata) Zarr metadata support (re-exported as `zarrs::metadata`) | -| [![zarrs_storage_ver]](https://crates.io/crates/zarrs_storage) [zarrs_storage] | [![docs]](https://docs.rs/zarrs_storage) The storage API for `zarrs` (re-exported as `zarrs::storage`) | -| **Stores** | | -| [![zarrs_filesystem_ver]](https://crates.io/crates/zarrs_filesystem) [zarrs_filesystem] | [![docs]](https://docs.rs/zarrs_filesystem) A filesystem store (re-exported as `zarrs::filesystem`) | -| [![zarrs_object_store_ver]](https://crates.io/crates/zarrs_object_store) [zarrs_object_store] | [![docs]](https://docs.rs/zarrs_object_store) [`object_store`](https://docs.rs/object_store/latest/object_store/) store support | -| [![zarrs_opendal_ver]](https://crates.io/crates/zarrs_opendal) [zarrs_opendal] | [![docs]](https://docs.rs/zarrs_opendal) [`opendal`](https://docs.rs/opendal/latest/opendal/) store support | -| [![zarrs_http_ver]](https://crates.io/crates/zarrs_http) [zarrs_http] | [![docs]](https://docs.rs/zarrs_http) A synchronous http store | -| [![zarrs_zip_ver]](https://crates.io/crates/zarrs_zip) [zarrs_zip] | [![docs]](https://docs.rs/zarrs_zip) A storage adapter for zip files | -| [![zarrs_icechunk_ver]](https://crates.io/crates/zarrs_icechunk) [zarrs_icechunk] | [![docs]](https://docs.rs/zarrs_icechunk) [`icechunk`](https://docs.rs/icechunk/latest/icechunk/) store support | -| **Bindings** | | -| [![zarrs_python_ver]](https://pypi.org/project/zarrs/) [zarrs-python] | [![docs]](https://zarrs-python.readthedocs.io/en/latest/) A codec pipeline for [zarr-python] | -| [![zarrs_ffi_ver]](https://crates.io/crates/zarrs_ffi) [zarrs_ffi] | [![docs]](https://docs.rs/zarrs_ffi) A subset of `zarrs` exposed as a C/C++ API | -| **Zarr Metadata Conventions** | | -| [![ome_zarr_metadata_ver]](https://crates.io/crates/ome_zarr_metadata) [ome_zarr_metadata] | [![docs]](https://docs.rs/ome_zarr_metadata) A library for OME-Zarr (previously OME-NGFF) metadata | - -[docs]: https://img.shields.io/badge/docs-brightgreen -[zarrs_ver]: https://img.shields.io/crates/v/zarrs -[zarrs]: https://github.com/LDeakin/zarrs/tree/main/zarrs -[zarrs_metadata_ver]: https://img.shields.io/crates/v/zarrs_metadata -[zarrs_metadata]: https://github.com/LDeakin/zarrs/tree/main/zarrs_metadata -[zarrs_storage_ver]: https://img.shields.io/crates/v/zarrs_storage -[zarrs_storage]: https://github.com/LDeakin/zarrs/tree/main/zarrs_storage -[zarrs_filesystem_ver]: https://img.shields.io/crates/v/zarrs_filesystem -[zarrs_filesystem]: https://github.com/LDeakin/zarrs/tree/main/zarrs_filesystem -[zarrs_http_ver]: https://img.shields.io/crates/v/zarrs_http -[zarrs_http]: https://github.com/LDeakin/zarrs/tree/main/zarrs_http -[zarrs_object_store_ver]: https://img.shields.io/crates/v/zarrs_object_store -[zarrs_object_store]: https://github.com/LDeakin/zarrs/tree/main/zarrs_object_store -[zarrs_opendal_ver]: https://img.shields.io/crates/v/zarrs_opendal -[zarrs_opendal]: https://github.com/LDeakin/zarrs/tree/main/zarrs_opendal -[zarrs_zip_ver]: https://img.shields.io/crates/v/zarrs_zip -[zarrs_zip]: https://github.com/LDeakin/zarrs/tree/main/zarrs_zip -[zarrs_icechunk_ver]: https://img.shields.io/crates/v/zarrs_icechunk -[zarrs_icechunk]: https://github.com/LDeakin/zarrs_icechunk -[zarrs_ffi_ver]: https://img.shields.io/crates/v/zarrs_ffi -[zarrs_ffi]: https://github.com/LDeakin/zarrs_ffi -[zarrs_python_ver]: https://img.shields.io/pypi/v/zarrs -[zarrs-python]: https://github.com/ilan-gold/zarrs-python -[zarr-python]: https://github.com/zarr-developers/zarr-python -[ome_zarr_metadata_ver]: https://img.shields.io/crates/v/ome_zarr_metadata -[ome_zarr_metadata]: https://github.com/LDeakin/rust_ome_zarr_metadata - -#### [zarrs_tools] -[![zarrs_tools_ver]](https://crates.io/crates/zarrs_tools) [![zarrs_tools_doc]](https://docs.rs/zarrs_tools) - -[zarrs_tools]: https://github.com/LDeakin/zarrs_tools -[zarrs_tools_ver]: https://img.shields.io/crates/v/zarrs_tools.svg -[zarrs_tools_doc]: https://docs.rs/zarrs_tools/badge.svg +### Core +- [`zarrs`]: The core library for manipulating Zarr hierarchies. +- [`zarrs_metadata`]: Zarr metadata support (re-exported as `zarrs::metadata`). +- [`zarrs_storage`]: The storage API for `zarrs` (re-exported as `zarrs::storage`). +### Stores +- [`zarrs_filesystem`]: A filesystem store (re-exported as `zarrs::filesystem`). +- [`zarrs_object_store`]: [`object_store`] store support. +- [`zarrs_opendal`]: [`opendal`] store support. +- [`zarrs_http`]: A synchronous http store. +- [`zarrs_zip`]: A storage adapter for zip files. +- [`zarrs_icechunk`]: [`icechunk`] store support. + +### Bindings +- [`zarrs-python`]: A high-performance codec pipeline for [`zarr-python`]. +- [`zarrs_ffi`]: A subset of `zarrs` exposed as a C/C++ API. + +### Zarr Metadata Conventions +- [`ome_zarr_metadata`]: A library for OME-Zarr (previously OME-NGFF) metadata. + +### Tools +- [`zarrs_tools`]: Various tools for creating and manipulating Zarr V3 data with the zarrs rust crate - A reencoder that can change codecs, chunk shape, convert Zarr V2 to V3, etc. - - Create an [OME-Zarr](https://ngff.openmicroscopy.org/latest/) hierarchy from a Zarr array. + - Create an [OME-Zarr] hierarchy from a Zarr array. - Transform arrays: crop, rescale, downsample, gradient magnitude, gaussian, noise filtering, etc. - Benchmarking tools and performance benchmarks of `zarrs`. @@ -154,3 +122,38 @@ println!("{array_ndarray:4}"); - the MIT license [LICENSE-MIT](./LICENCE-MIT) or , at your option. Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions. + +[CHANGELOG]: https://github.com/LDeakin/zarrs/blob/main/CHANGELOG.md +[correctness_issues]: https://github.com/LDeakin/zarrs/blob/main/doc/correctness_issues.md +[implementation status]: https://docs.rs/zarrs/latest/zarrs/#implementation-status +[zarr version support]: https://docs.rs/zarrs/latest/zarrs/#zarr-version-support +[array support]: https://docs.rs/zarrs/latest/zarrs/#array-support +[storage support]: https://docs.rs/zarrs/latest/zarrs/#storage-support +[examples]: https://github.com/LDeakin/zarrs/tree/main/zarrs/examples +[documentation]: https://docs.rs/zarrs/latest/zarrs/ +[The `zarrs` Book]: https://book.zarrs.dev + +[`zarrs`]: https://github.com/LDeakin/zarrs/tree/main/zarrs +[`zarrs_metadata`]: https://github.com/LDeakin/zarrs/tree/main/zarrs_metadata +[`zarrs_storage`]: https://github.com/LDeakin/zarrs/tree/main/zarrs_storage +[`zarrs_filesystem`]: https://github.com/LDeakin/zarrs/tree/main/zarrs_filesystem +[`zarrs_http`]: https://github.com/LDeakin/zarrs/tree/main/zarrs_http +[`zarrs_object_store`]: https://github.com/LDeakin/zarrs/tree/main/zarrs_object_store +[`zarrs_opendal`]: https://github.com/LDeakin/zarrs/tree/main/zarrs_opendal +[`zarrs_zip`]: https://github.com/LDeakin/zarrs/tree/main/zarrs_zip +[`zarrs_icechunk`]: https://github.com/LDeakin/zarrs_icechunk +[`zarrs_ffi`]: https://github.com/LDeakin/zarrs_ffi +[`zarrs-python`]: https://github.com/ilan-gold/zarrs-python +[`zarr-python`]: https://github.com/zarr-developers/zarr-python +[`zarrs_tools`]: https://github.com/LDeakin/zarrs_tools +[`ome_zarr_metadata`]: https://github.com/LDeakin/rust_ome_zarr_metadata +[`object_store`]: https://github.com/apache/arrow-rs/tree/main/object_store +[`opendal`]: https://github.com/apache/OpenDAL +[`icechunk`]: https://github.com/earth-mover/icechunk + +[Zarr]: https://zarr.dev +[Zarr V3]: https://zarr-specs.readthedocs.io/en/latest/v3/core/v3.0.html +[Zarr V2]: https://zarr-specs.readthedocs.io/en/latest/v2/v2.0.html +[OME-Zarr]: https://ngff.openmicroscopy.org/latest/ + +[Department of Materials Physics, Australian National University, Canberra, Australia]: https://physics.anu.edu.au/research/mp/ diff --git a/zarrs/doc/ecosystem.md b/zarrs/doc/ecosystem.md index a048289d..b132e0f1 100644 --- a/zarrs/doc/ecosystem.md +++ b/zarrs/doc/ecosystem.md @@ -1,57 +1,46 @@ -| Crate | Docs / Description | -| --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | -| **Core** | | -| [![zarrs_ver]](https://crates.io/crates/zarrs) [zarrs] | [![docs]](https://docs.rs/zarrs) The core library for manipulating Zarr hierarchies | -| [![zarrs_metadata_ver]](https://crates.io/crates/zarrs_metadata) [zarrs_metadata] | [![docs]](https://docs.rs/zarrs_metadata) Zarr metadata support (re-exported as `zarrs::metadata`) | -| [![zarrs_storage_ver]](https://crates.io/crates/zarrs_storage) [zarrs_storage] | [![docs]](https://docs.rs/zarrs_storage) The storage API for `zarrs` (re-exported as `zarrs::storage`) | -| **Stores** | | -| [![zarrs_filesystem_ver]](https://crates.io/crates/zarrs_filesystem) [zarrs_filesystem] | [![docs]](https://docs.rs/zarrs_filesystem) A filesystem store (re-exported as `zarrs::filesystem`) | -| [![zarrs_object_store_ver]](https://crates.io/crates/zarrs_object_store) [zarrs_object_store] | [![docs]](https://docs.rs/zarrs_object_store) [`object_store`](https://docs.rs/object_store/latest/object_store/) store support | -| [![zarrs_opendal_ver]](https://crates.io/crates/zarrs_opendal) [zarrs_opendal] | [![docs]](https://docs.rs/zarrs_opendal) [`opendal`](https://docs.rs/opendal/latest/opendal/) store support | -| [![zarrs_http_ver]](https://crates.io/crates/zarrs_http) [zarrs_http] | [![docs]](https://docs.rs/zarrs_http) A synchronous http store | -| [![zarrs_zip_ver]](https://crates.io/crates/zarrs_zip) [zarrs_zip] | [![docs]](https://docs.rs/zarrs_zip) A storage adapter for zip files | -| [![zarrs_icechunk_ver]](https://crates.io/crates/zarrs_icechunk) [zarrs_icechunk] | [![docs]](https://docs.rs/zarrs_icechunk) [`icechunk`](https://docs.rs/icechunk/latest/icechunk/) store support | -| **Bindings** | | -| [![zarrs_python_ver]](https://pypi.org/project/zarrs/) [zarrs-python] | [![docs]](https://zarrs-python.readthedocs.io/en/latest/) A codec pipeline for [zarr-python] | -| [![zarrs_ffi_ver]](https://crates.io/crates/zarrs_ffi) [zarrs_ffi] | [![docs]](https://docs.rs/zarrs_ffi) A subset of `zarrs` exposed as a C/C++ API | -| **Zarr Metadata Conventions** | | -| [![ome_zarr_metadata_ver]](https://crates.io/crates/ome_zarr_metadata) [ome_zarr_metadata] | [![docs]](https://docs.rs/ome_zarr_metadata) A library for OME-Zarr (previously OME-NGFF) metadata | +#### Core +- [`zarrs`]: The core library for manipulating Zarr hierarchies. +- [`zarrs_metadata`]: Zarr metadata support (re-exported as `zarrs::metadata`). +- [`zarrs_storage`]: The storage API for `zarrs` (re-exported as `zarrs::storage`). -[docs]: https://img.shields.io/badge/docs-brightgreen -[zarrs_ver]: https://img.shields.io/crates/v/zarrs -[zarrs]: https://github.com/LDeakin/zarrs/tree/main/zarrs -[zarrs_metadata_ver]: https://img.shields.io/crates/v/zarrs_metadata -[zarrs_metadata]: https://github.com/LDeakin/zarrs/tree/main/zarrs_metadata -[zarrs_storage_ver]: https://img.shields.io/crates/v/zarrs_storage -[zarrs_storage]: https://github.com/LDeakin/zarrs/tree/main/zarrs_storage -[zarrs_filesystem_ver]: https://img.shields.io/crates/v/zarrs_filesystem -[zarrs_filesystem]: https://github.com/LDeakin/zarrs/tree/main/zarrs_filesystem -[zarrs_http_ver]: https://img.shields.io/crates/v/zarrs_http -[zarrs_http]: https://github.com/LDeakin/zarrs/tree/main/zarrs_http -[zarrs_object_store_ver]: https://img.shields.io/crates/v/zarrs_object_store -[zarrs_object_store]: https://github.com/LDeakin/zarrs/tree/main/zarrs_object_store -[zarrs_opendal_ver]: https://img.shields.io/crates/v/zarrs_opendal -[zarrs_opendal]: https://github.com/LDeakin/zarrs/tree/main/zarrs_opendal -[zarrs_zip_ver]: https://img.shields.io/crates/v/zarrs_zip -[zarrs_zip]: https://github.com/LDeakin/zarrs/tree/main/zarrs_zip -[zarrs_icechunk_ver]: https://img.shields.io/crates/v/zarrs_icechunk -[zarrs_icechunk]: https://github.com/LDeakin/zarrs_icechunk -[zarrs_ffi_ver]: https://img.shields.io/crates/v/zarrs_ffi -[zarrs_ffi]: https://github.com/LDeakin/zarrs_ffi -[zarrs_python_ver]: https://img.shields.io/pypi/v/zarrs -[zarrs-python]: https://github.com/ilan-gold/zarrs-python -[zarr-python]: https://github.com/zarr-developers/zarr-python -[ome_zarr_metadata_ver]: https://img.shields.io/crates/v/ome_zarr_metadata -[ome_zarr_metadata]: https://github.com/LDeakin/rust_ome_zarr_metadata +#### Stores +- [`zarrs_filesystem`]: A filesystem store (re-exported as `zarrs::filesystem`). +- [`zarrs_object_store`]: [`object_store`] store support. +- [`zarrs_opendal`]: [`opendal`] store support. +- [`zarrs_http`]: A synchronous http store. +- [`zarrs_zip`]: A storage adapter for zip files. +- [`zarrs_icechunk`]: [`icechunk`] store support. -#### [zarrs_tools] -[![zarrs_tools_ver]](https://crates.io/crates/zarrs_tools) [![zarrs_tools_doc]](https://docs.rs/zarrs_tools) +#### Bindings +- [`zarrs-python`]: A high-performance codec pipeline for [`zarr-python`]. +- [`zarrs_ffi`]: A subset of `zarrs` exposed as a C/C++ API. -[zarrs_tools]: https://github.com/LDeakin/zarrs_tools -[zarrs_tools_ver]: https://img.shields.io/crates/v/zarrs_tools.svg -[zarrs_tools_doc]: https://docs.rs/zarrs_tools/badge.svg +#### Zarr Metadata Conventions +- [`ome_zarr_metadata`]: A library for OME-Zarr (previously OME-NGFF) metadata. +#### Tools +- [`zarrs_tools`]: Various tools for creating and manipulating Zarr V3 data with the zarrs rust crate - A reencoder that can change codecs, chunk shape, convert Zarr V2 to V3, etc. - - Create an [OME-Zarr](https://ngff.openmicroscopy.org/latest/) hierarchy from a Zarr array. + - Create an [OME-Zarr] hierarchy from a Zarr array. - Transform arrays: crop, rescale, downsample, gradient magnitude, gaussian, noise filtering, etc. - Benchmarking tools and performance benchmarks of `zarrs`. + +[`zarrs`]: https://github.com/LDeakin/zarrs/tree/main/zarrs +[`zarrs_metadata`]: https://github.com/LDeakin/zarrs/tree/main/zarrs_metadata +[`zarrs_storage`]: https://github.com/LDeakin/zarrs/tree/main/zarrs_storage +[`zarrs_filesystem`]: https://github.com/LDeakin/zarrs/tree/main/zarrs_filesystem +[`zarrs_http`]: https://github.com/LDeakin/zarrs/tree/main/zarrs_http +[`zarrs_object_store`]: https://github.com/LDeakin/zarrs/tree/main/zarrs_object_store +[`zarrs_opendal`]: https://github.com/LDeakin/zarrs/tree/main/zarrs_opendal +[`zarrs_zip`]: https://github.com/LDeakin/zarrs/tree/main/zarrs_zip +[`zarrs_icechunk`]: https://github.com/LDeakin/zarrs_icechunk +[`zarrs_ffi`]: https://github.com/LDeakin/zarrs_ffi +[`zarrs-python`]: https://github.com/ilan-gold/zarrs-python +[`zarr-python`]: https://github.com/zarr-developers/zarr-python +[`zarrs_tools`]: https://github.com/LDeakin/zarrs_tools +[`ome_zarr_metadata`]: https://github.com/LDeakin/rust_ome_zarr_metadata +[`object_store`]: https://github.com/apache/arrow-rs/tree/main/object_store +[`opendal`]: https://github.com/apache/OpenDAL +[`icechunk`]: https://github.com/earth-mover/icechunk + +[OME-Zarr]: https://ngff.openmicroscopy.org/latest/ diff --git a/zarrs/doc/status/ZEPs.md b/zarrs/doc/status/ZEPs.md deleted file mode 100644 index fd653605..00000000 --- a/zarrs/doc/status/ZEPs.md +++ /dev/null @@ -1,14 +0,0 @@ -| [Zarr Enhancement Proposal] | Status | Zarrs | -| --------------------------------------- | -------------------------- | ------------ | -| [ZEP0001]: Zarr specification version 3 | Accepted | Full support | -| [ZEP0002]: Sharding codec | Accepted | Full support | -| Draft [ZEP0003]: Variable chunking | [zarr-developers #52] | Full support | -| Draft ZEP0007: Strings | [zarr-developers/zeps #47] | Prototype | - -[Zarr Enhancement Proposal]: https://zarr.dev/zeps/ -[ZEP0001]: https://zarr.dev/zeps/accepted/ZEP0001.html -[ZEP0002]: https://zarr.dev/zeps/accepted/ZEP0002.html -[ZEP0003]: https://zarr.dev/zeps/draft/ZEP0003.html - -[zarr-developers #52]: https://github.com/orgs/zarr-developers/discussions/52 -[zarr-developers/zeps #47]: https://github.com/zarr-developers/zeps/pull/47#issuecomment-1710505141 diff --git a/zarrs/src/lib.rs b/zarrs/src/lib.rs index 8b110100..f3fe83a9 100644 --- a/zarrs/src/lib.rs +++ b/zarrs/src/lib.rs @@ -10,27 +10,22 @@ //! //! ## Getting Started //! - Review the [implementation status](#implementation-status), [array support](#array-support), and [storage support](#storage-support). -//! - Read [The `zarrs` Book](https://book.zarrs.dev). +//! - Read [The `zarrs` Book]. //! - View the [examples](https://github.com/LDeakin/zarrs/tree/main/zarrs/examples) and [the example below](#examples). //! - Read the [documentation](https://docs.rs/zarrs/latest/zarrs/). [`array::Array`] is a good place to start. //! - Check out the [`zarrs` ecosystem](#zarrs-ecosystem). //! //! ## Implementation Status //! -#![doc = include_str!("../doc/status/ZEPs.md")] +//! #### Zarr Version Support //! //! `zarrs` has first-class Zarr V3 support and additionally supports a *compatible subset* of Zarr V2 data that: //! - can be converted to V3 with only a metadata change, and //! - uses array metadata that is recognised and supported for encoding/decoding. //! -//! An existing V2 or V3 array can be opened with [`Array::open`](crate::array::Array::open). -//! A new array can be created from V2 or V3 metadata with [`Array::new_with_metadata`](crate::array::Array::new_with_metadata). -//! The [`ArrayBuilder`](crate::array::ArrayBuilder) only supports V3 array creation. -//! -//! `zarrs` supports forward conversion of Zarr V2 data to V3. -//! See ["Metadata Convert Version"](crate::config::Config#metadata-convert-version) and ["Metadata Erase Version"](crate::config::Config#metadata-erase-version) for information about manipulating the version of array/group metadata. -//! -//! ### Array Support +//! `zarrs` supports forward conversion from Zarr V2 to V3. See ["Converting Zarr V2 to V3"](https://book.zarrs.dev/v2_to_v3.html) in [The `zarrs` Book], or try the [`zarrs_reencode`](https://github.com/LDeakin/zarrs_tools/blob/main/docs/zarrs_reencode.md) CLI tool. +//! +//! #### Array Support //! //!
Data Types //! @@ -62,7 +57,7 @@ #![doc = include_str!("../doc/status/storage_transformers.md")] //!
//! -//! ### Storage Support +//! #### Storage Support //! //! `zarrs` supports stores (filesystem, HTTP, S3, etc.) via crates implementing the [`zarrs_storage`] API. //! @@ -182,6 +177,8 @@ //! - the MIT license [LICENSE-MIT](https://docs.rs/crate/zarrs/latest/source/LICENCE-MIT) or , at your option. //! //! Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions. +//! +//! [The `zarrs` Book]: https://book.zarrs.dev #![cfg_attr(docsrs, feature(doc_auto_cfg))] pub mod array;