Metadata-Version: 2.1
Name: dapclient
Version: 0.1.0
Summary: A client-only fork of pydap using the DAP protocol to access scientific data on the internet.
Author-email: Tim Cera <tim@cerazone.net>
License: BSD-3-Clause
Project-URL: documentation, https://timcera.bitbucket.io/dapclient/docs/index.html#dapclient-documentation
Project-URL: github, https://github.com/timcera/dapclient
Project-URL: bitbucket, https://bitbucket.org/timcera/dapclient/src/main/
Keywords: time-series,cli-app,aggregate,fill,filter
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Developers
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Description-Content-Type: text/x-rst
Provides-Extra: dev
License-File: LICENSE.txt

.. image:: https://github.com/timcera/dapclient/actions/workflows/python-package.yml/badge.svg
    :alt: Tests
    :target: https://github.com/timcera/dapclient/actions/workflows/python-package.yml
    :height: 20

.. image:: https://img.shields.io/coveralls/github/timcera/dapclient
    :alt: Test Coverage
    :target: https://coveralls.io/r/timcera/dapclient?branch=master
    :height: 20

.. image:: https://img.shields.io/pypi/v/dapclient.svg
    :alt: Latest release
    :target: https://pypi.python.org/pypi/dapclient/
    :height: 20

.. image:: http://img.shields.io/pypi/l/dapclient.svg
    :alt: BSD-3 clause license
    :target: https://pypi.python.org/pypi/dapclient/
    :height: 20

.. image:: http://img.shields.io/pypi/dd/dapclient.svg
    :alt: dapclient downloads
    :target: https://pypi.python.org/pypi/dapclient/
    :height: 20

.. image:: https://img.shields.io/pypi/pyversions/dapclient
    :alt: PyPI - Python Version
    :target: https://pypi.org/project/dapclient/
    :height: 20

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
  * 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 has no tests since pydap uses
the server for it's 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). After [installing
pip](http://www.pip-installer.org/en/latest/installing.html) you can
install dapclient with this command::

    $ pip install dapclient

Also maintained on my [conda channel](https://anaconda.org/timcera/dapclient)::

    $ conda install -c timcera 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).
