Neuroscience information exchange format
C++ Other
Latest commit b691e7b Sep 14, 2016 @jgrewe jgrewe committed on GitHub Merge pull request #629 from mpsonntag/usendsize
lgtm, very nice
Failed to load latest commit information.
backend [ISource] return parentBlock Aug 9, 2016
cli [cli] Dump: abs → std::abs Nov 27, 2015
cmake [cmake] add find yaml-cpp script Dec 15, 2015
include [Dimensions] move from size_t to ndsize_t Sep 14, 2016
src [Dimensions] move from size_t to ndsize_t Sep 14, 2016
test [TestSource] include test case for parent source Aug 10, 2016
.appveyor.ctest [appveyor] add .appveyor.ctest Jan 29, 2015
.dir-locals.el Add .dir-locals.el with tab settings for Emacs Feb 2, 2014 [ctest] Add ctest continuous integration script for unix Feb 20, 2014
.gitignore Add kdevelop files to .gitignore May 5, 2014 [cdash] attach travis configuration to the submission Feb 16, 2014
.travis.ctest [travis] BUILD_NUMBER → JOB_NUMBER Feb 3, 2016
.travis.yml [travis] enable fs backend also for osx builds Feb 3, 2016
.unix.ctest [CTest] unix: Re-enable submission by default Apr 18, 2014
.valgrind.supp [CTest+valgrind] Add suppression file for HDF5 leaks Apr 18, 2014
CMakeLists.txt [cmake] Add "C" as a project langauge Aug 3, 2016
CTestConfig.cmake [cdash] move to own site ( Feb 17, 2014 Minor typo error Mar 16, 2016 Documentation: some tweaks in Jun 12, 2014
LICENSE LICENSE: changed to BSD 3-clause Nov 12, 2015
LICENSE.h5py DataSet::guessChunking: add function (port from h5py) Apr 24, 2013 Minor typo error Mar 16, 2016 nix/ Typo Error Mar 10, 2016
dump_plot.gnu the new default dump plot file Sep 12, 2014 nix.pc: cflags include dir to */include/nix Jul 18, 2014
nix_logo.pdf replace logos Jan 25, 2016
nix_logo.png replace logos Jan 25, 2016
nix_logo.svg add svg version of logo Jan 25, 2016 Update Jan 27, 2016

Build Status Build status Coverage Status

About NIX

The NIX project (previously called Pandora) started as an initiative of the Electrophysiology Task Force which is part of the INCF Data sharing Program. As such the project aims to develop standardized methods and models for storing electrophysiology and other neuroscience data together with their metadata in one common file format based on HDF5.

See the wiki for more information

Development Status

The NIX project is now in a Beta stage and should not be seen as a final product. However, the data model as well as the HDF schema and the C++ api are feature complete and should undergo little to no changes in the future.

Getting Started (Linux)

Debian PPA

You can get a ready to install package for Ubuntu "trusty". You have to add & install the following software source to your system:

deb trusty main
deb-src trusty main

by executing

sudo add-apt-repository ppa:gnode/nix
sudo apt-get update
sudo apt-get install libnix-dev

Build NIX under Ubuntu 14.04


In order to build the NIX library a recent C++11 compatible compiler is needed (g++ >= 4.8, clang >= 3.4) as well as the build tool CMake (>= 2.8.9). Further nix depends on the following third party libraries:

  • HDF5 (version 1.8.13 or higher)
  • Boost (version 1.49 or higher)
  • CppUnit (version 1.12.1 or higher)


# 1 install dependencies
sudo apt-get install libboost-all-dev libhdf5-serial-dev libcppunit-dev cmake build-essential

**Note:** If the standard version of the boost libraries in your distribution is less than 1.49,
# manually install a version larger than 1.49 from the launchad (

# 2 clone NIX
git clone
cd nix

# 3 make a build dir and build nix
mkdir build
cd build
cmake ..
make all

# 4 run the unit tests

# 5 install
sudo make install

In case building nix fails because libboost-*** libraries are not found try the following:

# 3 make a build dir and build nix
mkdir build
cd build
cmake -DBoost_NO_BOOST_CMAKE=TRUE ..
make all

NIX with Docker

To develop with NIX inside the Linux Container system Docker you can use the images available under the balint42/nix repository on the public Docker Hub. Further instructions on how to use the images are on the Docker repository. Further instructions for Docker can be found on their site.

Getting Started (MacOS X)

The easiest way to get NIX is via homebrew. We are included in homebrew science as nixio. Install nix, including missing dependencies, with:

brew install homebrew/science/nixio

# OR: tap into homebrew-science
brew tap homebrew/science
brew install nixio

# If you want the latest development version:
# NB: replace 'install', with 'reinstall' to upgrade
#     an existing installation
brew install --HEAD nixio

Getting Started (Windows)

Windows Installer

You can get a windows installer for both, 32- and 64-bit.

Build NIX under Windows

To build NIX under windows follow the guide provided under:

NIX API Documentation

The API documentation can be found here

NIX Tutorials

If you want to learn about the features of the NIX data model and how it can be used to represent various kinds of data you may want to check out the tutorials. We have assembled a set of tutorial here using the python wrapper.