Save and load NumPy npy
and npz
files in Ruby - no Python required
🔥 Uses Numo for blazing performance
Add this line to your application’s Gemfile:
gem "npy"
npy
files contain a single array
Save an array
x = Numo::Int32[0..9]
Npy.save("x.npy", x)
Load an npy
file
x = Npy.load("x.npy")
Load an npy
string
byte_str = File.binread("x.npy")
x = Npy.load_string(byte_str)
npz
files contain multiple arrays
Save multiple arrays
x = Numo::Int32[0..9]
y = x * 2
Npy.save_npz("data.npz", x: x, y: y)
Load an npz
file
data = Npy.load_npz("data.npz")
Get keys
data.keys
Get an array
data["x"]
Arrays are lazy loaded for performance
View the changelog
Everyone is encouraged to help improve this project. Here are a few ways you can help:
- Report bugs
- Fix bugs and submit pull requests
- Write, clarify, or fix documentation
- Suggest or add new features
To get started with development:
git clone https://github.com/ankane/npy.git
cd npy
bundle install
bundle exec rake test