# VinOfflineStoreReader { #aria_nbv.data_handling._offline_store.VinOfflineStoreReader }```pythondata_handling._offline_store.VinOfflineStoreReader(config)```Read immutable VIN offline datasets with Zarr-backed random access.## Methods| Name | Description || ---| ---||[get_split_records](#aria_nbv.data_handling._offline_store.VinOfflineStoreReader.get_split_records)| Return index records for the requested split. ||[read_numeric_block](#aria_nbv.data_handling._offline_store.VinOfflineStoreReader.read_numeric_block)| Read one numeric block row for a sample. ||[read_optional_record](#aria_nbv.data_handling._offline_store.VinOfflineStoreReader.read_optional_record)| Read one optional per-row diagnostic record. |### get_split_records { #aria_nbv.data_handling._offline_store.VinOfflineStoreReader.get_split_records }```pythondata_handling._offline_store.VinOfflineStoreReader.get_split_records(split)```Return index records for the requested split.#### Parameters {.doc-section .doc-section-parameters}| Name | Type | Description | Default ||--------|--------|----------------------------------------------------------|------------|| split | str | Split name such as ``"all"``, ``"train"``, or ``"val"``. | _required_ |#### Returns {.doc-section .doc-section-returns}| Name | Type | Description ||--------|-------------------------------|--------------------------------------||| list\[VinOfflineIndexRecord\]| Ordered index records for the split. |### read_numeric_block { #aria_nbv.data_handling._offline_store.VinOfflineStoreReader.read_numeric_block }```pythondata_handling._offline_store.VinOfflineStoreReader.read_numeric_block( record, block_name,)```Read one numeric block row for a sample.#### Parameters {.doc-section .doc-section-parameters}| Name | Type | Description | Default ||------------|-----------------------|-----------------------------|------------|| record | VinOfflineIndexRecord | Global sample-index record. | _required_ || block_name | str | Logical block name. | _required_ |#### Returns {.doc-section .doc-section-returns}| Name | Type | Description ||--------|------------|------------------------------------------------||| np.ndarray | NumPy array view for the requested sample row. |### read_optional_record { #aria_nbv.data_handling._offline_store.VinOfflineStoreReader.read_optional_record }```pythondata_handling._offline_store.VinOfflineStoreReader.read_optional_record( record, block_name,)```Read one optional per-row diagnostic record.#### Parameters {.doc-section .doc-section-parameters}| Name | Type | Description | Default ||------------|-----------------------|-----------------------------|------------|| record | VinOfflineIndexRecord | Global sample-index record. | _required_ || block_name | str | Logical block name. | _required_ |#### Returns {.doc-section .doc-section-returns}| Name | Type | Description ||--------|-------------|-------------------------------------------||| Any \| None | Stored per-row Python object or ``None``. |