Skip to content

Commit 539870b

Browse files
committed
Merge branch 'forman-82-slice_source_is_cm' into forman-82-slice_source_kwargs
2 parents 44552cf + c9228ae commit 539870b

File tree

3 files changed

+21
-11
lines changed

3 files changed

+21
-11
lines changed

docs/guide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -699,7 +699,7 @@ The `SliceSource` methods with special meaning are:
699699
* `get_dataset()`: a zero-argument method that returns the slice dataset of type
700700
`xarray.Dataset`. You must implement this abstract method.
701701
* `close()`: perform any resource cleanup tasks
702-
(in zappend < v0.7, the `close` methods was called `dispose`).
702+
(in zappend < v0.7, the `close` method was called `dispose`).
703703
* `__init__()`: optional constructor that receives any arguments passed to the
704704
slice source.
705705

zappend/api.py

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,22 @@ def zappend(
4545
This ensures integrity of the target data cube `target_dir` given
4646
in `config` or `kwargs`.
4747
48+
Each slice item in `slices` provides a slice dataset to be appended.
49+
The interpretation of a given slice item depends on whether a slice source
50+
is configured or not (setting `slice_source`).
51+
52+
If no slice source is configured, a slice item must be an object of type
53+
`str`, `FileObj`, `xarray.Dataset`, or `SliceSource`.
54+
If `str` or `FileObj` are used, they are interpreted as local dataset path or
55+
dataset URI. If a URI is used, protocol-specific parameters apply, given by the
56+
configuration parameter `slice_storage_options`.
57+
58+
If a slice source is configured, a slice item represents the argument(s) passed
59+
to that slice source. Multiple positional arguments can be passed as `list`,
60+
multiple keyword arguments as `dict`, and both as a `tuple` of `list` and `dict`.
61+
4862
Args:
49-
slices: An iterable that yields slice items. A slice item is
50-
either a `str`, `FileObj`, `xarray.Dataset`, `SliceSource`,
51-
or represents arguments passed to a configured `slice_source`.
52-
If `str` or `FileObj` are used, they are interpreted as
53-
local dataset path or dataset URI.
54-
If a URI is used, protocol-specific parameters apply, given by
55-
configuration parameter `slice_storage_options`.
63+
slices: An iterable that yields slice items.
5664
config: Processor configuration.
5765
May be a file path or URI, a `dict`, `None`, or a sequence of
5866
the aforementioned. If a sequence is used, subsequent

zappend/slice/source.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ class SliceSource(ABC):
1919
A slice source is a closable source for a slice dataset.
2020
2121
A slice source is intended to be implemented by users. An implementation
22-
must provide the methods [get_dataset()][zappend.slice.abc.SliceSource.get_dataset]
23-
and [close()][zappend.slice.abc.SliceSource.dispose].
22+
must provide the methods [get_dataset()][zappend.api.SliceSource.get_dataset]
23+
and [close()][zappend.api.SliceSource.close].
2424
2525
If your slice source class requires the processing context,
2626
your class constructor may define a `ctx: Context` as 1st positional
@@ -63,7 +63,9 @@ def close(self):
6363
self.dispose()
6464

6565
def dispose(self):
66-
"""Deprecated since version 0.6.0, override [close()][close] instead."""
66+
"""Deprecated since version 0.6.0, override
67+
[close()][zappend.api.SliceSource.close] instead.
68+
"""
6769

6870

6971
SliceItem = str | FileObj | xr.Dataset | ContextManager[xr.Dataset] | SliceSource

0 commit comments

Comments
 (0)