You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added `Struct` class (subclass of `Structured`) implementing the zarr-extensions `struct` dtype spec. Uses object-style field format and dict fill values. Legacy `Structured` remains available for backward compatibility.
Copy file name to clipboardExpand all lines: docs/contributing.md
+23Lines changed: 23 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -311,6 +311,29 @@ The Zarr library is an implementation of a file format standard defined external
311
311
312
312
If an existing Zarr format version changes, or a new version of the Zarr format is released, then the Zarr library will generally require changes. It is very likely that a new Zarr format will require extensive breaking changes to the Zarr library, and so support for a new Zarr format in the Zarr library will almost certainly come in new `major` release. When the Zarr library adds support for a new Zarr format, there may be a period of accelerated changes as developers refine newly added APIs and deprecate old APIs. In such a transitional phase breaking changes may be more frequent than usual.
313
313
314
+
315
+
## Experimental API policy
316
+
317
+
The `zarr.experimental` namespace contains features that are under active development and may change without notice. When contributing to or depending on experimental features, please keep the following in mind:
318
+
319
+
### For contributors
320
+
321
+
When adding a new feature to `zarr.experimental`:
322
+
323
+
1. Place the feature under `src/zarr/experimental/` and export it from `src/zarr/experimental/__init__.py`.
324
+
2. Document the feature in `docs/user-guide/experimental.md` and note clearly that it is experimental.
325
+
3. Add a changelog entry categorized as `feature`.
326
+
327
+
We aim to either **promote** or **remove** experimental features within **6 months** of their addition. To promote a feature to stable:
328
+
329
+
1. Move it from `zarr.experimental` to the appropriate stable module.
330
+
2. Keep a deprecated re-export in `zarr.experimental` for one minor release.
331
+
3. Update the documentation to reflect the stable location.
332
+
333
+
### For users
334
+
335
+
Features in `zarr.experimental` carry no stability guarantees. They may be changed or removed in any release, including patch releases. If you depend on an experimental feature, pin your `zarr-python` version accordingly.
336
+
314
337
## Release procedure
315
338
316
339
Open an issue on GitHub announcing the release using the release checklist template:
0 commit comments