Skip to content

Client only fork of pydap to use Data Access Protocol to access scientific data on the internet

License

Notifications You must be signed in to change notification settings

timcera/dapclient

Repository files navigation

Tests Test Coverage Latest release BSD-3 clause license dapclient downloads PyPI - Python Version

dapclient - Quick Guide

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.

Why fork pydap?

  • 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.

Quickstart

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).

About

Client only fork of pydap to use Data Access Protocol to access scientific data on the internet

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages