Numpy format (*.npy) serialization and deserialization.
NPY is a simple binary data format. It stores the type, shape and endianness information in a header, which is followed by a flat binary data field. This crate offers a simple, mostly type-safe way to read and write *.npy files. Files are handled using iterators, so they don't need to fit in memory.
To use npy-rs, two dependencies must be specified in
npy = "0.4" npy-derive = "0.4"
A typical way to import everything needed is:
#[macro_use] extern crate npy_derive; extern crate npy;
npy-derive dependency is only needed for
Data can now be imported from a
use npy::NpyData; std::fs::File::open("data.npy").unwrap().read_to_end(&mut buf).unwrap(); let data: Vec<f64> = NpyData::from_bytes(&buf).unwrap().to_vec();
and exported to a
See the documentation for more information.
Several usage examples are available in the examples directory; the simple example shows how to load a file, roundtrip shows both reading and writing. Large files can be memory-mapped as illustrated in the large example.