Skip to content

Commit 2d9c7a4

Browse files
authored
Add changelog entry (#55)
1 parent 88a57c0 commit 2d9c7a4

2 files changed

Lines changed: 35 additions & 6 deletions

File tree

docs/changelog.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,34 @@
11
# Changelog
22

3+
## v0.9.0 (2025-01-28)
4+
5+
This release includes the addition of globbing functionality, a rename of ParallelStoreReader to BlockStoreReader, improvements to file-like properties, and expanded user guide documentation covering xarray integration, globbing, caching, and debugging.
6+
7+
### Breaking Changes
8+
9+
- Rename ParallelStoreReader to BlockStoreReader by @maxrjones in https://github.com/virtual-zarr/obspec-utils/pull/44
10+
11+
### Features
12+
13+
- Implement globbing in obspec_utils by @maxrjones in https://github.com/virtual-zarr/obspec-utils/pull/42
14+
- Start user guide with xarray section by @maxrjones in https://github.com/virtual-zarr/obspec-utils/pull/46
15+
- Add user guide section on globbing by @maxrjones in https://github.com/virtual-zarr/obspec-utils/pull/51
16+
- Add user guide section on debugging slow access by @maxrjones in https://github.com/virtual-zarr/obspec-utils/pull/53
17+
- Add user guide section on caching by @maxrjones in https://github.com/virtual-zarr/obspec-utils/pull/54
18+
19+
### Bug Fixes
20+
21+
- Add closed, readable, seekable, writable properties by @maxrjones in https://github.com/virtual-zarr/obspec-utils/pull/52
22+
- fix: allow Head redirects by @maxrjones in https://github.com/virtual-zarr/obspec-utils/pull/49
23+
24+
### Chores
25+
26+
- Add changelog by @maxrjones in https://github.com/virtual-zarr/obspec-utils/pull/45
27+
- Minor typing improvements by @maxrjones in https://github.com/virtual-zarr/obspec-utils/pull/47
28+
- Add functions used in docs to exported API by @maxrjones in https://github.com/virtual-zarr/obspec-utils/pull/48
29+
30+
**Full Changelog**: https://github.com/virtual-zarr/obspec-utils/compare/v0.8.0...v0.9.0
31+
332
## v0.8.0 (2025-01-25)
433

534
This release includes a redesign of sub-module structure, a significant bug fix in ParallelStoreReader, pickling support for CachingReadableStore, and the addition of the Head protocol to ReadableStore for more efficient file size determination.

docs/user-guide/finding-files.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@ for f in files[:5]:
2929
```
3030

3131
!!! warning "Use the class methods rather than `obstore` top-level functions"
32-
When using `obspec_utils` wrappers like `CachingReadableStore`, call methods
32+
When using `obspec_utils` wrappers like [`CachingReadableStore`][obspec_utils.wrappers.CachingReadableStore], call methods
3333
directly on the store (e.g., `store.list()`) rather than using `obstore` functions
3434
(e.g., `obstore.list(store)`). The wrappers implement the `obspec` protocol, which decouples them from specific store instances. `Obstore` top-level functions are tied to the specific stores implemented by `obstore`, so they will not work with the `obspec`-based wrappers provided by `obspec-utils`.
3535

3636
## Finding Files Matching a Pattern
3737

38-
When you need files matching specific criteria (e.g., all files from year 2100), use `glob`:
38+
When you need files matching specific criteria (e.g., all files from year 2100), use [`glob`][obspec_utils.glob.glob]:
3939

4040
```python exec="on" source="above" session="find" result="code"
4141
from obspec_utils import glob
@@ -76,7 +76,7 @@ for p in paths:
7676

7777
## Getting File Sizes and Dates
7878

79-
To get metadata (size, last modified time) along with paths, use `glob_objects`:
79+
To get metadata (size, last modified time) along with paths, use [`glob_objects`][obspec_utils.glob.glob_objects]:
8080

8181
```python exec="on" source="above" session="find" result="code"
8282
from obspec_utils import glob_objects
@@ -102,7 +102,7 @@ Listing files in cloud storage requires network requests. The more files the ser
102102

103103
### Use Specific Prefixes
104104

105-
The `glob` function automatically extracts the longest literal prefix from your pattern to minimize the files the server must enumerate:
105+
The [`glob`][obspec_utils.glob.glob] function automatically extracts the longest literal prefix from your pattern to minimize the files the server must enumerate:
106106

107107
| Pattern | Server lists from | Files enumerated |
108108
|---------|-------------------|------------------|
@@ -123,7 +123,7 @@ glob(store, "NEX-GDDP/BCSD/rcp85/day/atmos/tasmax/r1i1p1/v1.0/*_2100.nc")
123123

124124
### Process Results Lazily
125125

126-
Both `glob` and `glob_objects` return iterators, so you can process results as they arrive without loading all paths into memory:
126+
Both [`glob`][obspec_utils.glob.glob] and [`glob_objects`][obspec_utils.glob.glob_objects] return iterators, so you can process results as they arrive without loading all paths into memory:
127127

128128
```python exec="on" source="above" session="find" result="code"
129129
# Stop after finding 3 files (doesn't load all results)
@@ -137,7 +137,7 @@ for path in glob(store, "NEX-GDDP/BCSD/rcp85/day/atmos/tasmax/r1i1p1/v1.0/*_2100
137137

138138
## Async Usage
139139

140-
For async contexts, use `glob_async` and `glob_objects_async`:
140+
For async contexts, use [`glob_async`][obspec_utils.glob.glob_async] and [`glob_objects_async`][obspec_utils.glob.glob_objects_async]:
141141

142142
```python exec="on" source="above" session="find" result="code"
143143
import asyncio

0 commit comments

Comments
 (0)