Skip to content

Cache result of FSStore._fsspec_installed() #1581

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 1 commit into from
Dec 5, 2023

Conversation

ph03
Copy link
Contributor

@ph03 ph03 commented Nov 28, 2023

FSStore._fsspec_installed() is run in a lot of hierarchy operations, and has a significant runtime overhead for each invocation. Given the result will not change between invocations, cache the very first invocation for subsequent runs.

Example profiling of effects without (main) behaviour (6sec total runtime)

image

and with caching the invocation (2sec total runtime)

image

Most of the runtime is spent in the repeated lookup of FSStore._fsspec_installed()
image

TODO:

  • Add unit tests and/or doctests in docstrings
  • Add docstrings and API docs for any new/modified user-facing classes and functions
  • New/modified features documented in docs/tutorial.rst
  • Changes documented in docs/release.rst
  • GitHub Actions have all passed
  • Test coverage is 100% (Codecov passes)

@github-actions github-actions bot added the needs release notes Automatically applied to PRs which haven't added release notes label Nov 28, 2023
@ph03 ph03 force-pushed the dev/cache-fsspec-installed branch 2 times, most recently from e2cbc23 to 56ac81c Compare November 28, 2023 18:19
@d-v-b
Copy link
Contributor

d-v-b commented Nov 28, 2023

i was just noticing sluggish fsstore performance today. this change looks good to me!

Copy link

codecov bot commented Nov 28, 2023

Codecov Report

Merging #1581 (b0fed12) into main (d40bf12) will not change coverage.
The diff coverage is 100.00%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1581   +/-   ##
=======================================
  Coverage   99.99%   99.99%           
=======================================
  Files          37       37           
  Lines       14741    14743    +2     
=======================================
+ Hits        14740    14742    +2     
  Misses          1        1           
Files Coverage Δ
zarr/storage.py 100.00% <100.00%> (ø)

@jhamman jhamman requested a review from martindurant November 28, 2023 20:16
@jhamman
Copy link
Member

jhamman commented Nov 28, 2023

This looks good to me. Would be nice to get @martindurant to take a look here.

@martindurant
Copy link
Member

Agree. I suppose checking "fsspec" in sys.modules would be much faster, after the first use, but this is fine.

Not sure why we didn't do something more typical like

        if not self._fsspec_installed():  # pragma: no cover
            raise ImportError("`fsspec` is required to use zarr's FSStore")

->

        try:
            import fsspec
        except ImportError:

@ph03
Copy link
Contributor Author

ph03 commented Nov 28, 2023

Should I still adapt this?

@martindurant
Copy link
Member

I am happy to go with @d-v-b and @jhamman on this one - this fix is fine, and we can always simplify another time.

@ph03
Copy link
Contributor Author

ph03 commented Nov 29, 2023

I am happy to go with @d-v-b and @jhamman on this one - this fix is fine, and we can always simplify another time.

Awesome - perhaps you can let me know if there are additional points missing for merging?

@jhamman
Copy link
Member

jhamman commented Nov 29, 2023

I think the main missing thing here is a changelog entry. Then we should be good to merge.

Prevent runtime-overhead in doing this check multiple times
@ph03 ph03 force-pushed the dev/cache-fsspec-installed branch from 56ac81c to b0fed12 Compare November 29, 2023 12:53
@github-actions github-actions bot removed the needs release notes Automatically applied to PRs which haven't added release notes label Nov 29, 2023
@ph03
Copy link
Contributor Author

ph03 commented Nov 29, 2023

I think the main missing thing here is a changelog entry. Then we should be good to merge.

Cool thanks, I wasn't aware, thanks for pointing out - added a changelog entry now :)

@ph03
Copy link
Contributor Author

ph03 commented Dec 5, 2023

@martindurant are you ok with the PR / can you let me know which remaining parts are missing (would like to start pointing dependent code to a main repo commit / not a personal one ^^)?

@martindurant martindurant merged commit 25dbeed into zarr-developers:main Dec 5, 2023
jhamman pushed a commit to jhamman/zarr-python that referenced this pull request Jan 24, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Prevent runtime-overhead in doing this check multiple times
jhamman added a commit that referenced this pull request Oct 11, 2024

