Skip to content

Commit 901f04e

Browse files
committed
Add cross-references to storage
1 parent e005f29 commit 901f04e

1 file changed

Lines changed: 19 additions & 19 deletions

File tree

docs/user-guide/storage.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Zarr-Python supports multiple storage backends, including: local file systems,
44
Zip files, remote stores via [fsspec](https://filesystem-spec.readthedocs.io) (S3, HTTP, etc.), and in-memory stores. In
55
Zarr-Python 3, stores must implement the abstract store API from
6-
`zarr.abc.store.Store`.
6+
[`zarr.abc.store.Store`][].
77

88
!!! note
99
Unlike Zarr-Python 2 where the store interface was built around a generic `MutableMapping`
@@ -12,7 +12,7 @@ Zarr-Python 3, stores must implement the abstract store API from
1212
## Implicit Store Creation
1313

1414
In most cases, it is not required to create a `Store` object explicitly. Passing a string
15-
to Zarr's top level API will result in the store being created automatically.:
15+
to Zarr's top level API will result in the store being created automatically:
1616

1717
```python
1818
import zarr
@@ -38,13 +38,13 @@ zarr.create_group(store=data)
3838
## Explicit Store Creation
3939

4040
In some cases, it may be helpful to create a store instance directly. Zarr-Python offers four
41-
built-in store: `zarr.storage.LocalStore`, `zarr.storage.FsspecStore`,
42-
`zarr.storage.ZipStore`, `zarr.storage.MemoryStore`, and `zarr.storage.ObjectStore`.
41+
built-in store: [`zarr.storage.LocalStore`][], [`zarr.storage.FsspecStore`][],
42+
[`zarr.storage.ZipStore`][], [`zarr.storage.MemoryStore`][], and [`zarr.storage.ObjectStore`][].
4343

4444
### Local Store
4545

46-
The `zarr.storage.LocalStore` stores data in a nested set of directories on a local
47-
filesystem.:
46+
The [`zarr.storage.LocalStore`][] stores data in a nested set of directories on a local
47+
filesystem:
4848

4949
```python
5050
store = zarr.storage.LocalStore('data/foo/bar', read_only=True)
@@ -54,8 +54,8 @@ zarr.open_group(store=store, mode='r')
5454

5555
### Zip Store
5656

57-
The `zarr.storage.ZipStore` stores the contents of a Zarr hierarchy in a single
58-
Zip file. The [Zip Store specification](https://github.com/zarr-developers/zarr-specs/pull/311) is currently in draft form.:
57+
The [`zarr.storage.ZipStore`][] stores the contents of a Zarr hierarchy in a single
58+
Zip file. The [Zip Store specification](https://github.com/zarr-developers/zarr-specs/pull/311) is currently in draft form:
5959

6060
```python
6161
store = zarr.storage.ZipStore('data.zip', mode='w')
@@ -65,12 +65,12 @@ zarr.create_array(store=store, shape=(2,), dtype='float64')
6565

6666
### Remote Store
6767

68-
The `zarr.storage.FsspecStore` stores the contents of a Zarr hierarchy in following the same
69-
logical layout as the `LocalStore`, except the store is assumed to be on a remote storage system
68+
The [`zarr.storage.FsspecStore`][] stores the contents of a Zarr hierarchy in following the same
69+
logical layout as the [`LocalStore`][zarr.storage.LocalStore], except the store is assumed to be on a remote storage system
7070
such as cloud object storage (e.g. AWS S3, Google Cloud Storage, Azure Blob Store). The
71-
`zarr.storage.FsspecStore` is backed by [fsspec](https://filesystem-spec.readthedocs.io) and can support any backend
71+
[`zarr.storage.FsspecStore`][] is backed by [fsspec](https://filesystem-spec.readthedocs.io) and can support any backend
7272
that implements the [AbstractFileSystem](https://filesystem-spec.readthedocs.io/en/stable/api.html#fsspec.spec.AbstractFileSystem)
73-
API. `storage_options` can be used to configure the fsspec backend.:
73+
API. `storage_options` can be used to configure the fsspec backend:
7474

7575
```python
7676
store = zarr.storage.FsspecStore.from_url(
@@ -97,8 +97,8 @@ store = zarr.storage.FsspecStore(fs)
9797

9898
### Memory Store
9999

100-
The `zarr.storage.MemoryStore` a in-memory store that allows for serialization of
101-
Zarr data (metadata and chunks) to a dictionary.:
100+
The [`zarr.storage.MemoryStore`][] a in-memory store that allows for serialization of
101+
Zarr data (metadata and chunks) to a dictionary:
102102

103103
```python
104104
data = {}
@@ -110,8 +110,8 @@ zarr.create_array(store=store, shape=(2,), dtype='float64')
110110

111111
### Object Store
112112

113-
`zarr.storage.ObjectStore` stores the contents of the Zarr hierarchy using any ObjectStore
114-
[storage implementation](https://developmentseed.org/obstore/latest/api/store/), including AWS S3 (`obstore.store.S3Store`), Google Cloud Storage (`obstore.store.GCSStore`), and Azure Blob Storage (`obstore.store.AzureStore`). This store is backed by [obstore](https://developmentseed.org/obstore/latest/), which
113+
[`zarr.storage.ObjectStore`][] stores the contents of the Zarr hierarchy using any ObjectStore
114+
[storage implementation](https://developmentseed.org/obstore/latest/api/store/), including AWS S3 ([`obstore.store.S3Store`][]), Google Cloud Storage ([`obstore.store.GCSStore`][]), and Azure Blob Storage ([`obstore.store.AzureStore`][]). This store is backed by [obstore](https://developmentseed.org/obstore/latest/), which
115115
builds on the production quality Rust library [object_store](https://docs.rs/object_store/latest/object_store/).
116116

117117
```python
@@ -144,10 +144,10 @@ group.info
144144
```
145145

146146
!!! warning
147-
The `zarr.storage.ObjectStore` class is experimental.
147+
The [`zarr.storage.ObjectStore`][] class is experimental.
148148

149149
## Developing custom stores
150150

151-
Zarr-Python `zarr.abc.store.Store` API is meant to be extended. The Store Abstract Base
151+
Zarr-Python [`zarr.abc.store.Store`][] API is meant to be extended. The Store Abstract Base
152152
Class includes all of the methods needed to be a fully operational store in Zarr Python.
153-
Zarr also provides a test harness for custom stores: `zarr.testing.store.StoreTests`.
153+
Zarr also provides a test harness for custom stores: [`zarr.testing.store.StoreTests`][].

0 commit comments

Comments
 (0)