Skip to content

Commit 8d985e2

Browse files
committed
Merge branch 'main' of github.com:zarr-developers/zarr-python into feat/memory-store-registry
2 parents d505f03 + f4d1221 commit 8d985e2

File tree

12 files changed

+97
-70
lines changed

12 files changed

+97
-70
lines changed

README.md

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
</a>
1414
</td>
1515
</tr>
16+
<tr>
1617
<td></td>
1718
<td>
1819
<a href="https://anaconda.org/anaconda/zarr/">
@@ -23,9 +24,9 @@
2324
<tr>
2425
<td>Package Status</td>
2526
<td>
26-
<a href="https://pypi.org/project/zarr/">
27-
<img src="https://img.shields.io/pypi/status/zarr.svg" alt="status" />
28-
</a>
27+
<a href="https://pypi.org/project/zarr/">
28+
<img src="https://img.shields.io/pypi/status/zarr.svg" alt="status" />
29+
</a>
2930
</td>
3031
</tr>
3132
<tr>
@@ -47,17 +48,16 @@
4748
<tr>
4849
<td>Pre-commit Status</td>
4950
<td>
50-
<a href=""https://github.com/zarr-developers/zarr-python/blob/main/.pre-commit-config.yaml">
51+
<a href="https://github.com/zarr-developers/zarr-python/blob/main/.pre-commit-config.yaml">
5152
<img src="https://results.pre-commit.ci/badge/github/zarr-developers/zarr-python/main.svg" alt="pre-commit status" />
5253
</a>
5354
</td>
5455
</tr>
55-
5656
<tr>
5757
<td>Coverage</td>
5858
<td>
5959
<a href="https://codecov.io/gh/zarr-developers/zarr-python">
60-
<img src="https://codecov.io/gh/zarr-developers/zarr-python/branch/main/graph/badge.svg"/ alt="coverage">
60+
<img src="https://codecov.io/gh/zarr-developers/zarr-python/branch/main/graph/badge.svg" alt="coverage" />
6161
</a>
6262
</td>
6363
</tr>
@@ -70,27 +70,28 @@
7070
</td>
7171
</tr>
7272
<tr>
73-
<td>Developer Chat</td>
74-
<td>
75-
<a href="https://ossci.zulipchat.com/">
76-
<img src="https://img.shields.io/badge/zulip-join_chat-brightgreen.svg" />
77-
</a>
78-
</td>
73+
<td>Developer Chat</td>
74+
<td>
75+
<a href="https://ossci.zulipchat.com/">
76+
<img src="https://img.shields.io/badge/zulip-join_chat-brightgreen.svg" />
77+
</a>
78+
</td>
7979
</tr>
8080
<tr>
81-
<td>Funding</td>
82-
<td>
83-
<a href="https://chanzuckerberg.com/eoss/">
84-
<img src="https://img.shields.io/badge/funded%20by-EOSS-FF414B.svg?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PHBhdGggZD0iTTIyLjA5OCAyMS4wNzRjLTEuMjM1Ljg2LTIuNjggMS4zOTktNC42ODggMS40MzgtMi40MjYuMDUtNC4yMzgtMS41NTEtNC40MDYtMy45MThhNC40NjUgNC40NjUgMCAwIDEgMS4xODctMy4zOCA0LjQ4IDQuNDggMCAwIDEgMy4yODYtMS40NDQgNC42NzQgNC42NzQgMCAwIDEgMS44OTQuMzc1cy0uMTU2IDEuMzItLjIxIDEuOTE0bDEuOTg3LjAxNS4zNTYtMi45NzYtLjU2My0uMzU2YTYuNTQxIDYuNTQxIDAgMCAwLTMuNDg0LS45NjkgNi41OTMgNi41OTMgMCAwIDAtNC43NSAyLjA4NiA2LjQxNSA2LjQxNSAwIDAgMC0xLjcxNSA0Ljg3NWMuMTEzIDEuNjEuODA5IDMuMDc4IDEuOTUgNC4xNDEgMS4xNTYgMS4wNyAyLjcxNCAxLjY0NSA0LjM5OCAxLjYzMy4wMzkgMCAuMDc4IDAgLjEyNS0uMDA0YTkuOTE4IDkuOTE4IDAgMCAwIDMuNDMzLS43MjNsMS40MzQtMi43ODlzLS4wMjctLjA2Mi0uMjM0LjA3OCIgc3R5bGU9InN0cm9rZTpub25lO2ZpbGwtcnVsZTpub256ZXJvO2ZpbGw6I2ZmZjtmaWxsLW9wYWNpdHk6MSIvPjxwYXRoIGQ9Im0yOC44NjMgMjguMjE1LS4yNDIgMi43NDJ2LjAzMWMtLjEwMSAxLjAzNS0uNjUyIDEuOTE0LTEuNDg0IDIuMzUyLS42Ni4zNDctMS4zOC4zNDctMi4wMjgtLjAwOC0uNjc1LS4zNjMtLjk5Mi0uOTE4LTEuMTE3LTEuNjEzLS4xODctMS4xMDIuNDM4LTIuMjU0IDEuMjkzLTIuODMybDEzLjM1Mi04LjY4OGMuMDk3LjczOC4xNTIgMS40ODUuMTUyIDIuMjUgMCA4Ljk5Mi03LjMwOSAxNi4zMDUtMTYuMjkzIDE2LjMwNS04Ljk4OCAwLTE2LjI4OS03LjMxMy0xNi4yODktMTYuMzA1IDAtOC45ODggNy4zMDUtMTYuMyAxNi4yOTMtMTYuM3MxMi40OTYgNC4wOSAxNC45ODQgOS45MUwzOS4xMTQgMTVDMzYuMjYxIDguNjY0IDI5Ljg5MyA0LjIzNCAyMi41IDQuMjM0Yy03LjM5NSAwLTE4LjIxNSA4LjE3Mi0xOC4yMTUgMTguMjE1IDAgMTAuMDQ3IDguMTcyIDE4LjIxMSAxOC4yMTEgMTguMjExIDEwLjA0IDAgMTguMjE1LTguMTcyIDE4LjIxNS0xOC4yMSAwLTEwLjA0LS4xMS0yLjI5NC0uMzEzLTMuMzkxYTE5Ljk5NyAxOS45OTcgMCAwIDAtLjQ1My0xLjgzMmwtMy43OTMgMi4zNy01LjAyIDMuMThjLS4xNzUtLjY2OC0uNTgxLTEuMzQzLTEuNDQtMS43My0xLjAxMi0uNDY1LTIuNjYtLjExLTMuODY4LjU4MiAwIDAgMy4zMDUtNi40MDIgMy44Ni03LjQ1LjAzNS0uMDY2LS4wMTYtLjE0OC0uMDk4LS4xNDhoLTYuMThsLS4yNSAyLjA2N0gyNi41MDhsLTQuNzMgOS4wNjJjLS4wOTQuMTc2LjA5Ny4zNjMuMjc3LjI3NGwyLjUyMy0xLjM0YzEuMjE5LS42MjUgMy4yNS0xLjkxIDQuMjU0LTEuMTY4LjE0NS4xMS4zMzIuMzk4LjM0OC42OTVhLjM1Ny4zNTcgMCAwIDEtLjE0OS4yOTNsLTUuMDQzIDMuNDA2Yy0xLjYzNiAxLjE2OC0yLjI3NyAyLjkxLTIuMTIgNC41NTUuMTI0IDEuMzc1Ljk4NCAyLjU2NiAyLjI1NyAzLjI2MmE0LjE3IDQuMTcgMCAwIDAgMi4xMTMuNTE1IDQuMTY5IDQuMTY5IDAgMCAwIDEuODY0LS41YzEuNDM3LS43NTQgMi4zOTQtMi4yMzQgMi41NjItMy45NDVsLjQwMi00LjYxMy0yLjE5OSAxLjYzM1ptMCAwIiBzdHlsZT0ic3Ryb2tlOm5vbmU7ZmlsbC1ydWxlOm5vbnplcm87ZmlsbDojZmZmO2ZpbGwtb3BhY2l0eToxIi8+PC9zdmc+" alt="CZI's Essential Open Source Software for Science">
85-
</a>
86-
</td>
81+
<td>Funding</td>
82+
<td>
83+
<a href="https://chanzuckerberg.com/eoss/">
84+
<img src="https://img.shields.io/badge/funded%20by-EOSS-FF414B.svg?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NSI+PHBhdGggZD0iTTIyLjA5OCAyMS4wNzRjLTEuMjM1Ljg2LTIuNjggMS4zOTktNC42ODggMS40MzgtMi40MjYuMDUtNC4yMzgtMS41NTEtNC40MDYtMy45MThhNC40NjUgNC40NjUgMCAwIDEgMS4xODctMy4zOCA0LjQ4IDQuNDggMCAwIDEgMy4yODYtMS40NDQgNC42NzQgNC42NzQgMCAwIDEgMS44OTQuMzc1cy0uMTU2IDEuMzItLjIxIDEuOTE0bDEuOTg3LjAxNS4zNTYtMi45NzYtLjU2My0uMzU2YTYuNTQxIDYuNTQxIDAgMCAwLTMuNDg0LS45NjkgNi41OTMgNi41OTMgMCAwIDAtNC43NSAyLjA4NiA2LjQxNSA2LjQxNSAwIDAgMC0xLjcxNSA0Ljg3NWMuMTEzIDEuNjEuODA5IDMuMDc4IDEuOTUgNC4xNDEgMS4xNTYgMS4wNyAyLjcxNCAxLjY0NSA0LjM5OCAxLjYzMy4wMzkgMCAuMDc4IDAgLjEyNS0uMDA0YTkuOTE4IDkuOTE4IDAgMCAwIDMuNDMzLS43MjNsMS40MzQtMi43ODlzLS4wMjctLjA2Mi0uMjM0LjA3OCIgc3R5bGU9InN0cm9rZTpub25lO2ZpbGwtcnVsZTpub256ZXJvO2ZpbGw6I2ZmZjtmaWxsLW9wYWNpdHk6MSIvPjxwYXRoIGQ9Im0yOC44NjMgMjguMjE1LS4yNDIgMi43NDJ2LjAzMWMtLjEwMSAxLjAzNS0uNjUyIDEuOTE0LTEuNDg0IDIuMzUyLS42Ni4zNDctMS4zOC4zNDctMi4wMjgtLjAwOC0uNjc1LS4zNjMtLjk5Mi0uOTE4LTEuMTE3LTEuNjEzLS4xODctMS4xMDIuNDM4LTIuMjU0IDEuMjkzLTIuODMybDEzLjM1Mi04LjY4OGMuMDk3LjczOC4xNTIgMS40ODUuMTUyIDIuMjUgMCA4Ljk5Mi03LjMwOSAxNi4zMDUtMTYuMjkzIDE2LjMwNS04Ljk4OCAwLTE2LjI4OS03LjMxMy0xNi4yODktMTYuMzA1IDAtOC45ODggNy4zMDUtMTYuMyAxNi4yOTMtMTYuM3MxMi40OTYgNC4wOSAxNC45ODQgOS45MUwzOS4xMTQgMTVDMzYuMjYxIDguNjY0IDI5Ljg5MyA0LjIzNCAyMi41IDQuMjM0Yy03LjM5NSAwLTE4LjIxNSA4LjE3Mi0xOC4yMTUgMTguMjE1IDAgMTAuMDQ3IDguMTcyIDE4LjIxMSAxOC4yMTEgMTguMjExIDEwLjA0IDAgMTguMjE1LTguMTcyIDE4LjIxNS0xOC4yMSAwLTEwLjA0LS4xMS0yLjI5NC0uMzEzLTMuMzkxYTE5Ljk5NyAxOS45OTcgMCAwIDAtLjQ1My0xLjgzMmwtMy43OTMgMi4zNy01LjAyIDMuMThjLS4xNzUtLjY2OC0uNTgxLTEuMzQzLTEuNDQtMS43My0xLjAxMi0uNDY1LTIuNjYtLjExLTMuODY4LjU4MiAwIDAgMy4zMDUtNi40MDIgMy44Ni03LjQ1LjAzNS0uMDY2LS4wMTYtLjE0OC0uMDk4LS4xNDhoLTYuMThsLS4yNSAyLjA2N0gyNi41MDhsLTQuNzMgOS4wNjJjLS4wOTQuMTc2LjA5Ny4zNjMuMjc3LjI3NGwyLjUyMy0xLjM0YzEuMjE5LS42MjUgMy4yNS0xLjkxIDQuMjU0LTEuMTY4LjE0NS4xMS4zMzIuMzk4LjM0OC42OTVhLjM1Ny4zNTcgMCAwIDEtLjE0OS4yOTNsLTUuMDQzIDMuNDA2Yy0xLjYzNiAxLjE2OC0yLjI3NyAyLjkxLTIuMTIgNC41NTUuMTI0IDEuMzc1Ljk4NCAyLjU2NiAyLjI1NyAzLjI2MmE0LjE3IDQuMTcgMCAwIDAgMi4xMTMuNTE1IDQuMTY5IDQuMTY5IDAgMCAwIDEuODY0LS41YzEuNDM3LS43NTQgMi4zOTQtMi4yMzQgMi41NjItMy45NDVsLjQwMi00LjYxMy0yLjE5OSAxLjYzM1ptMCAwIiBzdHlsZT0ic3Ryb2tlOm5vbmU7ZmlsbC1ydWxlOm5vbnplcm87ZmlsbDojZmZmO2ZpbGwtb3BhY2l0eToxIi8+PC9zdmc+" alt="CZI's Essential Open Source Software for Science" />
85+
</a>
86+
</td>
8787
</tr>
88-
<td>Citation</td>
89-
<td>
90-
<a href="https://doi.org/10.5281/zenodo.3773450">
91-
<img src="https://zenodo.org/badge/DOI/10.5281/zenodo.3773450.svg" alt="DOI">
92-
</a>
93-
</td>
88+
<tr>
89+
<td>Citation</td>
90+
<td>
91+
<a href="https://doi.org/10.5281/zenodo.3773450">
92+
<img src="https://zenodo.org/badge/DOI/10.5281/zenodo.3773450.svg" alt="DOI" />
93+
</a>
94+
</td>
9495
</tr>
9596

