feat(api): add Packable protocol and standardize collection naming (xs/list_xs pattern)
Introduce Packable protocol in _protocols.py enabling type-safe APIs for
both PackableSample subclasses and @packable-decorated classes. Update
AbstractIndex, DataSource, and Dataset to use consistent naming pattern:
property `xs` for lazy iteration, method `list_xs()` for materialized lists.
Key changes:
- Packable protocol with from_data, from_bytes, packed, as_wds methods
- AbstractIndex: datasets/list_datasets(), schemas/list_schemas()
- DataSource/Dataset: shards property, list_shards() method
- Index: entries/list_entries() for local index
- Legacy aliases (shard_list, all_entries) preserved for backwards compat
- Update README with DictSample docs and load_dataset examples
- Add data_store to AbstractIndex for S3 credential resolution
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This is a binary file and will not be displayed.