NumPy .npy: float64 2-D Grid (.npy)
The baseline .npy fixture: a 12x8 float64 array in version 1.0 format with a little-endian descriptor and the header padded to the mandatory 64-byte alignment. Every other array in this family varies exactly one property away from it.
| Field | Value |
|---|---|
| dtype | float64 |
| descr in header | <f8 |
| shape | (12, 8) |
| fortran_order | False |
| elements | 96 |
| npy format version | 1.0 (2-byte header length) |
| Header alignment | 64 bytes, including the magic |
| value[0][0] | np.float64(0.0) |
| value[11][7] | np.float64(9.0) |
Specifications
- Npy Version
- 1.0
- Dtype
- float64
- Shape
- 12 x 8
- Elements
- 96
- Byte Order
- little-endian
- Fortran Order
- false
- Header Alignment
- 64
Testing contract
Expected to pass- Scenario
- Parse the .npy header without numpy. Read the magic, version, header length and the dict literal that follows.
- Expected result
- The magic is \x93NUMPY, the version bytes are 1 and 0, the header dict declares descr '<f8', fortran_order False and shape (12, 8), and the data begins on a 64-byte boundary.
What is a .npy file?
NPY is NumPy's native binary format for a single array. A short header records the dtype, shape, and memory order, followed by the raw array bytes, so an array round-trips exactly without any text parsing. It is the standard way to persist embeddings, tensors, and numeric matrices in the Python data stack.
How to use this file
Use an example .npy to test array loaders (numpy.load), tensor and embedding pipelines, and converters between .npy, JSON, and columnar formats like Parquet.
How to use this file for testing
“NumPy .npy: float64 2-D Grid (.npy)” is a deterministic Testaroo fixture for Scientific data, Serialization testing. Citation catalogs (BibTeX, RIS), chemistry structures (MDL Molfile, PDB), and gridded binary data (NetCDF, FITS), for testing reference managers, molecule viewers, and scientific-data loaders.
Documented properties for this file: NPY · 896 bytes. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such, expect parsers to fail loudly rather than silently accept them.
Scientific fixtures are small, valid, and fully synthetic, no real organism, patient, sample, or observation. Point your parser or loader at the file and check it reads the documented records, variables, or headers; binary formats ship a readable twin or metadata listing for comparison.
Generated by generation/scientific.py. Free for any use, no attribution required, license.
Related files
- npyNumPy .npy Format Version 2.0: Header Beyond 64 KiB (.npy)A 300-field structured array whose descriptor is too long for a version 1.0 header, forcing format version 2.0 and its four-byte header-length field. A hand-rolled parser that assumes the two-byte 1.0 field mis-locates the data section entirely.

- npyNumPy .npy Format Version 3.0: UTF-8 Field Names (.npy)A structured array whose field names use Greek and CJK characters, which is the only reason format version 3.0 exists: its header is UTF-8 where 1.0 and 2.0 are latin-1. A parser that decodes the header as latin-1 mangles all three names.

- npyNumPy .npy: Boolean Mask (.npy)A 6x10 boolean mask stored as one byte per element, because .npy does not bit-pack booleans however tempting that assumption is. The True cells follow a simple divisible-by-three rule so a mis-decode is obvious rather than plausible.

- npyNumPy .npy: C Order (Row-Major) (.npy)A 4x6 matrix of 0..23 stored row-major, so the byte sequence begins with the first row. It is one half of a memory-order pair that is indistinguishable from its twin unless the header's fortran_order flag is honoured.

- npyNumPy .npy: complex128 Spectrum (.npy)The real FFT of a 64-sample sine stored as complex128, where each element is an interleaved pair of doubles rather than two separate planes. Readers without a complex type usually flatten it, which doubles the reported length and shifts the peak bin.

- npyNumPy .npy: datetime64 Seconds Since the Epoch (.npy)Five timestamps stored as datetime64 with second resolution, where the unit is part of the dtype descriptor and the values on disk are plain int64 epoch seconds. Dropping the unit turns 2026-01-01 into the integer 1767225600 without any complaint.