9697
</table>

changes/3695.bugfix.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Raise error when trying to encode :class:`numpy.dtypes.StringDType` with `na_object` set.

docs/contributing.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ The hooks can be installed locally by running:
131131
prek install
132132
```
133133

134-
This would run the checks every time a commit is created locally. The checks will by default only run on the files modified by a commit, but the checks can be triggered for all the files by running:
134+
This will run the checks every time a commit is created locally. The checks will by default only run on the files modified by a commit, but the checks can be triggered for all the files by running:
135135

136136
```bash
137137
prek run --all-files
@@ -249,33 +249,33 @@ Pull requests submitted by an external contributor should be reviewed and approv
249249

250250
Pull requests should not be merged until all CI checks have passed (GitHub Actions, Codecov) against code that has had the latest main merged in.
251251

252-
Before merging the milestone must be set either to decide whether a PR will be in the next patch, minor, or major release. The next section explains which types of changes go in each release.
252+
Before merging, the milestone must be set to decide whether a PR will be in the next patch, minor, or major release. The next section explains which types of changes go in each release.
253253

254254
## Compatibility and versioning policies
255255

256256
### Versioning
257257

258-
Versions of this library are identified by a triplet of integers with the form `<major>.<minor>.<patch>`, for example `3.0.4`. A release of `zarr-python` is associated with a new version identifier. That new identifier is generated by incrementing exactly one of the components of the previous version identifier by 1. When incrementing the `major` component of the version identifier, the `minor` and `patch` components is reset to 0. When incrementing the minor component, the patch component is reset to 0.
258+
Versions of this library are identified by a triplet of integers with the form `<major>.<minor>.<patch>`, for example `3.0.4`. A release of `zarr-python` is associated with a new version identifier. That new identifier is generated by incrementing exactly one of the components of the previous version identifier by 1. When incrementing the `major` component of the version identifier, the `minor` and `patch` components are reset to 0. When incrementing the minor component, the patch component is reset to 0.
259259

