Pupynere is an implementation of a NetCDF library in pure Python. It’s not really pure Python, since it uses the mmap module from Python, but Pupynere itself is written in only a few hundred lines of code.
The name, short for Pure Python NetCDF Reader came to me while showing the module usage to a friend, and I grew fond of it. I’m currently implementing write support in Pupynere, but the name shall remain the same, sorry.
Pupynere implements the widely used Scientific.IO.NetCDF API, used also in pynetcdf and PyNIO. A quick example:
>>> from pupynere import NetCDFFile
>>> f = nc('example.nc', 'w')
>>> f.createDimension('time', 12)
>>> time = f.createVariable('time', 'i', ('time',))
>>> time[:] = arange(12)
>>> f.close()
The latest code is available from a Mercurial repository at http://dealmeida.net/hg/pupynere/, though write support is still not complete. The latest stable version is available at PyPI, is also distributed as scipy.io.netcdf in the svn Scipy.
Update: I just released Pupynere 1.0, works like a charm!