NumPy arrays ============ Install ``pipewhy[numpy]`` for local NumPy array support. The initial adapter accepts one- or two-dimensional signed and unsigned 64-bit integer, 64-bit floating-point and boolean arrays, including noncontiguous views. Schema field IDs, dimension, dtype and byte order are explicit. Boolean arrays use the ``not-applicable`` byte-order policy and must use canonical 0 or 1 bytes. Masked, structured, object and other dtypes are rejected by this basic array source. NumPy dtype metadata is also rejected until its semantics are declared. Strict normalization preserves NaN payloads and signed zero; logical normalization treats equivalent NaNs and zeros alike. .. code-block:: python from pathlib import Path import numpy as np from pipewhy.adapters.numpy import NumpySource from pipewhy.cli.capture import scan_source from pipewhy.formats import NumpyLimits, NumpySchema, numpy_source_version from pipewhy.snapshots import LocalSnapshotStore values = np.array([[1, 2], [3, 4]], dtype="f8")]) schema = NumpyStructuredSchema((NumpyStructuredField(0, "id", "int64", "little"), NumpyStructuredField(1, "score", "float64", "big"))) source = NumpyStructuredSource("measurements", values, schema, limits) version = numpy_structured_source_version(values, schema=schema, limits=limits) snapshot = scan_source(source, LocalSnapshotStore(Path("snapshots")), version) Field names and layouts are part of the schema identity. The same bounded staging, mutation detection and offline snapshot behavior apply.