Pydap is a pure Python library implementing the Data Access Protocol, also known as DODS or OPeNDAP. You can use Pydap as a client to access hundreds of scientific datasets in a transparent and efficient way through the internet; or as a server to easily distribute your data from a variety of formats.
$ pip install Pydap
This will install Pydap together with all the required dependencies. You can now open any remotely served dataset, and Pydap will download the accessed data on-the-fly as needed:
>>> from pydap.client import open_url >>> dataset = open_url('http://test.opendap.org/dap/data/nc/coads_climatology.nc') >>> var = dataset['SST'] >>> var.shape (12, 90, 180) >>> var.type <class 'pydap.model.Float32'> >>> print var[0,10:14,10:14] # this will download data from the server <class 'pydap.model.GridType'> with data [[[ -1.26285708e+00 -9.99999979e+33 -9.99999979e+33 -9.99999979e+33] [ -7.69166648e-01 -7.79999971e-01 -6.75454497e-01 -5.95714271e-01] [ 1.28333330e-01 -5.00000156e-02 -6.36363626e-02 -1.41666666e-01] [ 6.38000011e-01 8.95384610e-01 7.21666634e-01 8.10000002e-01]]] and axes [ 366.] [-69. -67. -65. -63.] [ 41. 43. 45. 47.]
For more information, please check the documentation on using Pydap as a client. Pydap also comes with a simple server, implemented as a WSGI application. To use it, you first need to install a data handler:
$ pip install pydap.handlers.netcdf
$ paster create -t pydap myserver
To run the server just issue the command:
$ paster serve ./myserver/server.ini
This will start a standalone server running on http://localhost:8001/, serving netCDF files from ./myserver/data/, similar to the test server at http://test.pydap.org/. Since the server uses the WSGI standard, it can easily be run behind Apache. The server documentation has more information on how to better deploy Pydap.