Skip to content

Commit b85fa9b

Browse files
committed
update migration guide
1 parent 455f853 commit b85fa9b

File tree

3 files changed

+29
-254
lines changed

3 files changed

+29
-254
lines changed

docs/conf.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,6 @@
4949
"sphinx_copybutton",
5050
"sphinx_design",
5151
'sphinx_reredirects',
52-
"IPython.sphinxext.ipython_directive",
53-
"IPython.sphinxext.ipython_console_highlighting",
5452
]
5553

5654
issues_github_path = "zarr-developers/zarr-python"

docs/user-guide/v3_migration.rst

Lines changed: 29 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ goals motivating this refactor included:
77
* adding support for the Zarr V3 specification (along with the Zarr V2 specification)
88
* cleaning up internal and user facing APIs
99
* improving performance (particularly in high latency storage environments like
10-
cloud object store)
10+
cloud object stores)
1111

12-
To accommodate this, Zarr-Python 3.0 introduces a number of changes to the API, including a number
13-
of significant breaking changes and pending deprecations.
12+
To accommodate this, Zarr-Python 3 introduces a number of changes to the API, including a number
13+
of significant breaking changes and deprecations.
1414

15-
This page provides a guide highlighting the most notable changes to help you
15+
This page provides a guide explaining breaking changes and deprecations to help you
1616
migrate your code from version 2 to version 3. If we have missed anything, please
1717
open a `GitHub issue <https://github.com/zarr-developers/zarr-python/issues/new>`_
1818
so we can improve this guide.
@@ -30,13 +30,14 @@ Getting ready for 3.0
3030
---------------------
3131

3232
Before migrating to Zarr-Python 3, we suggest projects that depend on Zarr-Python take
33-
the following actions:
33+
the following actions in order:
3434

3535
1. Pin the supported Zarr-Python version to ``zarr>=2,<3``. This is a best practice
3636
and will protect your users from any incompatibilities that may arise during the
37-
release of Zarr-Python 3.0. This pin can be removed after migrating to Zarr-Python 3.
37+
release of Zarr-Python 3. This pin can be removed after migrating to Zarr-Python 3.
3838
2. Limit your imports from the Zarr-Python package. Most of the primary API ``zarr.*``
39-
will be compatible in 3.0. However, the following breaking API changes are planned:
39+
will be compatible in Zarr-Python 3. However, the following breaking API changes are
40+
planned:
4041

4142
- ``numcodecs.*`` will no longer be available in ``zarr.*``. To migrate, import codecs
4243
directly from ``numcodecs``:
@@ -47,29 +48,27 @@ the following actions:
4748
# instead of:
4849
# from zarr import Blosc
4950
50-
- The ``zarr.v3_api_available`` feature flag is being removed. In Zarr-Python 3.0
51+
- The ``zarr.v3_api_available`` feature flag is being removed. In Zarr-Python 3
5152
the v3 API is always available, so you shouldn't need to use this flag.
5253
- The following internal modules are being removed or significantly changed. If
5354
your application relies on imports from any of the below modules, you will need
5455
to either a) modify your application to no longer rely on these imports or b)
5556
vendor the parts of the specific modules that you need.
5657

57-
* ``zarr.attrs``
58-
* ``zarr.codecs``
59-
* ``zarr.context``
60-
* ``zarr.core``
61-
* ``zarr.hierarchy``
62-
* ``zarr.indexing``
63-
* ``zarr.meta``
64-
* ``zarr.meta_v1``
65-
* ``zarr.storage``
66-
* ``zarr.sync``
67-
* ``zarr.types``
68-
* ``zarr.util``
69-
* ``zarr.n5``
70-
71-
3. Test that your package works with v3. You can start testing against version 3 now
72-
(pre-releases are being published to PyPI weekly).
58+
* ``zarr.attrs`` has gone, with no replacement
59+
* ``zarr.codecs`` has gone, use ``numcodecs`` instead
60+
* ``zarr.context`` has gone, with no replacement
61+
* ``zarr.core`` remains but should be considered private API
62+
* ``zarr.hierarchy`` has gone, with no replacement (use ``zarr.Group`` inplace of ``zarr.hierarchy.Group``)
63+
* ``zarr.indexing`` has gone, with no replacement
64+
* ``zarr.meta`` has gone, with no replacement
65+
* ``zarr.meta_v1`` has gone, with no replacement
66+
* ``zarr.sync`` has gone, with no replacement
67+
* ``zarr.types`` has gone, with no replacement
68+
* ``zarr.util`` has gone, with no replacement
69+
* ``zarr.n5`` has gone, see below for an alternative N5 options
70+
71+
3. Test that your package works with version 3.
7372
4. Update the pin to include ``zarr>=3,<4``.
7473

7574
Zarr-Python 2 support window
@@ -93,7 +92,7 @@ If you need to use the latest Zarr-Python 2 release, you can install it with:
9392
Migrating to Zarr-Python 3
9493
--------------------------
9594

96-
The following sections provide details on the most important changes in Zarr-Python 3.
95+
The following sections provide details on breaking changes in Zarr-Python 3.
9796

9897
The Array class
9998
~~~~~~~~~~~~~~~
@@ -120,8 +119,7 @@ The Group class
120119
The Store class
121120
~~~~~~~~~~~~~~~
122121

123-
Some of the biggest changes in Zarr-Python 3 are found in the ``Store`` class. The most
124-
notable changes to the Store API are:
122+
The Store API has changed significant in Zarr-Python 3. The most notable changes to the Store API are:
125123

126124
1. Replaced the ``MutableMapping`` base class in favor of a custom abstract base class
127125
(:class:`zarr.abc.store.Store`).
@@ -196,8 +194,8 @@ Miscellaneous
196194

197195
Zarr-Python 3 is still under active development, and is not yet fully complete.
198196
The following list summarizes areas of the codebase that we expect to build out
199-
after the 3.0 release. If features listed below are important to your use case of
200-
Zarr-Python, please open (or comment on) a
197+
after the 3.0.0 release. If features listed below are important to your use case
198+
of Zarr-Python, please open (or comment on) a
201199
`GitHub issue <https://github.com/zarr-developers/zarr-python/issues/new>`_.
202200

203201
- The following functions / methods have not been ported to Zarr-Python 3 yet:
@@ -208,7 +206,8 @@ Zarr-Python, please open (or comment on) a
208206
* :func:`zarr.Group.move` (:issue:`2108`)
209207

210208
- The following features (corresponding to function arguments to functions in
211-
:mod:`zarr`) have not been ported to Zarr-Python 3 yet.
209+
:mod:`zarr`) have not been ported to Zarr-Python 3 yet. Using these features
210+
will raise a warning or a ``NotImplementedError``:
212211

213212
* ``cache_attrs``
214213
* ``cache_metadata``

docs/user-guide/v3_todos.rst

Lines changed: 0 additions & 222 deletions
This file was deleted.

0 commit comments

Comments
 (0)