-
-
Notifications
You must be signed in to change notification settings - Fork 290
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
doc(v3): add v3 roadmap and design document #1583
doc(v3): add v3 roadmap and design document #1583
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a very helpful document. I think the proposed design, particularly in terms of making the SyncX classes use the Async ones is great.
My main input is around documenting the extent of expected code breakage, and giving downstream devs advice on how to keep their code running when v3 drops.
One thing I'm also confused about is whether on-file changes for z3 format are orthogonal to the code/API changes for zp3.0? Will zv2 on-file arrays be supported indefinitely?
I think these issues are important to be clear about up front, because they do inform later design choices.
- `Store`, `ReadStore`, `ReadWriteStore`, `ReadListStore`, and `ReadWriteListStore` | ||
- `BaseArray`, `SynchronousArray`, and `AsynchronousArray` | ||
- `BaseGroup`, `SynchronousGroup`, and `AsynchronousGroup` | ||
- `Codec`, `ArrayArrayCodec`, `ArrayBytesCodec`, `BytesBytesCodec` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mentioning codecs here makes me wonder what the relationship with numcodecs is going forward. If isolating codecs is part of the zp 3.0, perhaps this should be discussed explicitly?
The point below about entry_points and [zarr.codecs]
hits the same point.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@normanrz mentioned the idea about writing a set of codec that would wrap numcodecs
existing compressors/filters/etc. That would likely be the cleanest way to continue using numcodecs going forward. With the entrypoint api for codecs, the wrapper class could actually live in numcodecs and simply be registered as an entrypoint that follows the protocol. See #1588 for a start on this api.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This also came up in today's refactor WG call. @normanrz has given this more thought than I have. Perhaps he can share a bit more on what you think is needed here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Zarr 3 spec is pretty explicit about what codecs are in spec to ensure compatibility among implementations. That set of codecs is now implemented directly in zarr-python (with use of numcodecs).
However, it is desirable to experiment with other codecs in zarr-python and make use of numcodecs. I think there are 2 ways of doing this:
- We could make generic adapters for numcodecs to fit the zarr codecs API (ie. ArrayArrayCodec, ArrayBytesCodec, BytesBytesCodec). That would also be useful to code v2 compatibility.
- We could also introduce a new API in numcodecs that presents all codecs using the Zarr codec API. Not sure what the appetite for such a change on the numcodecs side is.
I am a bit concerned about the codec metadata that gets written to the jsons because most codecs in numcodecs are not in the Zarr v3 spec (or with different metadata). Maybe we should actually mark them as numcodecs codecs:
"codecs": [{"name": "numcodecs", "configuration": {"id":"blosc", "cname": "zstd", ...}}]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for raising this, @jeromekelleher, and the explanation here, @jhamman and @normanrz.
I was wondering what would be the ideal way to add a new codec (if and when we plan to add any) in Zarr-Python V3.0?
And what would be the best way forward out of the two options if we consider the possibility of extending the existing codecs in the V3 specification?
Also, it'd be great if we could get @jakirkham views on this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To add new codecs to zarr-python, developers can subclass the base classes (e.g. ArrayBytesCodec
, ArrayArrayCodec
, BytesBytesCodec
) and register the codec using the [zarr.codecs]
entry point in their pyproject.toml or programmatically call zarr.v3.codecs.registry.register_codec
.
|
||
What other dependencies should be considered? | ||
|
||
1. Attrs - Zarrita makes extensive use of the Attrs library |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd register a -1 on adding a dependency on attrs at this point - the builtin dataclasses
module does most of the useful things. (My personal theory is that installation problems grow like O(n^2) where n is the number of dependencies - so only each additional dependency gets harder to justify adding!)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm sympathetic to this perspective @jeromekelleher. I could imagine switching from attrs to dataclasses (or even just vanilla python classes :) ) once the API changes have cooled down.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree that we should remove attrs. However, for development right now we can probably move faster when keeping it in right now and later do one concerted effort to replace it.
|
||
1. H5py compat moved to a stand alone module? | ||
2. `Group.__getitem__` support moved to `Group.members.__getitem__`? | ||
3. Others? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this is really the extend of v2 breakage (super minor!), I'd suggest toning down the language at the top about zp3.0 introducing breaking changes from zp2.x. Something like "Zarr-python 3.0 introduces some minor breaking changes, mostly around compatibility with h5py"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also below "Zarr-Python 3.0 will introduce a number of new APIs and breaking changes to existing APIs." makes me nervous as someone with a lot of code depending on zp 2.0 APIs - addressing the extent of expected breakage, and what people can do to prepare for it at the top of the document would be great.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is really important point @jeromekelleher! The doc says there will be breaking changes to APIs, but doesn't specify what those changes will be. In order for the community to get on board, we should be super clear about this. My hope is that breaking changes are very minimal, and whatever breaking changes there are should be justified with a clearly argued rationale.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To be honest, we're still sorting out the feasibility of maintaining API compatibility at the Array level. @d-v-b has been leading this so I'll let him share his thoughts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are a couple fundamental challenges for preserving the zarr-python
v2 api after we fully integrate v3: The Array
class in zarr-python
exposes all the attributes defined for zarr version 2 arrays. But zarr version 3 arrays have different attributes, so in zarr-python
version 3 we have a few options for dealing with this:
- Uses the current
zarr-python
Array
class to wrap v3 arrays and make them look like v2 arrays. this maximizes backwards compatibility, but would be a usability nightmare and confusing for people who want to work primarily with v3 arrays. - Create a new
Array
class inzarr-python
that exposes zarr version 3 array attributes, much likezarr-python
v2 did for zarr version 2 arrays, and then use this class to wrap zarr version 2 arrays. This would also be unpleasant, because zarr version 3 arrays don't have adtype
property (instead, that attribute is calleddata_type
), and so hewing too close the zarr version 3 array spec forzarr-python
would result in an impedance mismatch with the wider pydata ecosystem. - elevate the
Array
class to a level of abstraction above zarr version 2 and version 3 array specifications, and make thatArray
class capable of using zarr version 2 or 3 arrays as load-bearing members. This lets us optimize theArray
class in zarr-python for a specific goal: a performant, familiar API for people coming from other pydata tools, while smoothing over the differences between v2 and v3 arrays. I think this is the best option, but it does involve substantial breaking changes to thezarr-python
array API.
The only option here that doesn't break the zarr-python
array API is 1, but it's a terrible option for people who want to get the most out of zarr version 3. The fact is, zarr v3 is a breaking change w.r.t. zarr v2, and I would suggest that people who do not want their code to break should continue using zarr v2 and pin zarr-python
to version 2.
And this doesn't touch performance at all. I think we will need to change a lot of APIs to get good performance in zarr-python version 3.
|
||
## Examples of what 3.0 will enable? | ||
1. Reading and writing V3 spec-compliant groups and arrays | ||
2. V3 extensions including sharding and variable chunking. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need to sort out the ZEPs, agree to adopt them?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a good question but might be outside the scope of this document (since it's unsettled anyway).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We've been proceeding assuming that some of the extensions that motivated V3 (sharding, variable chunk grids) would eventually find support here. But we aren't requiring full support for these extensions for the initial release.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fwiw, the sharding codec is already in the v3 branch. So, it could ship in the initial release.
|
||
1. The `Store` interface will be entirely async. | ||
2. On top of the async `Store` interface, we will provide an `AsyncArray` and `AsyncGroup` interface. | ||
3. Finally, the primary user facing API will be synchronous `Array` and `Group` classes that wrap the async equivalents. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel like this still misses the point made above about concurrency of metadata operations and cross-variable operations. A sync Array object still needs to get its metadata and can only provide internal async IO.
We probably also need some concept of "batch" and/or "queue" to allow files to accumulate or stream to the async IO.
May be interesting to look into dask's batching mechanism for sending messages to the scheduler, which I don't personally have any knowledge of.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We probably also need some concept of "batch" and/or "queue" to allow files to accumulate or stream to the async IO.
I think tensorstore achieves something like this via transactions, it might be worth copying that API
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have been discussing something similar that could exist at (or near) the store layer.
store = MyStore()
with store.transaction() as ts:
array_foo.create(..., store=ts)
array_bar.create(..., store=ts)
This is going to necessitate some thought around the state of the store before the transaction but would enable matching multiple writes in the form of a write-cache.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wouldn't it be possible for users to use the AsyncArray and AsyncGroup directly, if concurrency is important to them?
v3-roadmap-and-design.md
Outdated
|
||
- `.metadata` (see Metadata Interface below) | ||
- `.attrs` - (pull from metadata object) | ||
- `.info` - (pull from existing property) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You mean bundle the properties like shape
?
The V2 version lists all the files to see if they exist or not, which we may well choose not to want.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed that listing the store is not a great default behavior. I'll add a note here.
|
||
**Indexing** | ||
|
||
Zarr-Python currently supports `__getitem__` style indexing and the special `oindex` and `vindex` indexers. These are not part of the current Array API standard (see [data-apis/array-api\#669](https://github.com/data-apis/array-api/issues/669)) but they have been [proposed as a NEP](https://numpy.org/neps/nep-0021-advanced-indexing.html). Zarr-Python will maintain these in 3.0. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mention cross-variable indexing? Like, the [0,0] value for each variable in a group?
|
||
# or equivalently | ||
|
||
zarr.save_many([arr1 ,arr2]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a big point! So here is the batching that I mentioned before. It should be clarified, what the state of store
is before save/save_many is called: is it usable, does it have some ephemeral storage (including data?) ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good questions @martindurant - I've left a note that indicates this part of the doc is in need of some additional design effort.
What other dependencies should be considered? | ||
|
||
1. Attrs - Zarrita makes extensive use of the Attrs library | ||
2. Fsspec - Zarrita has a hard dependency on Fsspec. This could be easily relaxed though. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(noting that fsspec has no dependencies of its own, but many of its implementations do)
1. Attrs - Zarrita makes extensive use of the Attrs library | ||
2. Fsspec - Zarrita has a hard dependency on Fsspec. This could be easily relaxed though. | ||
|
||
## Breaking changes relative to Zarr-Python 2.* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Part of the problem is not having a clear definition of which part of v2 is considered to outward-facing API. I would suggest it's Group and Array only (plus a few convenience functions like open_*).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rabernat 2 weeks ago
I don't think this needs to be in the docs itself. Better as it is, as a standalone doc for devs.
Several initial thoughts at a high-structural level on the design document:
- Agreed that it needs not be in the docs.
- Though I think we can make even the docs use .md
- I'd feel slightly better if this were down one directory level but that can only be the docs/ folder at the moment, so maybe we just punt on that.
- I could imagine getting this merged pretty proactively and then perhaps keep a modification list as suggestions are made. That might be easier on the v3 branch.
- What is the process you were envisioning, @jhamman? (As I ask that, I can't help but think of the ZEP process...)
|
||
## Examples of what 3.0 will enable? | ||
1. Reading and writing V3 spec-compliant groups and arrays | ||
2. V3 extensions including sharding and variable chunking. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a good question but might be outside the scope of this document (since it's unsettled anyway).
v3-roadmap-and-design.md
Outdated
- Provide a complete implementation of Zarr V3 through the Zarr-Python API | ||
- Align the Zarr-Python array API with the [array API Standard](https://data-apis.org/array-api/latest/) | ||
- Clear the way for exciting extensions / ZEPs (i.e. [sharding](https://zarr-specs.readthedocs.io/en/latest/v3/codecs/sharding-indexed/v1.0.html), [variable chunking](https://zarr.dev/zeps/draft/ZEP0003.html), etc.) | ||
- Provide a developer API that can be used to implement and register V3 extensions | ||
- Improve the performance of Zarr-Python by streamlining the interface between the Store layer and higher level APIs (e.g. Groups and Arrays) | ||
- Clean up the internal and user facing APIs | ||
- Improve code quality and robustness (e.g. achieve 100% type hint coverage) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had intentionally not ordered but here is my own view on priorities here.
- Provide a complete implementation of Zarr V3 through the Zarr-Python API | |
- Align the Zarr-Python array API with the [array API Standard](https://data-apis.org/array-api/latest/) | |
- Clear the way for exciting extensions / ZEPs (i.e. [sharding](https://zarr-specs.readthedocs.io/en/latest/v3/codecs/sharding-indexed/v1.0.html), [variable chunking](https://zarr.dev/zeps/draft/ZEP0003.html), etc.) | |
- Provide a developer API that can be used to implement and register V3 extensions | |
- Improve the performance of Zarr-Python by streamlining the interface between the Store layer and higher level APIs (e.g. Groups and Arrays) | |
- Clean up the internal and user facing APIs | |
- Improve code quality and robustness (e.g. achieve 100% type hint coverage) | |
- Provide a complete implementation of Zarr V3 through the Zarr-Python API | |
- Clear the way for exciting extensions / ZEPs (i.e. [sharding](https://zarr-specs.readthedocs.io/en/latest/v3/codecs/sharding-indexed/v1.0.html), [variable chunking](https://zarr.dev/zeps/draft/ZEP0003.html), etc.) | |
- Provide a developer API that can be used to implement and register V3 extensions | |
- Improve the performance of Zarr-Python by streamlining the interface between the Store layer and higher level APIs (e.g. Groups and Arrays) | |
- Clean up the internal and user facing APIs | |
- Improve code quality and robustness (e.g. achieve 100% type hint coverage) | |
- Align the Zarr-Python array API with the [array API Standard](https://data-apis.org/array-api/latest/) |
Co-authored-by: Norman Rzepka <code@normanrz.com>
Per the discussion in the refactor meeting today, we're hoping to merge this and start in its current state and do additional design iteration in smaller PRs. |
Co-authored-by: Sanket Verma <svsanketverma5@gmail.com>
@zarr-developers/python-core-devs - we need an approval to merge this. |
Big 👍 for the merging of the doc. Any thoughts on the timeline for opening the PR for review? |
Awesome. Thanks, @jhamman! |
* 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 <code@normanrz.com> * Update v3-roadmap-and-design.md Co-authored-by: Sanket Verma <svsanketverma5@gmail.com> --------- Co-authored-by: Norman Rzepka <code@normanrz.com> Co-authored-by: Sanket Verma <svsanketverma5@gmail.com>
* 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] <support@github.com> 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] <support@github.com> 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 <davis.v.bennett@gmail.com> * 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Joe Hamman <joe@earthmover.io> * Use format specification mini-language to format string (#1558) Co-authored-by: Joe Hamman <joe@earthmover.io> * Single startswith() call instead of multiple ones (#1556) It's faster and probably more readable. Co-authored-by: Davis Bennett <davis.v.bennett@gmail.com> Co-authored-by: Joe Hamman <joe@earthmover.io> * 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Joe Hamman <joe@earthmover.io> * 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] <support@github.com> * Update s3fs as well * Fix s3fs --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Josh Moore <josh@openmicroscopy.org> * 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 <davis.v.bennett@gmail.com> * Remove unused mypy ignore comments (#1602) Co-authored-by: Davis Bennett <davis.v.bennett@gmail.com> * 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Joe Hamman <joe@earthmover.io> * 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] <support@github.com> 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 <josh@openmicroscopy.org> * 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] <support@github.com> * Update requirements_dev_optional.txt --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Joe Hamman <joe@earthmover.io> * 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] <support@github.com> 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 <joe@earthmover.io> Co-authored-by: jakirkham <jakirkham@gmail.com> * 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] <support@github.com> * 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Joe Hamman <joe@earthmover.io> Co-authored-by: Josh Moore <josh@openmicroscopy.org> * 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 <davis.v.bennett@gmail.com> Co-authored-by: Josh Moore <josh@openmicroscopy.org> * 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 <code@normanrz.com> * Update v3-roadmap-and-design.md Co-authored-by: Sanket Verma <svsanketverma5@gmail.com> --------- Co-authored-by: Norman Rzepka <code@normanrz.com> Co-authored-by: Sanket Verma <svsanketverma5@gmail.com> * 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 <oeway007@gmail.com> * 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 <davis.v.bennett@gmail.com> Co-authored-by: Josh Moore <josh@openmicroscopy.org> * 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Davis Bennett <davis.v.bennett@gmail.com> Co-authored-by: Josh Moore <josh@openmicroscopy.org> Co-authored-by: Joe Hamman <joe@earthmover.io> * 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 <josh@openmicroscopy.org> * 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Davis Bennett <davis.v.bennett@gmail.com> Co-authored-by: Josh Moore <josh@openmicroscopy.org> * 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] <support@github.com> 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] <support@github.com> 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 <joe@earthmover.io> Co-authored-by: Josh Moore <josh@openmicroscopy.org> * 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] <support@github.com> 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] <support@github.com> 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 <davis.v.bennett@gmail.com> * 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] <support@github.com> 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] <support@github.com> 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] <support@github.com> 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] <support@github.com> 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sanket Verma <svsanketverma5@gmail.com> * 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 <jhamman1@gmail.com> * Update docs/installation.rst --------- Co-authored-by: Joe Hamman <jhamman1@gmail.com> * 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] <support@github.com> 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sanket Verma <svsanketverma5@gmail.com> * 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sanket Verma <svsanketverma5@gmail.com> * 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] <support@github.com> 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 <svsanketverma5@gmail.com> * 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 <davis.v.bennett@gmail.com> * 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 <jhamman1@gmail.com> --------- Co-authored-by: Joe Hamman <jhamman1@gmail.com> * 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] <support@github.com> 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 <svsanketverma5@gmail.com> * 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 <davis.v.bennett@gmail.com> * 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 <davis.v.bennett@gmail.com> * 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 <martin.durant@alumni.utoronto.ca> Co-authored-by: Joe Hamman <joe@earthmover.io> Co-authored-by: Josh Moore <josh@openmicroscopy.org> Co-authored-by: Sanket Verma <svsanketverma5@gmail.com> * 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] <support@github.com> * Set codecov env --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Josh Moore <josh@openmicroscopy.org> * Update release.rst for v2.17.2 (#1778) * Update release.rst for v2.17.2 * Minor edits --------- Co-authored-by: Joe Hamman <joe@earthmover.io> * 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 <ryan.abernathey@gmail.com> Co-authored-by: Joe Hamman <joe@earthmover.io> * 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] <support@github.com> 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 <josh@openmicroscopy.org> Co-authored-by: Sanket Verma <svsanketverma5@gmail.com> --------- Co-authored-by: Josh Moore <josh@openmicroscopy.org> Co-authored-by: Sanket Verma <svsanketverma5@gmail.com> * 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Joe Hamman <joe@earthmover.io> * 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] <support@github.com> 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 <joe@earthmover.io> * 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 <dstansby@gmail.com> * 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] <support@github.com> 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] <support@github.com> 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] <support@github.com> 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] <support@github.com> 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] <support@github.com> 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] <support@github.com> 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] <support@github.com> 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] <support@github.com> 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] <support@github.com> 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] <support@github.com> 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] <support@github.com> 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] <support@github.com> 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * remove zarr.types from v2 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Janick Martinez Esturo <janick@jme.pub> Co-authored-by: David Stansby <dstansby@gmail.com> Co-authored-by: Dimitri Papadopoulos Orfanos <3234522+DimitriPapadopoulos@users.noreply.github.com> Co-authored-by: Davis Bennett <davis.v.bennett@gmail.com> Co-authored-by: Josh Moore <josh@openmicroscopy.org> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: jakirkham <jakirkham@gmail.com> Co-authored-by: Jeff Peck <jeffrey.peck@10xgenomics.com> Co-authored-by: Norman Rzepka <code@normanrz.com> Co-authored-by: Sanket Verma <svsanketverma5@gmail.com> Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com> Co-authored-by: Wei Ouyang <oeway007@gmail.com> Co-authored-by: Daniel Jahn (dahn) <dahnjahn@gmail.com> Co-authored-by: Deepak Cherian <dcherian@users.noreply.github.com> Co-authored-by: Ian Carroll <carroll.ian@gmail.com> Co-authored-by: Martin Durant <martin.durant@alumni.utoronto.ca> Co-authored-by: Ryan Abernathey <ryan.abernathey@gmail.com> Co-authored-by: Jonny Saunders <sneakers-the-rat@protonmail.com>
This PR adds the V3 roadmap / design document that we have been discussing in #1569 and as part of the refactor working group (#1480). Comments on this document are still welcome.