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
This PR adds read-only access to CTable datasets in remote B2Z archives and local or remote PyTables/HDF5 sources. Tables can be opened, queried, and exported on demand without first materializing the entire dataset locally.
Main changes:
Introduce RemoteCTable, supporting fixed-width, string, binary, list, dictionary, and structured columns, including null masks, selections, views, and pandas/Arrow exports.
Extend blosc2.open() to discover tables, arrays, and groups consistently, with path= selection and support for source-bound CTable columns.
Use supported remote indexes through lazy sidecar reads, and import supported PyTables full indexes for indexed queries.
Unify source metadata, attributes, traffic accounting, cache management, refresh, and lifetime handling through the common RemoteObject API.
Add persistent, process-shared caches with aggregate size limits, bounded concurrent reads, and recovery after interrupted writers.
Support portable remote references with optional retained caches, alongside explicit materialization into independent local objects. Preserve attributes, nested stores, and table indexes across these operations.
Extend ListArray with nullable elements, nested lists, contains/overlaps predicates, and optional scalar membership indexes.
Expand documentation, examples, benchmarks, and regression coverage, and reduce overhead in several slow tests.
Compatibility notes:
RemoteCTable.save() now writes a remote reference; use materialize(), copy(), to_b2z(), or to_b2d() for independent local data.
New list arrays default to batches of 2,048 rows. Explicit batch_rows=None preserves caller-controlled batching; existing persisted arrays remain readable.
Sparse table/store caches default to an aggregate 256 MiB limit; max_cache_bytes=None allows unlimited caching.
Replacing an existing reference destination requires explicit overwrite=True.
Unlike RemoteStore.with_sparse_cache(), this public sparse-cache factory does not accept storage_options, so callers opening S3/HTTP tables with a custom endpoint, profile, or credentials cannot use it (TypeError), even though the wrapped constructor supports those options. Add the keyword and forward it to RemoteStore.with_sparse_cache().
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds read-only access to CTable datasets in remote B2Z archives and local or remote PyTables/HDF5 sources. Tables can be opened, queried, and exported on demand without first materializing the entire dataset locally.
Main changes:
RemoteCTable, supporting fixed-width, string, binary, list, dictionary, and structured columns, including null masks, selections, views, and pandas/Arrow exports.blosc2.open()to discover tables, arrays, and groups consistently, withpath=selection and support for source-boundCTablecolumns.RemoteObjectAPI.ListArraywith nullable elements, nested lists,contains/overlapspredicates, and optional scalar membership indexes.Compatibility notes:
RemoteCTable.save()now writes a remote reference; usematerialize(),copy(),to_b2z(), orto_b2d()for independent local data.batch_rows=Nonepreserves caller-controlled batching; existing persisted arrays remain readable.max_cache_bytes=Noneallows unlimited caching.overwrite=True.