Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3355 +/- ##
=======================================
Coverage 94.54% 94.54%
=======================================
Files 78 80 +2
Lines 9423 9467 +44
=======================================
+ Hits 8909 8951 +42
- Misses 514 516 +2
🚀 New features to boost your workflow:
|
…ure with comprehensive exports This approach builds on PR zarr-developers#3355's zarr.core.types foundation while massively expanding zarr.types public exports to enable comprehensive type documentation linking. The hybrid strategy provides the best of both worlds: - Maintains clean architectural separation (internal zarr.core.types vs public zarr.types) - Enables comprehensive documentation coverage (~75% vs ~7% with vanilla PR zarr-developers#3355) - Provides excellent developer experience with single import location - Supports all common types used in function signatures for proper Sphinx linking Key additions to zarr.types public API: - Core classes: Array, AsyncArray, Group, AsyncGroup, ZDType, DefaultFillValue - Store types: Store, StorePath, StoreLike, ByteGetter, ByteSetter - Array types: NDArrayLike, ArrayLike, ZDTypeLike - Metadata types: ArrayV2Metadata, ArrayV3Metadata, GroupMetadata, ConsolidatedMetadata - Codec types: BaseCodec, ArrayArrayCodec, BytesBytesCodec, CompressorLike, etc. - Configuration types: ArrayConfig, ArrayConfigLike, ChunkKeyEncodingLike - Enum types: BloscCname, BloscShuffle, Endian, Order, etc. This enables the core goal: "ideally everything in a type hint will be linkable" while maintaining good software engineering practices. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]> Co-Authored-By: Davis Bennett <[email protected]>
|
The trouble with defining objects in two places (here, To prevent this, could we either:
? Related, there are types that are in |
that might be the first step to refining this PR -- we should figure out exactly which types are public. Definitely anything used as an annotation of a public function signature should be public. In this case, these types should be defined just once in |
This does a few things:
zarr.core.types,zarr.types