Skip to content

dep(docs): deprecate experimental v3 support in docs #1807

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Apr 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions docs/api/v3.rst
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
V3 Specification Implementation(``zarr._storage.v3``)
=====================================================

This module contains the implementation of the `Zarr V3 Specification <https://zarr-specs.readthedocs.io/en/latest/v3/core/v3.0.html>`_.
This module contains an experimental implementation of the `Zarr V3 Specification <https://zarr-specs.readthedocs.io/en/latest/v3/core/v3.0.html>`_.

.. warning::
Since Zarr Python 2.12 release, this module provides experimental infrastructure for reading and
writing the upcoming V3 spec of the Zarr format. Users wishing to prepare for the migration can set
the environment variable ``ZARR_V3_EXPERIMENTAL_API=1`` to begin experimenting, however data
written with this API should be expected to become stale, as the implementation will still change.
The experimental v3 implementation included in Zarr Python >2.12,<3 is not aligned with the final
V3 specification. This version is deprecated and will be removed in Zarr Python 3.0 in favor of a
spec compliant version.

The new ``zarr._store.v3`` package has the necessary classes and functions for evaluating Zarr V3.
Since the design is not finalised, the classes and functions are not automatically imported into
Expand Down
6 changes: 6 additions & 0 deletions docs/release.rst
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,12 @@ Docs
Maintenance
~~~~~~~~~~~

Deprecations
~~~~~~~~~~~~

* Deprecate experimental v3 support by issuing a `FutureWarning`.
Also updated docs to warn about using the experimental v3 version.
By :user:`Joe Hamman <jhamman>` :issue:`1802` and :issue: `1807`.

.. _release_2.17.2:

Expand Down
25 changes: 25 additions & 0 deletions zarr/convenience.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,11 @@ def open(store: StoreLike = None, mode: str = "a", *, zarr_version=None, path=No
The zarr protocol version to use. The default value of None will attempt
to infer the version from `store` if possible, otherwise it will fall
back to 2.

.. warning:: `zarr_version=3` is currently using the experimental Zarr V3
implementation. This implementation is not in sync with the final specification
and will be replaced with a spec compliant version in the version 3.0.

path : str or None, optional
The path within the store to open.
**kwargs
Expand Down Expand Up @@ -150,6 +155,11 @@ def save_array(store: StoreLike, arr, *, zarr_version=None, path=None, **kwargs)
The zarr protocol version to use when saving. The default value of None
will attempt to infer the version from `store` if possible, otherwise
it will fall back to 2.

.. warning:: `zarr_version=3` is currently using the experimental Zarr V3
implementation. This implementation is not in sync with the final specification
and will be replaced with a spec compliant version in the version 3.0.

path : str or None, optional
The path within the store where the array will be saved.
kwargs
Expand Down Expand Up @@ -200,6 +210,11 @@ def save_group(store: StoreLike, *args, zarr_version=None, path=None, **kwargs):
The zarr protocol version to use when saving. The default value of None
will attempt to infer the version from `store` if possible, otherwise
it will fall back to 2.

.. warning:: `zarr_version=3` is currently using the experimental Zarr V3
implementation. This implementation is not in sync with the final specification
and will be replaced with a spec compliant version in the version 3.0.

path : str or None, optional
Path within the store where the group will be saved.
kwargs
Expand Down Expand Up @@ -282,6 +297,11 @@ def save(store: StoreLike, *args, zarr_version=None, path=None, **kwargs):
The zarr protocol version to use when saving. The default value of None
will attempt to infer the version from `store` if possible, otherwise
it will fall back to 2.

.. warning:: `zarr_version=3` is currently using the experimental Zarr V3
implementation. This implementation is not in sync with the final specification
and will be replaced with a spec compliant version in the version 3.0.

path : str or None, optional
The path within the group where the arrays will be saved.
kwargs
Expand Down Expand Up @@ -395,6 +415,11 @@ def load(store: StoreLike, zarr_version=None, path=None):
The zarr protocol version to use when loading. The default value of
None will attempt to infer the version from `store` if possible,
otherwise it will fall back to 2.

.. warning:: `zarr_version=3` is currently using the experimental Zarr V3
implementation. This implementation is not in sync with the final specification
and will be replaced with a spec compliant version in the version 3.0.

path : str or None, optional
The path within the store from which to load.

Expand Down
Loading