Input/Output routines for reading images, audio, and NumPy npz files for the xtensor C++ multi-dimensional array library.


xtensor-io offers bindings to popular open source libraries for reading and writing

  • Images with OpenImageIO (many supported formats, among others: jpg, png, gif, tiff, bmp …)

  • Sound files with libsndfile (supports wav, ogg files)

  • NumPy compressed file format (npz). Note: support for uncompressed NumPy files (npy) is available in core xtensor.

  • Geospatial rasters with GDAL (many supported formats)

Enabling xtensor-io in your C++ libraries

xtensor and xtensor-io require a modern C++ compiler supporting C++14. The following C++ compilers are supported:

  • On Windows platforms, Visual C++ 2015 Update 2, or more recent

  • On Unix platforms, gcc 4.9 or a recent version of Clang


We use a shared copyright model that enables all contributors to maintain the copyright on their contributions.

This software is licensed under the BSD-3-Clause license. See the LICENSE file for details.