> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.conductorquantum.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.conductorquantum.com/_mcp/server.

# stanza.logger.writers.hdf5_writer



## Module Contents

### Classes

| Name | Description |
|------|-------------|
| [`HDF5Writer`](#stanzaloggerwritershdf5_writerhdf5writer) | Writer for HDF5 files. |

### Data

`logger`

### API

```python
stanza.logger.writers.hdf5_writer.logger
```

**Value**: `getLogger(...)`


```python
class stanza.logger.writers.hdf5_writer.HDF5Writer(base_directory: str | pathlib.Path, compression: str | None = None, compression_level: int | None = None)
```

**Bases**: `stanza.logger.writers.base.AbstractDataWriter`

Writer for HDF5 files.

```python
initialize_session(session: stanza.logger.datatypes.SessionMetadata) -> None
```

Initialize the writer for a new session.

**Parameters:**

<ParamField path="session" type="stanza.logger.datatypes.SessionMetadata">
  Session metadata to write
</ParamField>

**Raises:**

WriterError: If session is already initialized or file creation fails


```python
finalize_session(session: stanza.logger.datatypes.SessionMetadata | None = None) -> None
```

Finalize the writer for a session.

**Parameters:**

<ParamField path="session" type="stanza.logger.datatypes.SessionMetadata | None">
  Optional updated session metadata to write
</ParamField>

**Raises:**

WriterError: If no active session or finalization fails


```python
write_measurement(measurement: stanza.logger.datatypes.MeasurementData) -> None
```

Write a single measurement data point.

**Parameters:**

<ParamField path="measurement" type="stanza.logger.datatypes.MeasurementData">
  Measurement data to write
</ParamField>

**Raises:**

WriterError: If no active session or write operation fails


```python
write_sweep(sweep: stanza.logger.datatypes.SweepData) -> None
```

Write sweep data to HDF5 file.

**Parameters:**

<ParamField path="sweep" type="stanza.logger.datatypes.SweepData">
  Sweep data to write
</ParamField>

**Raises:**

WriterError: If no active session or write operation fails


```python
flush() -> None
```

Flush data to disk.

**Raises:**

WriterError: If flush operation fails


```python
_create_dataset(
    group: h5py.Group,
    name: str,
    data: numpy.ndarray
) -> None
```

Create a dataset with the configured compression settings.


```python
_unique_child_name(
    group: h5py.Group, base: str
) -> str
```

Return a unique child name within a group based on base.

If `base` exists, returns `base_{n}` with the smallest available n.