dapclient is a client-only fork of the venerable pydap. It implements the Opendap/DODS protocol. You can use dapclient to access scientific data on the internet without having to download it; instead, you work with special array and iterable objects that download data on-the-fly as necessary, saving bandwidth and time.
- Simplify the codebase by remove the server side code
- Update the code to use modern python 3.8+
- Up-to-date pypi and conda packages
This version has no additional features, and it only has a few tests. My immediate goal is to have pip and conda packages to support my tsgettoolbox package. I will add tests and features as time (and pull requests!) allow.
You can install the latest version using [pip](http://pypi.python.org/pypi/pip) or conda.
$ pip install dapclient
Also maintained on the conda-forge channel [conda channel](https://anaconda.org/conda-forge/dapclient):
$ conda install -c conda-forge dapclient
This will install dapclient together with all the required dependencies. You can now open any remotely served dataset, and dapclient will download the accessed data on-the-fly as needed:
>>> from dapclient.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.dtype dtype('>f4') >>> data = var[0,10:14,10:14] # this will download data from the server >>> data <GridType with array 'SST' and maps 'TIME', 'COADSY', 'COADSX'> >>> print(data.data) [array([[[ -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]]], dtype=float32), array([ 366.]), array([-69., -67., -65., -63.]), array([ 41., 43., 45., 47.])]
For more information, please check the documentation on [using dapclient as a client](https://timcera.bitbucket.io/dapclient/client.html).