Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-zarr for openSUSE:Factory checked in at 2024-09-25 21:55:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-zarr (Old) and /work/SRC/openSUSE:Factory/.python-zarr.new.29891 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-zarr" Wed Sep 25 21:55:19 2024 rev:17 rq:1203567 version:2.18.3 Changes: -------- --- /work/SRC/openSUSE:Factory/python-zarr/python-zarr.changes 2024-09-24 17:34:42.200663717 +0200 +++ /work/SRC/openSUSE:Factory/.python-zarr.new.29891/python-zarr.changes 2024-09-25 21:56:07.795365958 +0200 @@ -1,0 +2,20 @@ +Wed Sep 25 06:07:45 UTC 2024 - Ben Greiner <[email protected]> + +- Update to 2.18.3 + * Update TEAM.md by @jhamman in #2071 + * [v2] Fix doctests with numpy 2.0 by @dstansby in #2073 + * Fix version number in built docs by @dstansby in #2044 + * Fix orthogonal indexing with a scalar by @dcherian in #1947 + * [v2] Drop support for Python 3.9 by @dstansby in #2074 + * Fix Array.array for numpy 2.1 by @dstansby in #2106 + * Bump test version of numcodecs by @dstansby in #2114 + * fix: numpy 1.24 compat for Array.array by @jhamman in #2123 + * Deprecate N5Store by @jhamman in #2103 + * Run tests on numpy 1.23 by @dstansby in #2124 + * chore: bump minimum numpy version to 1.24 by @jhamman in #2127 +- Revert the numpy1 restriction +- Add zarr-numcodecs-zstd-test.patch: + * Allow older numcodecs < 0.13 in zstd tests + * Overrides gh#zarr-developers/zarr-python#2114 + +------------------------------------------------------------------- Old: ---- zarr-2.18.2.tar.gz New: ---- zarr-2.18.3.tar.gz zarr-numcodecs-zstd-test.patch BETA DEBUG BEGIN: New:- Revert the numpy1 restriction - Add zarr-numcodecs-zstd-test.patch: * Allow older numcodecs < 0.13 in zstd tests BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-zarr.spec ++++++ --- /var/tmp/diff_new_pack.Cdf4Bf/_old 2024-09-25 21:56:08.619400233 +0200 +++ /var/tmp/diff_new_pack.Cdf4Bf/_new 2024-09-25 21:56:08.619400233 +0200 @@ -18,26 +18,28 @@ %{?sle15_python_module_pythons} Name: python-zarr -Version: 2.18.2 +Version: 2.18.3 Release: 0 Summary: An implementation of chunked, compressed, N-dimensional arrays for Python License: MIT URL: https://github.com/zarr-developers/zarr-python Source: https://files.pythonhosted.org/packages/source/z/zarr/zarr-%{version}.tar.gz +# PATCH-FIX-OPENSUSE zarr-numcodecs-zstd-test.patch [email protected] -- Allow numcodecs < 0.13 for zstd tests, overrides gh#zarr-developers/zarr-python#2114 +Patch0: zarr-numcodecs-zstd-test.patch # Needs full python stdlib, base is not enough BuildRequires: %{pythons} -BuildRequires: %{python_module base >= 3.8} +BuildRequires: %{python_module base >= 3.10} BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools >= 64.0.0} BuildRequires: %{python_module setuptools_scm > 1.5.4} BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: python-rpm-macros -Requires: python >= 3.8 +Requires: python >= 3.10 Requires: python-asciitree Requires: python-fasteners Requires: python-numcodecs >= 0.10.0 -Requires: python-numpy1 >= 1.23 +Requires: python-numpy >= 1.24 Suggests: python-dbm Suggests: python-ipytree Suggests: python-msgpack @@ -49,7 +51,7 @@ BuildRequires: %{python_module fasteners} BuildRequires: %{python_module msgpack} BuildRequires: %{python_module numcodecs >= 0.10.0} -BuildRequires: %{python_module numpy1 >= 1.23} +BuildRequires: %{python_module numpy >= 1.24} BuildRequires: %{python_module pytest} # /SECTION %python_subpackages @@ -82,7 +84,7 @@ donttest+=" or test_format_compatibility" %pytest -k "not ($donttest)" %else -%pytest +%pytest -v %endif %files %{python_files} ++++++ zarr-2.18.2.tar.gz -> zarr-2.18.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zarr-2.18.2/.github/ISSUE_TEMPLATE/bug_report.yml new/zarr-2.18.3/.github/ISSUE_TEMPLATE/bug_report.yml --- old/zarr-2.18.2/.github/ISSUE_TEMPLATE/bug_report.yml 2024-05-26 21:22:34.000000000 +0200 +++ new/zarr-2.18.3/.github/ISSUE_TEMPLATE/bug_report.yml 2024-09-05 01:19:21.000000000 +0200 @@ -27,7 +27,7 @@ attributes: label: Python Version description: Version of Python interpreter - placeholder: 3.9, 3.10, 3.11, etc. + placeholder: 3.10, 3.11, 3.12 etc. validations: required: true - type: input diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zarr-2.18.2/.github/workflows/python-package.yml new/zarr-2.18.3/.github/workflows/python-package.yml --- old/zarr-2.18.2/.github/workflows/python-package.yml 2024-05-26 21:22:34.000000000 +0200 +++ new/zarr-2.18.3/.github/workflows/python-package.yml 2024-09-05 01:19:21.000000000 +0200 @@ -15,15 +15,11 @@ runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.9', '3.10', '3.11', '3.12'] - numpy_version: ['>=1.24.0', '==1.23.*'] + python-version: ['3.10', '3.11', '3.12'] + numpy_version: ['>=2.1', '==1.24.*'] exclude: - - python-version: '3.10' - numpy_version: '==1.23.*' - - python-version: '3.11' - numpy_version: '==1.23.*' - python-version: '3.12' - numpy_version: '==1.23.*' + numpy_version: '==1.24.*' services: redis: image: redis @@ -54,7 +50,7 @@ - name: Create Conda environment with the rights deps shell: "bash -l {0}" run: | - conda create -n zarr-env python==${{matrix.python-version}} bsddb3 numcodecs lmdb pip nodejs flake8 mypy + conda create -n zarr-env python==${{matrix.python-version}} bsddb3 pip nodejs conda activate zarr-env npm install -g azurite - name: Install dependencies @@ -62,8 +58,7 @@ run: | conda activate zarr-env python -m pip install --upgrade pip - python -m pip install -U pip setuptools wheel line_profiler - python -m pip install -rrequirements_dev_minimal.txt numpy${{matrix.numpy_version}} -rrequirements_dev_optional.txt pymongo redis + python -m pip install -r requirements_dev_minimal.txt numpy${{matrix.numpy_version}} -r requirements_dev_optional.txt line_profiler pymongo redis python -m pip install -e . python -m pip freeze - name: Tests diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zarr-2.18.2/.github/workflows/releases.yml new/zarr-2.18.3/.github/workflows/releases.yml --- old/zarr-2.18.2/.github/workflows/releases.yml 2024-05-26 21:22:34.000000000 +0200 +++ new/zarr-2.18.3/.github/workflows/releases.yml 2024-09-05 01:19:21.000000000 +0200 @@ -16,10 +16,10 @@ submodules: true fetch-depth: 0 - - uses: actions/[email protected] + - uses: actions/[email protected] name: Install Python with: - python-version: '3.9' + python-version: '3.11' - name: Install PyBuild run: | @@ -64,7 +64,7 @@ with: name: releases path: dist - - uses: pypa/[email protected] + - uses: pypa/[email protected] with: user: __token__ password: ${{ secrets.pypi_password }} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zarr-2.18.2/.github/workflows/windows-testing.yml new/zarr-2.18.3/.github/workflows/windows-testing.yml --- old/zarr-2.18.2/.github/workflows/windows-testing.yml 2024-05-26 21:22:34.000000000 +0200 +++ new/zarr-2.18.3/.github/workflows/windows-testing.yml 2024-09-05 01:19:21.000000000 +0200 @@ -31,13 +31,12 @@ - name: Create Conda environment with the rights deps shell: bash -l {0} run: | - conda create -n zarr-env python==${{matrix.python-version}} numcodecs pip nodejs + conda create -n zarr-env python==${{matrix.python-version}} pip nodejs - name: Install dependencies shell: bash -l {0} run: | conda activate zarr-env python -m pip install --upgrade pip - python -m pip install -U pip setuptools wheel python -m pip install -r requirements_dev_numpy.txt -r requirements_dev_minimal.txt -r requirements_dev_optional.txt python -m pip install . python -m pip freeze diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zarr-2.18.2/.readthedocs.yaml new/zarr-2.18.3/.readthedocs.yaml --- old/zarr-2.18.2/.readthedocs.yaml 2024-05-26 21:22:34.000000000 +0200 +++ new/zarr-2.18.3/.readthedocs.yaml 2024-09-05 01:19:21.000000000 +0200 @@ -3,7 +3,7 @@ build: os: ubuntu-20.04 tools: - python: "3.9" + python: "3.11" sphinx: configuration: docs/conf.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zarr-2.18.2/PKG-INFO new/zarr-2.18.3/PKG-INFO --- old/zarr-2.18.2/PKG-INFO 2024-05-26 21:22:43.200814000 +0200 +++ new/zarr-2.18.3/PKG-INFO 2024-09-05 01:19:27.860624300 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: zarr -Version: 2.18.2 +Version: 2.18.3 Summary: An implementation of chunked, compressed, N-dimensional arrays for Python Maintainer-email: Alistair Miles <[email protected]> License: MIT @@ -18,14 +18,14 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: Operating System :: Unix Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 -Requires-Python: >=3.9 +Classifier: Programming Language :: Python :: 3.12 +Requires-Python: >=3.10 Description-Content-Type: text/markdown License-File: LICENSE.txt Requires-Dist: asciitree -Requires-Dist: numpy>=1.23 +Requires-Dist: numpy>=1.24 Requires-Dist: fasteners; sys_platform != "emscripten" Requires-Dist: numcodecs>=0.10.0 Provides-Extra: jupyter diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zarr-2.18.2/TEAM.md new/zarr-2.18.3/TEAM.md --- old/zarr-2.18.2/TEAM.md 2024-05-26 21:22:34.000000000 +0200 +++ new/zarr-2.18.3/TEAM.md 2024-09-05 01:19:21.000000000 +0200 @@ -7,6 +7,7 @@ - @jakirkham (jakirkham) - @martindurant (Martin Durant) - @normanrz (Norman Rzepka) +- @dstansby (David Stansby) ## Emeritus core-developers - @alimanfoo (Alistair Miles) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zarr-2.18.2/docs/conf.py new/zarr-2.18.3/docs/conf.py --- old/zarr-2.18.2/docs/conf.py 2024-05-26 21:22:34.000000000 +0200 +++ new/zarr-2.18.3/docs/conf.py 2024-09-05 01:19:21.000000000 +0200 @@ -16,11 +16,8 @@ import os import sys -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. +from importlib.metadata import version as get_version + import zarr # If extensions (or modules to document with autodoc) are in another directory, @@ -75,9 +72,8 @@ copyright = "2024, Zarr Developers" author = "Zarr Developers" -version = zarr.__version__ -# The full version, including alpha/beta/rc tags. -release = zarr.__version__ +version = get_version("zarr") +release = get_version("zarr") # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zarr-2.18.2/docs/release.rst new/zarr-2.18.3/docs/release.rst --- old/zarr-2.18.2/docs/release.rst 2024-05-26 21:22:34.000000000 +0200 +++ new/zarr-2.18.3/docs/release.rst 2024-09-05 01:19:21.000000000 +0200 @@ -18,13 +18,50 @@ See `GH1777 <https://github.com/zarr-developers/zarr-python/issues/1777>`_ for more details on the upcoming 3.0 release. + +.. _release_2.18.3: + +2.18.3 +------ + +Enhancements +~~~~~~~~~~~~ +* Added support for creating a copy of data when converting a `zarr.Array` + to a numpy array. + By :user:`David Stansby <dstansby>` (:issue:`2106`) and + :user:`Joe Hamman <jhamman>` (:issue:`2123`). + +Maintenance +~~~~~~~~~~~ +* Removed support for Python 3.9. + By :user:`David Stansby <dstansby>` (:issue:`2074`). + +* Fix a regression when using orthogonal indexing with a scalar. + By :user:`Deepak Cherian <dcherian>` :issue:`1931` + +* Added compatibility with NumPy 2.1. + By :user:`David Stansby <dstansby>` + +* Bump minimum NumPy version to 1.24. + :user:`Joe Hamman <jhamman>` (:issue:`2127`). + +Deprecations +~~~~~~~~~~~~ + +* Deprecate :class:`zarr.n5.N5Store` and :class:`zarr.n5.N5FSStore`. These + stores are slated to be removed in Zarr Python 3.0. + By :user:`Joe Hamman <jhamman>` :issue:`2085`. + .. _release_2.18.2: +2.18.2 +------ + Enhancements ~~~~~~~~~~~~ * Add Zstd codec to old V3 code path. - By :user:`Ryan Abernathey <rabernat>` + By :user:`Ryan Abernathey <rabernat>` .. _release_2.18.1: @@ -51,7 +88,7 @@ * Enable ruff/bugbear rules (B) and fix issues. By :user:`Dimitri Papadopoulos Orfanos <DimitriPapadopoulos>` :issue:`1702`. -* Minor updates to use `np.inf` instead of `np.PINF` / `np.NINF` in preparation for NumPy 2.0.0 release. +* Minor updates to use `np.inf` instead of `np.PINF` / `np.NINF` in preparation for NumPy 2.0.0 release. By :user:`Joe Hamman <jhamman>` :issue:`1842`. Deprecations diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zarr-2.18.2/pyproject.toml new/zarr-2.18.3/pyproject.toml --- old/zarr-2.18.2/pyproject.toml 2024-05-26 21:22:35.000000000 +0200 +++ new/zarr-2.18.3/pyproject.toml 2024-09-05 01:19:21.000000000 +0200 @@ -10,10 +10,10 @@ maintainers = [ { name = "Alistair Miles", email = "[email protected]" } ] -requires-python = ">=3.9" +requires-python = ">=3.10" dependencies = [ 'asciitree', - 'numpy>=1.23', + 'numpy>=1.24', 'fasteners; sys_platform != "emscripten"', 'numcodecs>=0.10.0', ] @@ -30,9 +30,9 @@ 'Topic :: Software Development :: Libraries :: Python Modules', 'Operating System :: Unix', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', + 'Programming Language :: Python :: 3.12', ] license = { text = "MIT" } @@ -107,6 +107,7 @@ extend-select = [ "B" ] +ignore = ["B905"] # zip-without-explicit-strict [tool.black] line-length = 100 @@ -145,6 +146,10 @@ "ignore:The .* is deprecated and will be removed in a Zarr-Python version 3*:FutureWarning", "ignore:The experimental Zarr V3 implementation in this version .*:FutureWarning", ] +doctest_subpackage_requires =[ + "zarr/core.py = numpy>=2", + "zarr/creation.py = numpy>=2" +] [tool.codespell] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zarr-2.18.2/requirements_dev_minimal.txt new/zarr-2.18.3/requirements_dev_minimal.txt --- old/zarr-2.18.2/requirements_dev_minimal.txt 2024-05-26 21:22:35.000000000 +0200 +++ new/zarr-2.18.3/requirements_dev_minimal.txt 2024-09-05 01:19:21.000000000 +0200 @@ -1,8 +1,8 @@ # library requirements asciitree==0.3.3 fasteners==0.19 -numcodecs==0.12.1 +numcodecs==0.13.0 msgpack-python==0.5.6 -setuptools-scm==8.0.4 +setuptools-scm==8.1.0 # test requirements -pytest==8.1.1 +pytest==8.3.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zarr-2.18.2/requirements_dev_numpy.txt new/zarr-2.18.3/requirements_dev_numpy.txt --- old/zarr-2.18.2/requirements_dev_numpy.txt 2024-05-26 21:22:35.000000000 +0200 +++ new/zarr-2.18.3/requirements_dev_numpy.txt 2024-09-05 01:19:21.000000000 +0200 @@ -1,4 +1,4 @@ # Break this out into a separate file to allow testing against # different versions of numpy. This file should pin to the latest # numpy version. -numpy==1.26.4 +numpy==2.1.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zarr-2.18.2/requirements_dev_optional.txt new/zarr-2.18.3/requirements_dev_optional.txt --- old/zarr-2.18.2/requirements_dev_optional.txt 2024-05-26 21:22:35.000000000 +0200 +++ new/zarr-2.18.3/requirements_dev_optional.txt 2024-09-05 01:19:21.000000000 +0200 @@ -1,17 +1,17 @@ # optional library requirements # bsddb3==6.2.6; sys_platform != 'win32' -lmdb==1.4.1; sys_platform != 'win32' +lmdb==1.5.1; sys_platform != 'win32' # optional library requirements for Jupyter ipytree==0.2.2 -ipywidgets==8.1.2 +ipywidgets==8.1.5 # optional library requirements for services # don't let pyup change pinning for azure-storage-blob, need to pin to older # version to get compatibility with azure storage emulator on appveyor (FIXME) -azure-storage-blob==12.16.0 # pyup: ignore -redis==5.0.4 +azure-storage-blob==12.21.0 # pyup: ignore +redis==5.0.8 types-redis types-setuptools -pymongo==4.6.3 +pymongo==4.8.0 # optional test requirements coverage pytest-cov==5.0.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zarr-2.18.2/zarr/core.py new/zarr-2.18.3/zarr/core.py --- old/zarr-2.18.2/zarr/core.py 2024-05-26 21:22:35.000000000 +0200 +++ new/zarr-2.18.3/zarr/core.py 2024-09-05 01:19:21.000000000 +0200 @@ -575,11 +575,8 @@ # store comparison ) - def __array__(self, *args): - a = self[...] - if args: - a = a.astype(args[0]) - return a + def __array__(self, *args, **kwargs): + return np.array(self[...], *args, **kwargs) def islice(self, start=None, end=None): """ @@ -609,11 +606,11 @@ Iterate over part of the array: >>> for value in z.islice(25, 30): value; - 25 - 26 - 27 - 28 - 29 + np.int64(25) + np.int64(26) + np.int64(27) + np.int64(28) + np.int64(29) """ if len(self.shape) == 0: @@ -679,7 +676,7 @@ Retrieve a single item:: >>> z[5] - 5 + np.int64(5) Retrieve a region via slicing:: @@ -706,7 +703,7 @@ Retrieve an item:: >>> z[2, 2] - 22 + np.int64(22) Retrieve a region via slicing:: @@ -830,7 +827,7 @@ Retrieve a single item:: >>> z.get_basic_selection(5) - 5 + np.int64(5) Retrieve a region via slicing:: @@ -852,7 +849,7 @@ Retrieve an item:: >>> z.get_basic_selection((2, 2)) - 22 + np.int64(22) Retrieve a region via slicing:: @@ -2053,7 +2050,12 @@ if isinstance(cdata, UncompressedPartialReadBufferV3): cdata = cdata.read_full() chunk = ensure_ndarray_like(cdata).view(self._dtype) - chunk = chunk.reshape(self._chunks, order=self._order) + # dest.shape is not self._chunks when a dimensions is squeezed out + # For example, assume self._chunks = (5, 5, 1) + # and the selection is [:, :, 0] + # Then out_selection is (slice(5), slice(5)) + # See https://github.com/zarr-developers/zarr-python/issues/1931 + chunk = chunk.reshape(dest.shape, order=self._order) np.copyto(dest, chunk) return @@ -2819,7 +2821,7 @@ >>> v[:] array([False, False, True, ..., True, False, False]) >>> np.all(a[:].view(dtype=bool) == v[:]) - True + np.True_ An array can be viewed with a dtype with a different item size, however some care is needed to adjust the shape and chunk shape so that chunk @@ -2833,7 +2835,7 @@ >>> v[:10] array([0, 0, 1, 0, 2, 0, 3, 0, 4, 0], dtype=uint8) >>> np.all(a[:].view('u1') == v[:]) - True + np.True_ Change fill value for uninitialized chunks: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zarr-2.18.2/zarr/creation.py new/zarr-2.18.3/zarr/creation.py --- old/zarr-2.18.2/zarr/creation.py 2024-05-26 21:22:35.000000000 +0200 +++ new/zarr-2.18.3/zarr/creation.py 2024-09-05 01:19:21.000000000 +0200 @@ -569,7 +569,7 @@ >>> z2 <zarr.core.Array (10000, 10000) float64 read-only> >>> np.all(z1[:] == z2[:]) - True + np.True_ Notes ----- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zarr-2.18.2/zarr/n5.py new/zarr-2.18.3/zarr/n5.py --- old/zarr-2.18.2/zarr/n5.py 2024-05-26 21:22:35.000000000 +0200 +++ new/zarr-2.18.3/zarr/n5.py 2024-09-05 01:19:21.000000000 +0200 @@ -69,8 +69,20 @@ Safe to write in multiple threads or processes. + .. deprecated:: 2.18.3 + `N5Store` will be removed in Zarr 3.0.0. """ + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + warnings.warn( + "The N5Store is deprecated and will be removed in a Zarr-Python version 3, " + "see https://github.com/zarr-developers/zarr-python/issues/1274 and " + "https://github.com/zarr-developers/n5py for more information.", + FutureWarning, + stacklevel=2, + ) + def __getitem__(self, key: str) -> bytes: if key.endswith(zarr_group_meta_key): key_new = key.replace(zarr_group_meta_key, n5_attrs_key) @@ -322,6 +334,9 @@ storage, and this procedure requires chunk keys with "." separated dimensions, hence the Zarr arrays targeting N5 have the deceptive "." dimension separator. + + .. deprecated:: 2.18.3 + `N5FSStore` will be removed in Zarr 3.0.0. """ _array_meta_key = "attributes.json" @@ -329,6 +344,13 @@ _attrs_key = "attributes.json" def __init__(self, *args, **kwargs): + warnings.warn( + "The N5FSStore is deprecated and will be removed in a Zarr-Python version 3, " + "see https://github.com/zarr-developers/zarr-python/issues/1274 and " + "https://github.com/zarr-developers/n5py for more information.", + FutureWarning, + stacklevel=2, + ) if "dimension_separator" in kwargs: kwargs.pop("dimension_separator") warnings.warn( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zarr-2.18.2/zarr/tests/test_core.py new/zarr-2.18.3/zarr/tests/test_core.py --- old/zarr-2.18.2/zarr/tests/test_core.py 2024-05-26 21:22:35.000000000 +0200 +++ new/zarr-2.18.3/zarr/tests/test_core.py 2024-09-05 01:19:21.000000000 +0200 @@ -3206,3 +3206,20 @@ elem = [1, 3] arr[1] = elem assert arr[1] == elem + + [email protected]("shape", ((1, 1, 1), (5, 5, 1), (1, 5, 5))) +def test_scalar_orthogonal_indexing(shape): + # regression test for https://github.com/zarr-developers/zarr-python/issues/1931 + store = zarr.MemoryStore({}) + data = np.random.randint(0, 255, shape) + arr = zarr.zeros( + shape=shape, chunks=shape[:-1] + (1,), compressor=None, store=store, dtype="u1" + ) + arr[:, :, :] = data + store.close() + + zf = zarr.open(store, "r") + assert_array_equal(zf[0, :, :], data[0, :, :]) + assert_array_equal(zf[:, 0, :], data[:, 0, :]) + assert_array_equal(zf[:, :, 0], data[:, :, 0]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zarr-2.18.2/zarr/tests/test_meta.py new/zarr-2.18.3/zarr/tests/test_meta.py --- old/zarr-2.18.2/zarr/tests/test_meta.py 2024-05-26 21:22:35.000000000 +0200 +++ new/zarr-2.18.3/zarr/tests/test_meta.py 2024-09-05 01:19:21.000000000 +0200 @@ -282,36 +282,28 @@ fill_value=None, chunk_memory_layout="C", ) - - meta_json = ( - """{ + meta_expected = { "attributes": {}, - "chunk_grid": { - "chunk_shape": [10], - "separator": "/", - "type": "regular" - }, + "chunk_grid": {"chunk_shape": [10], "separator": "/", "type": "regular"}, "chunk_memory_layout": "C", "compressor": { - """ - + f""" - "codec": "https://purl.org/zarr/spec/codec/{cname}/1.0", - """ - + """ - "configuration": { - "level": 1 - } + "codec": f"https://purl.org/zarr/spec/codec/{cname}/1.0", + "configuration": {"level": 1}, }, "data_type": "<f8", "extensions": [], - "fill_value": null, - "shape": [100, 10, 10 ] - }""" - ) + "fill_value": None, + "shape": [100, 10, 10], + } + + if cname == "zstd": + meta_expected["compressor"]["configuration"]["checksum"] = False + + meta_expected_json = json.dumps(meta_expected) # test encoding meta_enc = Metadata3.encode_array_metadata(meta) - assert_json_equal(meta_json, meta_enc) + assert_json_equal(meta_enc, meta_expected_json) # test decoding meta_dec = Metadata3.decode_array_metadata(meta_enc) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zarr-2.18.2/zarr/version.py new/zarr-2.18.3/zarr/version.py --- old/zarr-2.18.2/zarr/version.py 2024-05-26 21:22:40.000000000 +0200 +++ new/zarr-2.18.3/zarr/version.py 2024-09-05 01:19:25.000000000 +0200 @@ -12,5 +12,5 @@ __version_tuple__: VERSION_TUPLE version_tuple: VERSION_TUPLE -__version__ = version = '2.18.2' -__version_tuple__ = version_tuple = (2, 18, 2) +__version__ = version = '2.18.3' +__version_tuple__ = version_tuple = (2, 18, 3) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zarr-2.18.2/zarr.egg-info/PKG-INFO new/zarr-2.18.3/zarr.egg-info/PKG-INFO --- old/zarr-2.18.2/zarr.egg-info/PKG-INFO 2024-05-26 21:22:40.000000000 +0200 +++ new/zarr-2.18.3/zarr.egg-info/PKG-INFO 2024-09-05 01:19:25.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: zarr -Version: 2.18.2 +Version: 2.18.3 Summary: An implementation of chunked, compressed, N-dimensional arrays for Python Maintainer-email: Alistair Miles <[email protected]> License: MIT @@ -18,14 +18,14 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: Operating System :: Unix Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 -Requires-Python: >=3.9 +Classifier: Programming Language :: Python :: 3.12 +Requires-Python: >=3.10 Description-Content-Type: text/markdown License-File: LICENSE.txt Requires-Dist: asciitree -Requires-Dist: numpy>=1.23 +Requires-Dist: numpy>=1.24 Requires-Dist: fasteners; sys_platform != "emscripten" Requires-Dist: numcodecs>=0.10.0 Provides-Extra: jupyter diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zarr-2.18.2/zarr.egg-info/requires.txt new/zarr-2.18.3/zarr.egg-info/requires.txt --- old/zarr-2.18.2/zarr.egg-info/requires.txt 2024-05-26 21:22:40.000000000 +0200 +++ new/zarr-2.18.3/zarr.egg-info/requires.txt 2024-09-05 01:19:25.000000000 +0200 @@ -1,5 +1,5 @@ asciitree -numpy>=1.23 +numpy>=1.24 numcodecs>=0.10.0 [:sys_platform != "emscripten"] ++++++ zarr-numcodecs-zstd-test.patch ++++++ diff -ur zarr-2.18.3.orig/zarr/tests/test_meta.py zarr-2.18.3/zarr/tests/test_meta.py --- zarr-2.18.3.orig/zarr/tests/test_meta.py 2024-09-25 10:57:44.283821145 +0200 +++ zarr-2.18.3/zarr/tests/test_meta.py 2024-09-25 11:02:00.958310578 +0200 @@ -4,6 +4,7 @@ import numpy as np import pytest +from numcodecs.version import version_tuple as nc_version from zarr.codecs import Blosc, Delta, Pickle, Zlib, Zstd from zarr.errors import MetadataError @@ -296,7 +297,7 @@ "shape": [100, 10, 10], } - if cname == "zstd": + if cname == "zstd" and nc_version >= (0, 13): meta_expected["compressor"]["configuration"]["checksum"] = False meta_expected_json = json.dumps(meta_expected)
