NumPy .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.
| Field | Script | Units | First value |
|---|---|---|---|
| Ω_resistance_ohm | Greek capital omega | ohm | 10.0 |
| θ_angle_rad | Greek theta | rad | 0.0 |
| 温度_K | CJK | K | 273.15 |
Specifications
- Npy Version
- 3.0
- Fields
- 3
- Records
- 5
- Header Encoding
- UTF-8 (1.0 and 2.0 use latin-1)
- Field Names
- Ω_resistance_ohm, θ_angle_rad, 温度_K
- Reason
- field names outside latin-1 require version 3.0
Testing contract
Expected to pass- Scenario
- Read the version bytes, decode the header as UTF-8, and list the field names of the structured dtype.
- Expected result
- The version reads 3.0 and the three field names decode as 'Ω_resistance_ohm', 'θ_angle_rad' and '温度_K'; a latin-1 decode produces mojibake such as 'Ω_resistance_ohm'.
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 Format Version 3.0 — UTF-8 Field Names (.npy)” is a deterministic Novus Examples fixture for Scientific data, Serialization testing, Encoding detection. 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: 5 records · 3 fields. 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.
Related files
- h5HDF5 Strings — Fixed, Variable-Length and UTF-8 (.h5)Fixed-width byte strings, variable-length UTF-8 strings and UTF-8 attribute text in one file, including Greek, CJK and combining diacritics. HDF5 hands fixed-width strings back as padded bytes and variable-length ones as decoded text, and conflating the two is where string handling usually breaks.

- 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.

- npyNumPy .npy — float16 at Its Limits (.npy)Every structurally interesting float16 value in one array: one plus epsilon, the largest finite value, the smallest normal and subnormal, negative zero, infinity and a NaN. It is the compact half-precision counterpart to the float32 and float64 boundary fixtures.

Generated by generation/scientific.py. Free for any use, no attribution required — license.