Partially verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
We cannot verify signatures from co-authors, and some of the co-authors attributed to this commit require their commits to be signed.
* Bump pypa/gh-action-pypi-publish from 1.8.10 to 1.8.11 (#1586)

Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.10 to 1.8.11.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.10...v1.8.11)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump conda-incubator/setup-miniconda from 2.3.0 to 3.0.1 (#1587)

Bumps [conda-incubator/setup-miniconda](https://github.com/conda-incubator/setup-miniconda) from 2.3.0 to 3.0.1.
- [Release notes](https://github.com/conda-incubator/setup-miniconda/releases)
- [Changelog](https://github.com/conda-incubator/setup-miniconda/blob/main/CHANGELOG.md)
- [Commits](https://github.com/conda-incubator/setup-miniconda/compare/v2.3.0...v3.0.1)

---
updated-dependencies:
- dependency-name: conda-incubator/setup-miniconda
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* * Cache result of FSStore._fsspec_installed (#1581)

Prevent runtime-overhead in doing this check multiple times

* Bump version of black in pre-commit (#1559)

* Use list comprehension where applicable (#1555)

Even if this is only a test, list comprehensions are faster than
repeatedly call append().

Also use tuple instead of list when possible.

Co-authored-by: Davis Bennett <[email protected]>

* Bump numcodecs from 0.11.0 to 0.12.1 (#1580)

Bumps [numcodecs](https://github.com/zarr-developers/numcodecs) from 0.11.0 to 0.12.1.
- [Release notes](https://github.com/zarr-developers/numcodecs/releases)
- [Changelog](https://github.com/zarr-developers/numcodecs/blob/main/docs/release.rst)
- [Commits](https://github.com/zarr-developers/numcodecs/compare/v0.11.0...v0.12.1)

---
updated-dependencies:
- dependency-name: numcodecs
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Hamman <[email protected]>

* Use format specification mini-language to format string (#1558)

Co-authored-by: Joe Hamman <[email protected]>

* Single startswith() call instead of multiple ones (#1556)

It's faster and probably more readable.

Co-authored-by: Davis Bennett <[email protected]>
Co-authored-by: Joe Hamman <[email protected]>

* Bump pymongo from 4.5.0 to 4.6.1 (#1585)

Bumps [pymongo](https://github.com/mongodb/mongo-python-driver) from 4.5.0 to 4.6.1.
- [Release notes](https://github.com/mongodb/mongo-python-driver/releases)
- [Changelog](https://github.com/mongodb/mongo-python-driver/blob/master/doc/changelog.rst)
- [Commits](https://github.com/mongodb/mongo-python-driver/compare/4.5.0...4.6.1)

---
updated-dependencies:
- dependency-name: pymongo
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Hamman <[email protected]>

* Move codespell options around (#1196)

Starting with codespell 2.2.2, options can be specified in
`pyrpoject.toml` in addition to `setup.cfg`:
https://github.com/codespell-project/codespell#using-a-config-file

Specifying options in a config file instead of command line options in
`.pre-commit-config.yaml` ensures codespell uses the same options when
run as pre-commit hook or from the command line in the repository root
directory.

* Bump fsspec from 2023.10.0 to 2023.12.1 (#1600)

* Bump fsspec from 2023.10.0 to 2023.12.1

Bumps [fsspec](https://github.com/fsspec/filesystem_spec) from 2023.10.0 to 2023.12.1.
- [Commits](https://github.com/fsspec/filesystem_spec/compare/2023.10.0...2023.12.1)

---
updated-dependencies:
- dependency-name: fsspec
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update s3fs as well

* Fix s3fs

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Josh Moore <[email protected]>

* Add type hints to zarr.create (#1536)

* Add type hints to zarr.create

* Use protocol for MetaArray

* Use protocol for Synchronizer

* Fix Path typing

* Add release note

* Fix dim separator typing

* Ignore ... in coverage reporting

* Fix chunk typing

---------

Co-authored-by: Davis Bennett <[email protected]>

* Remove unused mypy ignore comments (#1602)

Co-authored-by: Davis Bennett <[email protected]>

* Bump actions/setup-python from 4.7.1 to 5.0.0 (#1605)

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.7.1 to 5.0.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4.7.1...v5.0.0)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Hamman <[email protected]>

* Bump github/codeql-action from 2 to 3 (#1609)

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: update pre-commit hooks (#1448)

* chore: update pre-commit hooks

updates:
- https://github.com/charliermarsh/ruff-pre-commit → https://github.com/astral-sh/ruff-pre-commit
- [github.com/astral-sh/ruff-pre-commit: v0.0.224 → v0.1.8](https://github.com/astral-sh/ruff-pre-commit/compare/v0.0.224...v0.1.8)
- [github.com/psf/black: 23.10.1 → 23.12.0](https://github.com/psf/black/compare/23.10.1...23.12.0)
- [github.com/codespell-project/codespell: v2.2.5 → v2.2.6](https://github.com/codespell-project/codespell/compare/v2.2.5...v2.2.6)
- [github.com/pre-commit/pre-commit-hooks: v4.4.0 → v4.5.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.4.0...v4.5.0)
- [github.com/pre-commit/mirrors-mypy: v1.3.0 → v1.7.1](https://github.com/pre-commit/mirrors-mypy/compare/v1.3.0...v1.7.1)

* Attempt to fix ruff

* Use isinstance

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Josh Moore <[email protected]>

* chore: update pre-commit hooks (#1618)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.1.8 → v0.1.9](https://github.com/astral-sh/ruff-pre-commit/compare/v0.1.8...v0.1.9)
- [github.com/psf/black: 23.12.0 → 23.12.1](https://github.com/psf/black/compare/23.12.0...23.12.1)
- [github.com/pre-commit/mirrors-mypy: v1.7.1 → v1.8.0](https://github.com/pre-commit/mirrors-mypy/compare/v1.7.1...v1.8.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Bump fsspec from 2023.12.1 to 2023.12.2 (#1606)

* Bump fsspec from 2023.12.1 to 2023.12.2

Bumps [fsspec](https://github.com/fsspec/filesystem_spec) from 2023.12.1 to 2023.12.2.
- [Commits](https://github.com/fsspec/filesystem_spec/compare/2023.12.1...2023.12.2)

---
updated-dependencies:
- dependency-name: fsspec
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update requirements_dev_optional.txt

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Hamman <[email protected]>

* Bump pytest-doctestplus from 1.0.0 to 1.1.0 (#1619)

Bumps [pytest-doctestplus](https://github.com/scientific-python/pytest-doctestplus) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/scientific-python/pytest-doctestplus/releases)
- [Changelog](https://github.com/scientific-python/pytest-doctestplus/blob/main/CHANGES.rst)
- [Commits](https://github.com/scientific-python/pytest-doctestplus/compare/v1.0.0...v1.1.0)

---
updated-dependencies:
- dependency-name: pytest-doctestplus
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump pytest from 7.4.3 to 7.4.4 (#1622)

* chore: update pre-commit hooks (#1626)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.1.9 → v0.1.11](https://github.com/astral-sh/ruff-pre-commit/compare/v0.1.9...v0.1.11)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Create TEAM.md (#1628)

* Drop python 3.8 and numpy 1.20 (#1557)

* Drop 3.8 and add 3.12

* Try removing line_profiler

* Also bump the minimal numpy to 1.21

* Drop 3.12 again

* Revert "Try removing line_profiler"

This reverts commit 837854bec99a9d25aece2ead9666f01690d228cc.

* Update release.rst

---------

Co-authored-by: Joe Hamman <[email protected]>
Co-authored-by: jakirkham <[email protected]>

* Add Norman Rzepka to core-dev team (#1630)

* chore: update pre-commit hooks (#1633)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.1.11 → v0.1.13](https://github.com/astral-sh/ruff-pre-commit/compare/v0.1.11...v0.1.13)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Bump actions/download-artifact from 3 to 4 (#1611)

* Bump actions/download-artifact from 3 to 4

Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

* Also bump upload-artifact

see https://github.com/actions/download-artifact?tab=readme-ov-file#breaking-changes

> Downloading artifacts that were created from action/upload-artifact@v3 and below are not supported.

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Hamman <[email protected]>
Co-authored-by: Josh Moore <[email protected]>

* Update tutorial.rst to include section about accessing Zip Files on S3 (#1615)

* Update tutorial.rst to include section about accessing Zip Files on S3

Per discussion here, add information about about accessing zip files on s3:
https://github.com/zarr-developers/zarr-python/discussions/1613

* Update release.rst

* Implement d-v-b's suggestions

---------

Co-authored-by: Davis Bennett <[email protected]>
Co-authored-by: Josh Moore <[email protected]>

* doc(v3): add v3 roadmap and design document (#1583)

* doc(v3): add v3 roadmap and design document

* Update v3-roadmap-and-design.md

* updates after latest round of reviews

* Update v3-roadmap-and-design.md

Co-authored-by: Norman Rzepka <[email protected]>

* Update v3-roadmap-and-design.md

Co-authored-by: Sanket Verma <[email protected]>

---------

Co-authored-by: Norman Rzepka <[email protected]>
Co-authored-by: Sanket Verma <[email protected]>

* chore: update pre-commit hooks (#1636)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.1.13 → v0.1.14](https://github.com/astral-sh/ruff-pre-commit/compare/v0.1.13...v0.1.14)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Fix zarr sync (#1663)

This patch removes fasteners and disables zarr.sync which uses process and thread

Co-authored-by: Wei Ouyang <[email protected]>

* Update release.rst (#1621)

* Update release.rst

* Update release.rst

* Change 2.16.2 → 2.17.0

* Update moto for test_s3

* Skip bsddb3 tests to prevent warning failure

* Fix more user warning tests

* Fix even more user warning tests

* Skip coverage for importorskips

* Move to have_X skip method for deps

* Update release.rst (PR#1663)

* Fix test_core.py 'compile' issues

* Add black formatting

* Drop Windows/3.9 build due to unrelated failures

* fix typo

---------

Co-authored-by: Davis Bennett <[email protected]>
Co-authored-by: Josh Moore <[email protected]>

* Bump numpy from 1.24.3 to 1.26.1 (#1543)

Bumps [numpy](https://github.com/numpy/numpy) from 1.24.3 to 1.26.1.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)
- [Commits](https://github.com/numpy/numpy/compare/v1.24.3...v1.26.1)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Davis Bennett <[email protected]>
Co-authored-by: Josh Moore <[email protected]>
Co-authored-by: Joe Hamman <[email protected]>

* chore: update pre-commit hooks (#1642)

* chore: update pre-commit hooks

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.1.14 → v0.2.1](https://github.com/astral-sh/ruff-pre-commit/compare/v0.1.14...v0.2.1)
- [github.com/psf/black: 23.12.1 → 24.2.0](https://github.com/psf/black/compare/23.12.1...24.2.0)

* run black incl. comments for '...'

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Josh Moore <[email protected]>

* Bump ipywidgets from 8.1.0 to 8.1.1 (#1538)

Bumps [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) from 8.1.0 to 8.1.1.
- [Release notes](https://github.com/jupyter-widgets/ipywidgets/releases)
- [Commits](https://github.com/jupyter-widgets/ipywidgets/compare/8.1.0...8.1.1)

---
updated-dependencies:
- dependency-name: ipywidgets
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Davis Bennett <[email protected]>
Co-authored-by: Josh Moore <[email protected]>

* Proper argument for numpy.reshape (#1425)

`numpy.reshape` not only accepts a tuple of ints, but also a simple int.

Besides `(10)` is not a tuple and is identical to `10`, unlike `(10,)`.

* Bump ipywidgets from 8.1.1 to 8.1.2 (#1666)

Bumps [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) from 8.1.1 to 8.1.2.
- [Release notes](https://github.com/jupyter-widgets/ipywidgets/releases)
- [Commits](https://github.com/jupyter-widgets/ipywidgets/compare/8.1.1...8.1.2)

---
updated-dependencies:
- dependency-name: ipywidgets
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* docs: ZIP-related tweaks (#1641)

* docs: use 'ZIP archive' instead of 'zip file'; clarify utility of caching in s3 + ZIP example; style

* docs: update release notes, correct spelling of greg lee's name in past release notes, and fix markup in past release notes

* docs: use 'ZIP archive' instead of 'zip file'; clarify utility of caching in s3 + ZIP example; style

* docs: update release notes, correct spelling of greg lee's name in past release notes, and fix markup in past release notes

* Bump numpy from 1.26.1 to 1.26.4 (#1669)

Bumps [numpy](https://github.com/numpy/numpy) from 1.26.1 to 1.26.4.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)
- [Commits](https://github.com/numpy/numpy/compare/v1.26.1...v1.26.4)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Change occurrences of % and format() to f-strings (#1423)

Co-authored-by: Joe Hamman <[email protected]>
Co-authored-by: Josh Moore <[email protected]>

* chore: update pre-commit hooks (#1672)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.2.1 → v0.2.2](https://github.com/astral-sh/ruff-pre-commit/compare/v0.2.1...v0.2.2)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Bump pymongo from 4.6.1 to 4.6.2 (#1674)

Bumps [pymongo](https://github.com/mongodb/mongo-python-driver) from 4.6.1 to 4.6.2.
- [Release notes](https://github.com/mongodb/mongo-python-driver/releases)
- [Changelog](https://github.com/mongodb/mongo-python-driver/blob/4.6.2/doc/changelog.rst)
- [Commits](https://github.com/mongodb/mongo-python-driver/compare/4.6.1...4.6.2)

---
updated-dependencies:
- dependency-name: pymongo
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump conda-incubator/setup-miniconda from 3.0.1 to 3.0.2 (#1677)

Bumps [conda-incubator/setup-miniconda](https://github.com/conda-incubator/setup-miniconda) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/conda-incubator/setup-miniconda/releases)
- [Changelog](https://github.com/conda-incubator/setup-miniconda/blob/main/CHANGELOG.md)
- [Commits](https://github.com/conda-incubator/setup-miniconda/compare/v3.0.1...v3.0.2)

---
updated-dependencies:
- dependency-name: conda-incubator/setup-miniconda
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update config.yml with Zulip

* Type dimension separator (#1620)

Co-authored-by: Davis Bennett <[email protected]>

* Replace Gitter with new Zulip Chat link (#1685)

* Replace Gitter with Zulip

* Replace Gitter with Zulip in remaining places

* Bump redis from 5.0.1 to 5.0.2 (#1688)

Bumps [redis](https://github.com/redis/redis-py) from 5.0.1 to 5.0.2.
- [Release notes](https://github.com/redis/redis-py/releases)
- [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES)
- [Commits](https://github.com/redis/redis-py/compare/v5.0.1...v5.0.2)

---
updated-dependencies:
- dependency-name: redis
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump pypa/gh-action-pypi-publish from 1.8.11 to 1.8.12 (#1691)

Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.11 to 1.8.12.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.11...v1.8.12)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump pytest-doctestplus from 1.1.0 to 1.2.0 (#1693)

Bumps [pytest-doctestplus](https://github.com/scientific-python/pytest-doctestplus) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/scientific-python/pytest-doctestplus/releases)
- [Changelog](https://github.com/scientific-python/pytest-doctestplus/blob/main/CHANGES.rst)
- [Commits](https://github.com/scientific-python/pytest-doctestplus/compare/v1.1.0...v1.2.0)

---
updated-dependencies:
- dependency-name: pytest-doctestplus
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix RTD build (#1694)

* Update release.rst for v2.17.1 (#1673)

* Update release.rst for v2.17.1

* Change the copyright year from 2023 → 2024.

* Update release.rst for v2.17.1

* Bump pytest-timeout from 2.2.0 to 2.3.1 (#1697)

Bumps [pytest-timeout](https://github.com/pytest-dev/pytest-timeout) from 2.2.0 to 2.3.1.
- [Commits](https://github.com/pytest-dev/pytest-timeout/compare/2.2.0...2.3.1)

---
updated-dependencies:
- dependency-name: pytest-timeout
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump conda-incubator/setup-miniconda from 3.0.2 to 3.0.3 (#1690)

Bumps [conda-incubator/setup-miniconda](https://github.com/conda-incubator/setup-miniconda) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/conda-incubator/setup-miniconda/releases)
- [Changelog](https://github.com/conda-incubator/setup-miniconda/blob/main/CHANGELOG.md)
- [Commits](https://github.com/conda-incubator/setup-miniconda/compare/v3.0.2...v3.0.3)

---
updated-dependencies:
- dependency-name: conda-incubator/setup-miniconda
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sanket Verma <[email protected]>

* docs(tutorial.rst): fix link to GCSMap (#1689)

* Update installation.rst stating version support policy (#1665)

* Update installation.rst stating version support policy

* Update docs/installation.rst

Co-authored-by: Joe Hamman <[email protected]>

* Update docs/installation.rst

---------

Co-authored-by: Joe Hamman <[email protected]>

* Bump pypa/gh-action-pypi-publish from 1.8.12 to 1.8.14 (#1700)

Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.12 to 1.8.14.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.12...v1.8.14)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump pytest-doctestplus from 1.2.0 to 1.2.1 (#1699)

Bumps [pytest-doctestplus](https://github.com/scientific-python/pytest-doctestplus) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/scientific-python/pytest-doctestplus/releases)
- [Changelog](https://github.com/scientific-python/pytest-doctestplus/blob/main/CHANGES.rst)
- [Commits](https://github.com/scientific-python/pytest-doctestplus/compare/v1.2.0...v1.2.1)

---
updated-dependencies:
- dependency-name: pytest-doctestplus
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sanket Verma <[email protected]>

* Bump redis from 5.0.2 to 5.0.3 (#1698)

Bumps [redis](https://github.com/redis/redis-py) from 5.0.2 to 5.0.3.
- [Release notes](https://github.com/redis/redis-py/releases)
- [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES)
- [Commits](https://github.com/redis/redis-py/compare/v5.0.2...v5.0.3)

---
updated-dependencies:
- dependency-name: redis
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sanket Verma <[email protected]>

* Add Python 3.12 to CI (#1719)

* Update python-package.yml

* bump numpy versions

* bump min python version

* Update release.rst

* Bump pytest-cov from 4.1.0 to 5.0.0 (#1722)

Bumps [pytest-cov](https://github.com/pytest-dev/pytest-cov) from 4.1.0 to 5.0.0.
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-cov/compare/v4.1.0...v5.0.0)

---
updated-dependencies:
- dependency-name: pytest-cov
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: update pre-commit hooks (#1708)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.2.2 → v0.3.3](https://github.com/astral-sh/ruff-pre-commit/compare/v0.2.2...v0.3.3)
- [github.com/psf/black: 24.2.0 → 24.3.0](https://github.com/psf/black/compare/24.2.0...24.3.0)
- [github.com/pre-commit/mirrors-mypy: v1.8.0 → v1.9.0](https://github.com/pre-commit/mirrors-mypy/compare/v1.8.0...v1.9.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sanket Verma <[email protected]>

* chore: update pre-commit hooks (#1723)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.3.3 → v0.3.4](https://github.com/astral-sh/ruff-pre-commit/compare/v0.3.3...v0.3.4)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Fix release notes (following #1719) (#1725)

* Override ipython repr methods. (#1724)

Closes #1716

This avoids expensive lookups against object stores.

* Bump pymongo from 4.6.2 to 4.6.3 (#1729)

* Remove v1 and v2 specification (#1582)

* Remove v1 and v2 specification

* fix warning

---------

Co-authored-by: Davis Bennett <[email protected]>

* chore: update pre-commit hooks (#1738)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.3.4 → v0.3.5](https://github.com/astral-sh/ruff-pre-commit/compare/v0.3.4...v0.3.5)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Optimize Array.info and Group.info (#1733)

* Optimize Array.info.

Avoid repeated computes of the same value (getsize)

* Don't have InfoReporter query items twice.

Apparently IPython will run both __repr__ and _repr_html_
so we were calling `getsize` twice.

* Group too

* Apply suggestions from code review

Co-authored-by: Joe Hamman <[email protected]>

---------

Co-authored-by: Joe Hamman <[email protected]>

* Bump actions/setup-python from 5.0.0 to 5.1.0 (#1736)

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.0.0 to 5.1.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5.0.0...v5.1.0)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Couple fixes (#1737)

* Use `is` when comparing `type` of two objects

* Unnecessary `None` provided as default

* Fix tests with Pytest 8 (#1714)

* Bump pytest version

* Use editable install when testing

---------

Co-authored-by: Sanket Verma <[email protected]>

* Avoid redundant __contains__ (#1739)

Let's try grabbing the array.json and group.json files,
and check for `*NotFoundError`, instead of using contains first.

Co-authored-by: Davis Bennett <[email protected]>

* Array & Group: Use already loaded attributes to populate cache. (#1734)

* Array: Use already loaded attributes to populate cache.

* Group: Use already loaded attributes to populate cache.

* Fix

* Add release note

* Optimize attribute setting (#1741)

* Optimize attribute setting

* Add release note

---------

Co-authored-by: Davis Bennett <[email protected]>

* Make sure fs exceptions are raised if not MissingFs exceptions (clone) (#1604)

* Make sure fs exceptions are raised if not Missing

* lint

* add missing argument in tests, lint

* clear memory filesystem during test

* improve commenting

* add memory_store fixture, getitems performance

* Update release.rst

* improve FSStore.test_exception coverage

---------

Co-authored-by: Martin Durant <[email protected]>
Co-authored-by: Joe Hamman <[email protected]>
Co-authored-by: Josh Moore <[email protected]>
Co-authored-by: Sanket Verma <[email protected]>

* chore(release): update changelog for 2.17.2 (#1775)

* chore(docs): reset release notes as unreleased (#1776)

* Bump codecov/codecov-action from 3 to 4 (#1647)

* Bump codecov/codecov-action from 3 to 4

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3 to 4.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

* Set codecov env

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Josh Moore <[email protected]>

* Update release.rst for v2.17.2 (#1778)

* Update release.rst for v2.17.2

* Minor edits

---------

Co-authored-by: Joe Hamman <[email protected]>

* Deprecate the experimental v3 implementation (#1802)

* deprecate(exp-v3): Add a future warning about the pending removal of the experimental v3 implementation

* ignore warning

* add test

* chore: update pre-commit hooks (#1779)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.3.5 → v0.3.7](https://github.com/astral-sh/ruff-pre-commit/compare/v0.3.5...v0.3.7)
- [github.com/psf/black: 24.3.0 → 24.4.0](https://github.com/psf/black/compare/24.3.0...24.4.0)
- [github.com/pre-commit/pre-commit-hooks: v4.5.0 → v4.6.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.5.0...v4.6.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Fix `is_total_slice` for size-1 dimensions (#1800)

Closes #1730

Co-authored-by: Ryan Abernathey <[email protected]>
Co-authored-by: Joe Hamman <[email protected]>

* add note to the top of the release page noting the plan for 2.18.* and 3.0 (#1816)

* Bump conda-incubator/setup-miniconda from 3.0.3 to 3.0.4 (#1824)

Bumps [conda-incubator/setup-miniconda](https://github.com/conda-incubator/setup-miniconda) from 3.0.3 to 3.0.4.
- [Release notes](https://github.com/conda-incubator/setup-miniconda/releases)
- [Changelog](https://github.com/conda-incubator/setup-miniconda/blob/main/CHANGELOG.md)
- [Commits](https://github.com/conda-incubator/setup-miniconda/compare/v3.0.3...v3.0.4)

---
updated-dependencies:
- dependency-name: conda-incubator/setup-miniconda
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

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

* dep(docs): deprecate experimental v3 support in docs

* Apply suggestions from code review

Co-authored-by: Josh Moore <[email protected]>
Co-authored-by: Sanket Verma <[email protected]>

---------

Co-authored-by: Josh Moore <[email protected]>
Co-authored-by: Sanket Verma <[email protected]>

* Bump h5py from 3.10.0 to 3.11.0 (#1786)

Bumps [h5py](https://github.com/h5py/h5py) from 3.10.0 to 3.11.0.
- [Release notes](https://github.com/h5py/h5py/releases)
- [Changelog](https://github.com/h5py/h5py/blob/master/docs/release_guide.rst)
- [Commits](https://github.com/h5py/h5py/compare/3.10.0...3.11.0)

---
updated-dependencies:
- dependency-name: h5py
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Hamman <[email protected]>

* Bump redis from 5.0.3 to 5.0.4 (#1810)

Bumps [redis](https://github.com/redis/redis-py) from 5.0.3 to 5.0.4.
- [Release notes](https://github.com/redis/redis-py/releases)
- [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES)
- [Commits](https://github.com/redis/redis-py/compare/v5.0.3...v5.0.4)

---
updated-dependencies:
- dependency-name: redis
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* deprecate(stores): add deprecation warnings to stores that we plan to remove in v3 (#1801)

* deprecate(stores): add deprecation warnings to DBMStore, LMDBStore, SQLiteStore, MongoDBStore, RedisStore, and ABSStore

* filter warnings in pytest config

* more deprecation warnings in docstrings

* add release note

* use np.inf instead of PINF/NINF (#1842)

* use np.inf instead of PINF/NINF

* update release notes

* chore: update pre-commit hooks (#1825)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.4.1 → v0.4.3](https://github.com/astral-sh/ruff-pre-commit/compare/v0.4.1...v0.4.3)
- [github.com/psf/black: 24.4.0 → 24.4.2](https://github.com/psf/black/compare/24.4.0...24.4.2)
- [github.com/pre-commit/mirrors-mypy: v1.9.0 → v1.10.0](https://github.com/pre-commit/mirrors-mypy/compare/v1.9.0...v1.10.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Enable ruff/bugbear rules (B) and fix issues (#1702)

* Enable ruff/bugbear rules (B)

As suggested by Repo-Review.

* Fix ruff/bugbear issue (B007)

B007 Loop control variable `key` not used within loop body

https://docs.astral.sh/ruff/rules/unused-loop-control-variable/

* Fix ruff/bugbear issue (B015)

B015 Pointless comparison. Did you mean to assign a value?
     Otherwise, prepend `assert` or remove it.

https://docs.astral.sh/ruff/rules/useless-comparison/

* Fix ruff/bugbear issues (B028)

B028 No explicit `stacklevel` keyword argument found

https://docs.astral.sh/ruff/rules/no-explicit-stacklevel/

* Fix ruff/bugbear issues (B904)

B904 Within an `except` clause, raise exceptions with `raise ... from err` or
     `raise ... from None` to distinguish them from errors in exception handling

https://docs.astral.sh/ruff/rules/raise-without-from-inside-except/

* Document changes in docs/release.rst

* Disable ruff/bugbear rule (B017)

B017 `pytest.raises(Exception)` should be considered evil

https://docs.astral.sh/ruff/rules/assert-raises-exception/

---------

Co-authored-by: Joe Hamman <[email protected]>

* Release notes for 2.18.0 (#1843)

* doc: cleanup release notes for 2.18.0

* Update release.rst (#1850)

* Group dependabot updates (#1854)

* chore: update pre-commit hooks (#1876)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.4.3 → v0.4.4](https://github.com/astral-sh/ruff-pre-commit/compare/v0.4.3...v0.4.4)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Fix a regression with scalar indexing due to #1800 (#1875)

* release notes for 2.18.1 (#1885)

* reset release notes (#1886)

* Add zstd to old V3 supported codecs (#1914)

* add zstd to old V3 supported codecs

* get to full test coverage and add release note

* fix pre-commit

* doc: update release notes for 2.18.2 (#1915)

* Drop support for Python 3.9

* Revert "Drop support for Python 3.9"

This reverts commit a054afbbdaf7c8560d0ce5df77af969bc863e335.

* Update TEAM.md (#2071)

* [v2] Fix doctests with numpy 2.0 (#2073)

* Fix version number in built docs (#2044)

* Fix orthogonal indexing with scalar. (#1947)

Co-authored-by: David Stansby <[email protected]>

* Bump the requirements group across 1 directory with 7 updates (#2092)

Bumps the requirements group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [numpy](https://github.com/numpy/numpy) | `1.26.4` | `2.0.1` |
| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | `8.1.2` | `8.1.3` |
| [setuptools-scm](https://github.com/pypa/setuptools_scm) | `8.0.4` | `8.1.0` |
| [pytest](https://github.com/pytest-dev/pytest) | `8.1.1` | `8.3.2` |
| [lmdb](https://github.com/jnwatson/py-lmdb) | `1.4.1` | `1.5.1` |
| [redis](https://github.com/redis/redis-py) | `5.0.4` | `5.0.8` |
| [pymongo](https://github.com/mongodb/mongo-python-driver) | `4.6.3` | `4.8.0` |



Updates `numpy` from 1.26.4 to 2.0.1
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)
- [Commits](https://github.com/numpy/numpy/compare/v1.26.4...v2.0.1)

Updates `ipywidgets` from 8.1.2 to 8.1.3
- [Release notes](https://github.com/jupyter-widgets/ipywidgets/releases)
- [Commits](https://github.com/jupyter-widgets/ipywidgets/compare/8.1.2...8.1.3)

Updates `setuptools-scm` from 8.0.4 to 8.1.0
- [Release notes](https://github.com/pypa/setuptools_scm/releases)
- [Changelog](https://github.com/pypa/setuptools_scm/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pypa/setuptools_scm/compare/v8.0.4...v8.1.0)

Updates `pytest` from 8.1.1 to 8.3.2
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.1.1...8.3.2)

Updates `lmdb` from 1.4.1 to 1.5.1
- [Changelog](https://github.com/jnwatson/py-lmdb/blob/master/ChangeLog)
- [Commits](https://github.com/jnwatson/py-lmdb/compare/py-lmdb_1.4.1...py-lmdb_1.5.1)

Updates `redis` from 5.0.4 to 5.0.8
- [Release notes](https://github.com/redis/redis-py/releases)
- [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES)
- [Commits](https://github.com/redis/redis-py/compare/v5.0.4...v5.0.8)

Updates `pymongo` from 4.6.3 to 4.8.0
- [Release notes](https://github.com/mongodb/mongo-python-driver/releases)
- [Changelog](https://github.com/mongodb/mongo-python-driver/blob/master/doc/changelog.rst)
- [Commits](https://github.com/mongodb/mongo-python-driver/compare/4.6.3...4.8.0)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: requirements
- dependency-name: ipywidgets
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: requirements
- dependency-name: setuptools-scm
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: requirements
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: requirements
- dependency-name: lmdb
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: requirements
- dependency-name: redis
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: requirements
- dependency-name: pymongo
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: requirements
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump the actions group with 2 updates (#2087)

Bumps the actions group with 2 updates: [actions/setup-python](https://github.com/actions/setup-python) and [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish).


Updates `actions/setup-python` from 5.1.0 to 5.1.1
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5.1.0...v5.1.1)

Updates `pypa/gh-action-pypi-publish` from 1.8.14 to 1.9.0
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.14...v1.9.0)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [v2] Drop support for Python 3.9 (#2074)

* Drop support for Python 3.9

* Ignore B905 ruff rule

* Fix release notes

* Fix Array.__array__ for numpy 2.1 (#2106)

* Fix Array.__array__ for numpy 2.1

* Add changelog

* Depend on np.array for array coercions

* Bump test version of numcodecs (#2114)

* Bump test version of numcodecs

* Fix test for numcodecs 0.13

* fix: numpy 1.24 compat for Array.__array__ (#2123)

* Deprecate N5Store (#2103)

* deprecate(n5): add deprecation warning to N5Store

* also deprecate N5FSStore

* docs

* fix doc

* Run tests on numpy 1.23 (#2124)

* Bump the requirements group across 1 directory with 3 updates (#2129)

Bumps the requirements group with 3 updates in the / directory: [numpy](https://github.com/numpy/numpy), [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) and [azure-storage-blob](https://github.com/Azure/azure-sdk-for-python).


Updates `numpy` from 2.0.1 to 2.1.0
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)
- [Commits](https://github.com/numpy/numpy/compare/v2.0.1...v2.1.0)

Updates `ipywidgets` from 8.1.3 to 8.1.5
- [Release notes](https://github.com/jupyter-widgets/ipywidgets/releases)
- [Commits](https://github.com/jupyter-widgets/ipywidgets/compare/8.1.3...8.1.5)

Updates `azure-storage-blob` from 12.16.0 to 12.21.0
- [Release notes](https://github.com/Azure/azure-sdk-for-python/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-python/blob/main/doc/esrp_release.md)
- [Commits](https://github.com/Azure/azure-sdk-for-python/compare/azure-storage-blob_12.16.0...azure-storage-blob_12.21.0)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: requirements
- dependency-name: ipywidgets
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: requirements
- dependency-name: azure-storage-blob
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: requirements
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: bump minimum numpy version to 1.24 (#2127)

* chore: bump minimum version to 1.24

* Update .github/workflows/python-package.yml

* Remove un-needed package installs in CI (#2095)

* Bump the actions group with 2 updates (#2146)

Bumps the actions group with 2 updates: [actions/setup-python](https://github.com/actions/setup-python) and [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish).


Updates `actions/setup-python` from 5.1.1 to 5.2.0
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5.1.1...v5.2.0)

Updates `pypa/gh-action-pypi-publish` from 1.9.0 to 1.10.0
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump numpy from 2.1.0 to 2.1.1 in the requirements group (#2151)

Bumps the requirements group with 1 update: [numpy](https://github.com/numpy/numpy).


Updates `numpy` from 2.1.0 to 2.1.1
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)
- [Commits](https://github.com/numpy/numpy/compare/v2.1.0...v2.1.1)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: requirements
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(docs): update release notes ahead of 2.18.4 (#2152)

* Bump pypa/gh-action-pypi-publish from 1.10.0 to 1.10.1 in the actions group (#2161)

Bumps the actions group with 1 update: [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish).


Updates `pypa/gh-action-pypi-publish` from 1.10.0 to 1.10.1
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.10.0...v1.10.1)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [docs] remove primary sidebar from tutorial (#2142)

* remove primary sidebar from tutorial

* lint

* Bump pytest from 8.3.2 to 8.3.3 in the requirements group (#2172)

Bumps the requirements group with 1 update: [pytest](https://github.com/pytest-dev/pytest).


Updates `pytest` from 8.3.2 to 8.3.3
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.3.2...8.3.3)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: requirements
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump pypa/gh-action-pypi-publish in the actions group (#2220)

Bumps the actions group with 1 update: [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish).


Updates `pypa/gh-action-pypi-publish` from 1.10.1 to 1.10.2
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.10.1...v1.10.2)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update TEAM.md (#2227)

* Bump the requirements group across 1 directory with 3 updates (#2284)

Bumps the requirements group with 3 updates in the / directory: [redis](https://github.com/redis/redis-py), [pymongo](https://github.com/mongodb/mongo-python-driver) and [h5py](https://github.com/h5py/h5py).


Updates `redis` from 5.0.8 to 5.1.0
- [Release notes](https://github.com/redis/redis-py/releases)
- [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES)
- [Commits](https://github.com/redis/redis-py/compare/v5.0.8...v5.1.0)

Updates `pymongo` from 4.8.0 to 4.10.0
- [Release notes](https://github.com/mongodb/mongo-python-driver/releases)
- [Changelog](https://github.com/mongodb/mongo-python-driver/blob/master/doc/changelog.rst)
- [Commits](https://github.com/mongodb/mongo-python-driver/compare/4.8.0...4.10.0)

Updates `h5py` from 3.11.0 to 3.12.1
- [Release notes](https://github.com/h5py/h5py/releases)
- [Changelog](https://github.com/h5py/h5py/blob/master/docs/release_guide.rst)
- [Commits](https://github.com/h5py/h5py/compare/3.11.0...3.12.1)

---
updated-dependencies:
- dependency-name: redis
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: requirements
- dependency-name: pymongo
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: requirements
- dependency-name: h5py
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: requirements
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump pymongo from 4.10.0 to 4.10.1 in the requirements group (#2288)

Bumps the requirements group with 1 update: [pymongo](https://github.com/mongodb/mongo-python-driver).


Updates `pymongo` from 4.10.0 to 4.10.1
- [Release notes](https://github.com/mongodb/mongo-python-driver/releases)
- [Changelog](https://github.com/mongodb/mongo-python-driver/blob/master/doc/changelog.rst)
- [Commits](https://github.com/mongodb/mongo-python-driver/compare/4.10.0...4.10.1)

---
updated-dependencies:
- dependency-name: pymongo
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: requirements
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix low contrast box titles (#2287) (#2292)

* Bump pypa/gh-action-pypi-publish in the actions group (#2304)

Bumps the actions group with 1 update: [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish).


Updates `pypa/gh-action-pypi-publish` from 1.10.2 to 1.10.3
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.10.2...v1.10.3)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump the requirements group with 2 updates (#2303)

Bumps the requirements group with 2 updates: [numpy](https://github.com/numpy/numpy) and [redis](https://github.com/redis/redis-py).


Updates `numpy` from 2.1.1 to 2.1.2
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)
- [Commits](https://github.com/numpy/numpy/compare/v2.1.1...v2.1.2)

Updates `redis` from 5.1.0 to 5.1.1
- [Release notes](https://github.com/redis/redis-py/releases)
- [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES)
- [Commits](https://github.com/redis/redis-py/compare/v5.1.0...v5.1.1)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: requirements
- dependency-name: redis
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: requirements
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump numcodecs from 0.13.0 to 0.13.1 in the requirements group (#2326)

Bumps the requirements group with 1 update: [numcodecs](https://github.com/zarr-developers/numcodecs).


Updates `numcodecs` from 0.13.0 to 0.13.1
- [Release notes](https://github.com/zarr-developers/numcodecs/releases)
- [Changelog](https://github.com/zarr-developers/numcodecs/blob/main/docs/release.rst)
- [Commits](https://github.com/zarr-developers/numcodecs/compare/v0.13.0...v0.13.1)

---
updated-dependencies:
- dependency-name: numcodecs
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: requirements
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* remove zarr.types from v2

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Janick Martinez Esturo <[email protected]>
Co-authored-by: David Stansby <[email protected]>
Co-authored-by: Dimitri Papadopoulos Orfanos <[email protected]>
Co-authored-by: Davis Bennett <[email protected]>
Co-authored-by: Josh Moore <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: jakirkham <[email protected]>
Co-authored-by: Jeff Peck <[email protected]>
Co-authored-by: Norman Rzepka <[email protected]>
Co-authored-by: Sanket Verma <[email protected]>
Co-authored-by: Hood Chatham <[email protected]>
Co-authored-by: Wei Ouyang <[email protected]>
Co-authored-by: Daniel Jahn (dahn) <[email protected]>
Co-authored-by: Deepak Cherian <[email protected]>
Co-authored-by: Ian Carroll <[email protected]>
Co-authored-by: Martin Durant <[email protected]>
Co-authored-by: Ryan Abernathey <[email protected]>
Co-authored-by: Jonny Saunders <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants