API reference#

Everything documented here is importable from the top-level h5col package, which is the intended way to use the library. The pages group the public API by topic; each entry’s full documentation, including the exceptions it can raise, is generated from the docstrings in the source.

At a glance#

Tables and columns:

h5col.Table(group)

A H5Col column-oriented table backed by an HDF5 group.

h5col.Column(dataset, table)

One column of a H5Col table, wrapping its rank-1 HDF5 dataset.

h5col.ListColumn(group, table)

One list column of a H5Col table, wrapping its CLASS=LIST_COLUMN group.

Write-side specifications:

h5col.TableSpec(*, columns, title, ...)

Specification of a whole table: its columns and table-level attributes.

h5col.ColumnSpec(*, name[, dtype, chunks, ...])

Specification of one column dataset.

h5col.ListColumnSpec(*, name, values[, ...])

Specification of a list column (a CLASS=LIST_COLUMN group).

h5col.LeafValuesSpec(*, dtype[, chunks, ...])

A leaf VALUES member of a list column: a rank-1 element dataset.

h5col.StringValuesSpec(*[, nullable, ...])

A STRING_VALUES member: variable-length UTF-8 via OFFSETS + CHARS.

h5col.NestedListSpec(*, values[, nullable, ...])

A nested LIST_COLUMN level: its VALUES member plus this level's mask.

Column datatypes:

h5col.FixedString(nbytes[, encoding])

A fixed-length HDF5 string datatype of nbytes bytes.

h5col.ascii_token_dtype(value)

Return a fixed-length ASCII string dtype sized to hold value plus a NUL.

h5col.bool_dtype()

Return the H5Col boolean dtype (enum over little-endian signed int8).

h5col.is_bool_dtype(dtype)

Return True if dtype is an acceptable H5Col boolean datatype.

h5col.encode_bool(values)

Encode a boolean/0-1 array-like to an int8 array of codes.

h5col.decode_bool(values)

Decode stored integer codes to a NumPy boolean array.

Filters:

h5col.FilterPipeline([filters])

An ordered, immutable sequence of Filter entries.

h5col.Filter(plugin_id[, cd_values, ...])

One entry of a filter pipeline.

h5col.Deflate([level])

The built-in deflate compression filter (HDF5's H5Z_FILTER_DEFLATE).

h5col.Shuffle()

The built-in byte-shuffle filter.

h5col.Fletcher32()

The built-in Fletcher-32 checksum filter.

h5col.from_hdf5plugin(obj)

Adapt an hdf5plugin filter instance to a Filter.

Missing values:

h5col.recommended_fill(dtype)

Return H5Col's recommended fill value for dtype.

h5col.is_missing(values, fill_value)

Apply the canonical missing-value test element-wise.

h5col.validate_fill_outside_range(fill[, ...])

Check that fill lies strictly outside [valid_min, valid_max].

Search indexes:

h5col.SearchIndex(dataset, table[, column_ds])

One search-index dataset of a table, wrapping its HDF5 dataset.

h5col.ChunkMinMaxIndex(dataset, table[, ...])

A CHUNK_MINMAX zone map: per-chunk min/max plus missing counts.

h5col.SortedRowsIndex(dataset, table[, ...])

A SORTED_ROWS permutation: row positions in sorted-value order.

h5col.BitmapIndex(dataset, table[, column_ds])

A BITMAP: per-value packed row bitmaps for equality predicates.

The query layer:

h5col.field(name)

Reference a column by name for building query Expression objects.

h5col.Expression(node)

A boolean combination of predicates, built by field() + & | ~.

h5col.Selection(table, expr)

A lazy, composable row selection over a table.

h5col.QueryPlan(nrows, terms, matched)

Machine-readable explanation of how a Selection was evaluated.

The exception family is on its own page, and the low-level submodules (h5col.indexes, h5col.lists, h5col.missing, h5col.ordering, h5col.references, h5col.reserved) on theirs.