Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/deshaw/versioned-hdf5
/ types & classes
Types & classes
85 in github.com/deshaw/versioned-hdf5
⨍
Functions
917
◇
Types & classes
85
↳
Endpoints
6
↓ 56 callers
Class
VersionedHDF5File
A Versioned HDF5 File This is the main entry-point of the library. To use a versioned HDF5 file, pass a h5py file to constructor. The me
versioned_hdf5/api.py:42
↓ 17 callers
Class
StagedChangesArray
Writeable numpy array-like, a.k.a. virtual array, which wraps around a sequence of read-only array-likes of chunks, known as the base slabs.
versioned_hdf5/staged_changes.py:62
↓ 15 callers
Class
InMemoryArrayDataset
Class that looks like a h5py.Dataset but is backed by an array
versioned_hdf5/wrappers.py:991
↓ 14 callers
Class
InMemoryGroup
versioned_hdf5/wrappers.py:48
↓ 10 callers
Class
Hashtable
A proxy class representing the hash table for an array The hash table for an array is a mapping from {sha256_hash: slice}, where slice i
versioned_hdf5/hashtable.py:13
↓ 7 callers
Class
MinimalArray
Minimal read-only NumPy array-like implementing the ArrayProtocol
tests/test_typing.py:13
↓ 5 callers
Class
DatasetWrapper
versioned_hdf5/wrappers.py:1198
↓ 5 callers
Class
Filters
Filters keyword arguments for create_dataset and modify_metadata. Not to be confused with h5py.Dataset._filters, which is a dict in the format
versioned_hdf5/backend.py:83
↓ 5 callers
Class
InMemorySparseDataset
Class that looks like a Dataset that has no data (only the fillvalue)
versioned_hdf5/wrappers.py:1057
↓ 2 callers
Class
EntireChunksMapper
Special mapper that selects all points on the chunks selected by another mapper. This is used to load the entire chunk for the purpose of caching
versioned_hdf5/subchunk_map.py:440
↓ 2 callers
Class
MinimalMutableArray
Minimal writeable NumPy array-like implementing the ArrayProtocol
tests/test_typing.py:47
↓ 2 callers
Class
SliceMapper
IndexChunkMapper for slices
versioned_hdf5/subchunk_map.py:287
↓ 2 callers
Class
TransferPlan
Instructions to transfer data: - from a slab to the return value of __getitem__, or - from the value parameter of __setitem__ to a slab, or
versioned_hdf5/staged_changes.py:1172
↓ 1 callers
Class
AsTypeView
Wrap around AstypeWrapper, which exclusively defined __getitem__ and __len__.
versioned_hdf5/h5py_compat.py:23
↓ 1 callers
Class
ChangesPlan
Instructions to execute StagedChangesArray.changes().
versioned_hdf5/staged_changes.py:1666
↓ 1 callers
Class
ChunkHash
4-word SHA256 digest
versioned_hdf5/_commit_hash.py:12
↓ 1 callers
Class
ChunkHashMap
versioned_hdf5/_commit_hash.py:26
↓ 1 callers
Class
ChunkLoc
versioned_hdf5/_commit_hash.py:21
↓ 1 callers
Class
ChunkLocMap
versioned_hdf5/_commit_hash.py:31
↓ 1 callers
Class
CommitPlan
Instructions to execute StagedChangesArray.commit(). Deduplicates the staged chunks against each other, the base slabs and the full slab, the
versioned_hdf5/staged_changes.py:2333
↓ 1 callers
Class
FilterDescriptor
Compression or other filter property of a dataset. The data is stored on the parent MemoryGroup.
versioned_hdf5/wrappers.py:580
↓ 1 callers
Class
GetItemPlan
Instructions to execute StagedChangesArray.__getitem__
versioned_hdf5/staged_changes.py:1334
↓ 1 callers
Class
HashPlan
Instructions to hash all staged chunks of a StagedChangesArray. Finds every chunk that lies on a staged slab and, grouped by slab, produces the
versioned_hdf5/staged_changes.py:2232
↓ 1 callers
Class
HashSlabPlan
Container for the plan to a single call to hash_slab
versioned_hdf5/staged_changes.py:2181
↓ 1 callers
Class
InMemoryDataset
Class that looks like a h5py.Dataset but is backed by a versioned dataset The versioned dataset can be modified, which performs modification
versioned_hdf5/wrappers.py:620
↓ 1 callers
Class
InMemoryDatasetID
versioned_hdf5/wrappers.py:1273
↓ 1 callers
Class
IntegerArrayMapper
IndexChunkMapper for one-dimensional fancy integer array indices. This is also used for boolean indices (preprocessed with np.flatnonzero()).
versioned_hdf5/subchunk_map.py:478
↓ 1 callers
Class
IntegerMapper
IndexChunkMapper for scalar integer indices
versioned_hdf5/subchunk_map.py:386
↓ 1 callers
Class
LoadPlan
Load all chunks that have not been loaded yet from the base slabs.
versioned_hdf5/staged_changes.py:1618
↓ 1 callers
Class
NumPyLayoutElem
tests/test_slicetools.py:27
↓ 1 callers
Class
ResizePlan
Instructions to execute StagedChangesArray.resize()
versioned_hdf5/staged_changes.py:1771
↓ 1 callers
Class
SetItemPlan
Instructions to execute StagedChangesArray.__setitem__
versioned_hdf5/staged_changes.py:1465
↓ 1 callers
Class
TestVersionedDatasetPerformance
analysis/generate_data.py:27
Class
ArrayProtocol
Minimal read-only NumPy array-like interface. Not to be confused with numpy.typing.ArrayLike, which is any object that can be coerced into a
versioned_hdf5/typing_.py:17
Class
Baseline
benchmarks/replay.py:66
Class
BasicChunkMapper
Abstract IndexChunkMapper for numpy basic indexing (slices and integers)
versioned_hdf5/subchunk_map.py:241
Class
Benchmark
Common setup and teardown for all versioned-hdf5 benchmarks.
benchmarks/common.py:23
Class
BufferMixin
Mixin for all staged datasets, handling dtype conversions. Special handling for NumPy StringDType, a.k.a. NpyStrings ------------------------
versioned_hdf5/wrappers.py:473
Class
ChunkHash
Key for the {sha256 -> (slab_idx, slab_offset)} map. A SHA256 digest is 4 x uint64 = 32 bytes. The digest is already a cryptographically strong, unifo
versioned_hdf5/_commit_hash.hpp:24
Class
ChunkHashHash
versioned_hdf5/_commit_hash.hpp:40
Class
ChunkLoc
Key for the {(slab_idx, slab_offset) -> (slab_idx, slab_offset)} map.
versioned_hdf5/_commit_hash.hpp:49
Class
ChunkLocHash
versioned_hdf5/_commit_hash.hpp:62
Class
DatasetLike
Superclass for classes that look like h5py.Dataset Subclasses should have the following properties defined (properties starting with an
versioned_hdf5/wrappers.py:911
Class
Default
Sentinel for default argument values.
versioned_hdf5/typing_.py:83
Class
FiltersMixin
Add properties for compression and other filters to datasets.
versioned_hdf5/wrappers.py:605
Class
IndexChunkMapper
Abstract class that manipulates a numpy fancy index along a single axis of a chunked array Parameters ---------- chunk_indices:
versioned_hdf5/subchunk_map.py:40
Class
MutableArrayProtocol
versioned_hdf5/typing_.py:49
Class
MutatingPlan
Common ancestor of all plans that mutate StagedChangesArray
versioned_hdf5/staged_changes.py:1402
Class
NumPyLayout
tests/test_slicetools.py:34
Class
PerformanceTests
analysis/performance_tests.py:24
Class
TestAsTypeLazy
Test that astype() does not eagerly convert staged slabs, but various methods do so upon first access.
tests/test_staged_changes.py:669
Class
TestDatasetPerformanceBase
Test cases for the most common use cases where we encounter when we write data to HDF5. In general all data has multiple columns which a
analysis/generate_data_base.py:9
Class
TestLargeFractionChangesSparse
analysis/performance_tests.py:153
Class
TestLargeFractionConstantSparse
analysis/performance_tests.py:205
Class
TestMostlyAppendsDense
analysis/performance_tests.py:192
Class
TestMostlyAppendsSparse
analysis/performance_tests.py:179
Class
TestSmallFractionChangesSparse
analysis/performance_tests.py:166
Class
TimeChanges
Benchmark ChangesPlan creation and execution. Chunks that lie on the base slabs are yielded as slices, whereas the staged ones are yielded as
benchmarks/staged_changes.py:376
Class
TimeCommit
Benchmark HashPlan creation and execution, and the whole of commit()
benchmarks/staged_changes.py:398
Class
TimeCommit
benchmarks/wrappers.py:111
Class
TimeCommitPlan
Benchmark CommitPlan creation, which deduplicates the staged chunks against the hashes of the base and full chunks. Unlike the other benchmarks in
benchmarks/staged_changes.py:420
Class
TimeCreateDataset
benchmarks/wrappers.py:89
Class
TimeDatetimeAccess
benchmarks/datetime.py:8
Class
TimeDeleteVersions
benchmarks/replay.py:74
Class
TimeDeleteVersions
benchmarks/delete_versions.py:8
Class
TimeFromArray
Benchmark StagedChangesArray.from_array(). This is the entry point of the resize() of an InMemoryArrayDataset, which calls from_array(as_base
benchmarks/staged_changes.py:332
Class
TimeGetItem
Benchmark GetItemPlan creation and execution
benchmarks/staged_changes.py:273
Class
TimeHashSlab
Benchmark hash_slab with a contiguous NumPy slab.
benchmarks/hash.py:22
Class
TimeHashSlabNonContig
Benchmark hash_slab with non-C-contiguous slabs. **layout** step_outer strided along axis 0, contiguous along the innermost axis (ha
benchmarks/hash.py:70
Class
TimeHashSlabStrings
Benchmark hash_slab with string arrays (object dtype and StringDType)
benchmarks/hash.py:128
Class
TimeHashtable
benchmarks/hashtable.py:8
Class
TimeLoad
Benchmark LoadPlan creation and execution. Only the chunks that lie on the base slabs are loaded, so this is a no-op for all the states other
benchmarks/staged_changes.py:355
Class
TimeModifyMetadata
benchmarks/replay.py:114
Class
TimeReadManySlices
Benchmark read_many_slices between h5py src and a contiguous NumPy array
benchmarks/read_many_slices.py:86
Class
TimeReadManySlicesNonContiguous
Benchmark read_many_slices between h5py src and a non-contiguous NumPy array
benchmarks/read_many_slices.py:132
Class
TimeReadManySlicesNumPy
Benchmark read_many_slices with NumPy src and NumPy dst.
benchmarks/read_many_slices.py:64
Class
TimeRecreateDataset
benchmarks/replay.py:88
Class
TimeResize
Benchmark ResizePlan creation and execution. For the "from_array" state, enlarging also deep-copies the trimmed staged slabs, as in the resiz
benchmarks/staged_changes.py:310
Class
TimeSetItem
Benchmark SetItemPlan creation and execution
benchmarks/staged_changes.py:291
Class
TimeSetitemVsCreateDataset
One-element update + commit of a 1e7 float64 dataset, by creation method.
benchmarks/chunk_guessing.py:22
Class
TimeStrings
Benchmark for string dtypes
benchmarks/strings.py:6
Class
TimeWrappers
benchmarks/wrappers.py:6
Class
TransferType
versioned_hdf5/subchunk_map.py:856
Class
_MutatingBenchmark
Common settings for benchmarks that alter the state of the StagedChangesArray and so need setup() to run again before every call. asv runs se
benchmarks/staged_changes.py:260
Class
_ReplayBenchmark
Common setup for the benchmarks in this module.
benchmarks/replay.py:47