260260
Releases are classified by the library changes contained in that release. This classification determines which component of the version identifier is incremented on release.
261261

262262
* **major** releases (for example, `2.18.0` -> `3.0.0`) are for changes that will require extensive adaptation efforts from many users and downstream projects. For example, breaking changes to widely-used user-facing APIs should only be applied in a major release.
263263

264264
Users and downstream projects should carefully consider the impact of a major release before adopting it. In advance of a major release, developers should communicate the scope of the upcoming changes, and help users prepare for them.
265265

266-
* **minor** releases (for example, `3.0.0` -> `3.1.0`) are for changes that do not require significant effort from most users or downstream downstream projects to respond to. API changes are possible in minor releases if the burden on users imposed by those changes is sufficiently small.
266+
* **minor** releases (for example, `3.0.0` -> `3.1.0`) are for changes that do not require significant effort from most users or downstream projects to respond to. API changes are possible in minor releases if the burden on users imposed by those changes is sufficiently small.
267267

268268
For example, a recently released API may need fixes or refinements that are breaking, but low impact due to the recency of the feature. Such API changes are permitted in a minor release.
269269

270270
Minor releases are safe for most users and downstream projects to adopt.
271271

272272
* **patch** releases (for example, `3.1.0` -> `3.1.1`) are for changes that contain no breaking or behaviour changes for downstream projects or users. Examples of changes suitable for a patch release are bugfixes and documentation improvements.
273273

274-
Users should always feel safe upgrading to a the latest patch release.
274+
Users should always feel safe upgrading to the latest patch release.
275275

276276
Note that this versioning scheme is not consistent with [Semantic Versioning](https://semver.org/). Contrary to SemVer, the Zarr library may release breaking changes in `minor` releases, or even `patch` releases under exceptional circumstances. But we should strive to avoid doing so.
277277

278-
A better model for our versioning scheme is [Intended Effort Versioning](https://jacobtomlinson.dev/effver/), or "EffVer". The guiding principle off EffVer is to categorize releases based on the *expected effort required to upgrade to that release*.
278+
A better model for our versioning scheme is [Intended Effort Versioning](https://jacobtomlinson.dev/effver/), or "EffVer". The guiding principle of EffVer is to categorize releases based on the *expected effort required to upgrade to that release*.
279279

280280
Zarr developers should make changes as smooth as possible for users. This means making backwards-compatible changes wherever possible. When a backwards-incompatible change is necessary, users should be notified well in advance, e.g. via informative deprecation warnings.
281281

@@ -288,12 +288,12 @@ If an existing Zarr format version changes, or a new version of the Zarr format
288288
## Release procedure
289289

290290
Open an issue on GitHub announcing the release using the release checklist template:
291-
[https://github.com/zarr-developers/zarr-python/issues/new?template=release-checklist.md](https://github.com/zarr-developers/zarr-python/issues/new?template=release-checklist.md>). The release checklist includes all steps necessary for the release.
291+
[https://github.com/zarr-developers/zarr-python/issues/new?template=release-checklist.md](https://github.com/zarr-developers/zarr-python/issues/new?template=release-checklist.md). The release checklist includes all steps necessary for the release.
292292

293293
## Benchmarks
294294

295295
Zarr uses [pytest-benchmark](https://pytest-benchmark.readthedocs.io/en/latest/) for running
296-
performance benchmarks as part of our test suite. The benchmarks can be are found in `tests/benchmarks`.
296+
performance benchmarks as part of our test suite. The benchmarks are found in `tests/benchmarks`.
297297
By default pytest is configured to run these benchmarks as plain tests (i.e., no benchmarking). To run
298298
a benchmark with timing measurements, use the `--benchmark-enable` when invoking `pytest`.
299299

docs/quick-start.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
This section will help you get up and running with
1+
This section will help you get up and running with
22
the Zarr library in Python to efficiently manage and analyze multi-dimensional arrays.
33

44
### Creating an Array
@@ -92,7 +92,7 @@ spam[:] = np.arange(10)
9292
print(root.tree())
9393
```
9494

95-
This creates a group with two datasets: `foo` and `bar`.
95+
This creates a group hierarchy with a group (`foo`) and two arrays (`bar` and `spam`).
9696

9797
#### Batch Hierarchy Creation
9898

docs/user-guide/arrays.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ print(z[:, 0])
7171
print(z[:])
7272
```
7373

74-
Read more about NumPy-style indexing can be found in the
74+
More information about NumPy-style indexing can be found in the
7575
[NumPy documentation](https://numpy.org/doc/stable/user/basics.indexing.html).
7676

7777
## Persistent arrays
@@ -296,7 +296,7 @@ array without loading the entire array into memory.
296296
Note that although this functionality is similar to some of the advanced
297297
indexing capabilities available on NumPy arrays and on h5py datasets, **the Zarr
298298
API for advanced indexing is different from both NumPy and h5py**, so please
299-
read this section carefully. For a complete description of the indexing API,
299+
read this section carefully. For a complete description of the indexing API,
300300
see the documentation for the [`zarr.Array`][] class.
301301

302302
### Indexing with coordinate arrays

docs/user-guide/extending.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ of the array data. Examples include compression codecs, such as
2929

3030
Custom codecs for Zarr are implemented by subclassing the relevant base class, see
3131
[`zarr.abc.codec.ArrayArrayCodec`][], [`zarr.abc.codec.ArrayBytesCodec`][] and
32-
[`zarr.abc.codec.BytesBytesCodec`][]. Most custom codecs should implemented the
32+
[`zarr.abc.codec.BytesBytesCodec`][]. Most custom codecs should implement the
3333
`_encode_single` and `_decode_single` methods. These methods operate on single chunks
3434
of the array data. Alternatively, custom codecs can implement the `encode` and `decode`
3535
methods, which operate on batches of chunks, in case the codec is intended to implement

docs/user-guide/groups.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ root = zarr.create_group(store="memory://groups-demo")
1212
print(root)
1313
```
1414

15-
Groups have a similar API to the Group class from [h5py](https://www.h5py.org/). For example, groups can contain other groups:
15+
Groups have a similar API to the Group class from [h5py](https://www.h5py.org/). For example, groups can contain other groups:
1616

1717
```python exec="true" session="groups" source="above"
1818
foo = root.create_group('foo')

docs/user-guide/storage.md

Lines changed: 3 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -35,18 +35,12 @@ print(group)
3535
```
3636

3737
```python exec="true" session="storage" source="above" result="ansi"
38-
# Implicitly creates a MemoryStore backed by a regular `dict`
38+
# Implicitly creates a MemoryStore
3939
data = {}
4040
group = zarr.create_group(store=data)
4141
print(group)
4242
```
4343

44-
```python exec="true" session="storage" source="above" result="ansi"
45-
# Creates a ManagedMemoryStore backed by a `dict` managed by Zarr
46-
group = zarr.create_group(store="memory://my-store")
47-
print(group)
48-
```
49-
5044
[](){#user-guide-store-like}
5145
### StoreLike
5246

@@ -89,12 +83,6 @@ print(group)
8983
create a [memory store](#memory-store), using this dictionary as the
9084
[`store_dict` argument][zarr.storage.MemoryStore].
9185

92-
- a `memory://` URL string, which will create a [managed memory store](#managed-memory-store):
93-
```python exec="true" session="storage" source="above" result="ansi"
94-
group = zarr.create_group(store="memory://my-store/path")
95-
print(group)
96-
```
97-
9886
- an FSSpec [FSMap object](https://filesystem-spec.readthedocs.io/en/latest/api.html#fsspec.FSMap),
9987
which will create an [FsspecStore](#remote-store).
10088

@@ -103,9 +91,9 @@ print(group)
10391

10492
## Explicit Store Creation
10593

106-
In some cases, it may be helpful to create a store instance directly. Zarr-Python offers six
94+
In some cases, it may be helpful to create a store instance directly. Zarr-Python offers
10795
built-in stores: [`zarr.storage.LocalStore`][], [`zarr.storage.FsspecStore`][],
108-
[`zarr.storage.ZipStore`][], [`zarr.storage.MemoryStore`][], [`zarr.storage.ManagedMemoryStore`][], and [`zarr.storage.ObjectStore`][].
96+
[`zarr.storage.ZipStore`][], [`zarr.storage.MemoryStore`][], and [`zarr.storage.ObjectStore`][].
10997

11098
### Local Store
11199

@@ -176,22 +164,6 @@ array = zarr.create_array(store=store, shape=(2,), dtype='float64')
176164
print(array)
177165
```
178166

179-
### Managed Memory Store
180-
181-
The [`zarr.storage.ManagedMemoryStore`][] is an in-memory store like `MemoryStore`, except
182-
`ManagedMemoryStore` manages the dictionary internally. This allows Zarr to create a `ManagedMemoryStore`
183-
from a string URL. Using the same store name will return a store backed by the same underlying dictionary.
184-
185-
```python exec="true" session="storage" source="above" result="ansi"
186-
store = zarr.storage.ManagedMemoryStore(name="data")
187-
url = str(store)
188-
# "memory://data/"
189-
array_1 = zarr.create_array(store=store, name='a1', shape=(2,), dtype='float64')
190-
array_2 = zarr.create_array(url, name='a2', shape=(2,), dtype='uint8')
191-
print(array_1)
192-
print(array_2)
193-
```
194-
195167
### Object Store
196168

197169
[`zarr.storage.ObjectStore`][] stores the contents of the Zarr hierarchy using any ObjectStore

docs/user-guide/v3_migration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ so we can improve this guide.
2020

2121
The goals described above necessitated some breaking changes to the API (hence the
2222
major version update), but where possible we have maintained backwards compatibility
23-
in the most widely used parts of the API. This in the [`zarr.Array`][] and
23+
in the most widely used parts of the API. This includes the [`zarr.Array`][] and
2424
[`zarr.Group`][] classes and the "top-level API" (e.g. [`zarr.open_array`][] and
2525
[`zarr.open_group`][]).
2626

0 commit comments

Comments
 (0)