Skip to content

Conversation

@dstansby
Copy link
Contributor

@dstansby dstansby commented Dec 30, 2024

This cleans up the public API surface for stores, by making all the zarr.store submodules private, and exposing the API in the zarr.store namespace. I think this is what was always intended, but changing the sub-module names to start with a _ makes sure they're not documented.

Tagged as 3.0, because this is an API change it would be good to get in before final release.

Fixes #2602

@dstansby dstansby marked this pull request as ready for review December 30, 2024 11:16
@dstansby dstansby added this to the 3.0.0 milestone Dec 30, 2024
@jhamman
Copy link
Member

jhamman commented Jan 1, 2025

What do we think about also making the following objects private:

  • StoreLike
  • StorePath
  • WrapperStore
  • make_store_path

We can always make them public later but these four seem like good candidates to keep private for now.

@dstansby
Copy link
Contributor Author

dstansby commented Jan 2, 2025

StoreLike and StorePath should part of the public API, because they're types of arguments of public functions (e.g., create(), from_dict()), WrapperStore should be public because LoggingStore inherits from it.

I guess make_store_path could be private, but I think out of scope for this PR to give that potential change more visibility to other devs instead of hiding it here.

@jhamman
Copy link
Member

jhamman commented Jan 3, 2025

I opened #2628 for the make_store_path issue which can go in after this.

@dstansby dstansby enabled auto-merge (squash) January 3, 2025 17:22
@dstansby dstansby merged commit 38953e3 into zarr-developers:main Jan 3, 2025
28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Duplicate documentation of stores

2 participants