Skip to main content

Thredds catalog client

Project description

=========================
Thredds Client for Python
=========================

|Travis Build| |Install with Conda|

Installing Thredds Client
=========================

Anaconda
--------

|Binstar Build| |Version| |Downloads|

Thredds client is available as Anaconda package. Install it with the
following command:

.. code:: bash

$ conda install -c birdhouse threddsclient

From github
-----------

Prepare a conda environment with the Python dependencies and activate
it:

.. code:: bash

$ conda create python=2.7 lxml beautiful-soup requests -n threddsclient
$ source activate threddsclient

Clone the threddslclient github repo and install the Python module:

.. code:: bash

$ git clone https://github.com/bird-house/threddsclient.git
$ cd threddsclient
$ python setup.py develop

Using Thredds Client
====================

Read the Thredds tutorial on catalogs: `Thredds Catalog
Primer <http://www.unidata.ucar.edu/software/thredds/current/tds/tutorial/CatalogPrimer.html>`__

Get download URLs of a catalog
------------------------------

.. code:: python

import threddsclient
urls = threddsclient.download_urls('http://example.com/thredds/catalog.xml')

Get OpenDAP URLs of a catalog
-----------------------------

.. code:: python

import threddsclient
urls = threddsclient.opendap_urls('http://example.com/thredds/catalog.xml')

Navigate in catalog
-------------------

Start reading a catalog

.. code:: python

import threddsclient
cat = threddsclient.read_url('http://example.com/thredds/catalog.xml')

Get a list of references to other catalogs & follow them

.. code:: python

refs = cat.references

print refs[0].name
cat2 = refs[0].follow()

Get a list of datasets in this catalog

.. code:: python

data = cat.datasets

Get flat list of all direct datasets (data files) in the catalog

.. code:: python

datasets = cat.flat_datasets()

Get flat list of all references in the catalog

.. code:: python

references = cat.flat_references()

Crawl thredds catalog
---------------------

Crawl recursive all direct datasets in catalog following the catalog
references. Stop recusion at a given depth level.

.. code:: python

import threddsclient
for ds in threddsclient.crawl('http://example.com/thredds/catalog.xml', depth=2):
print ds.name


Examples with IPython Notebook
==============================

- `NOAA Thredds
Catalog <http://nbviewer.ipython.org/github/bird-house/threddsclient/blob/master/examples/noaa_example.ipynb>`__

.. |Travis Build| image:: https://travis-ci.org/bird-house/threddsclient.svg?branch=master
:target: https://travis-ci.org/bird-house/threddsclient
.. |Install with Conda| image:: https://anaconda.org/birdhouse/threddsclient/badges/installer/conda.svg
:target: https://anaconda.org/birdhouse/threddsclient
.. |License| image:: https://anaconda.org/birdhouse/threddsclient/badges/license.svg
:target: https://anaconda.org/birdhouse/threddsclient
.. |Binstar Build| image:: https://anaconda.org/birdhouse/threddsclient/badges/build.svg
:target: https://anaconda.org/birdhouse/threddsclient
.. |Version| image:: https://anaconda.org/birdhouse/threddsclient/badges/version.svg
:target: https://anaconda.org/birdhouse/threddsclient
.. |Downloads| image:: https://anaconda.org/birdhouse/threddsclient/badges/downloads.svg
:target: https://anaconda.org/birdhouse/threddsclient
/n/nChanges
*******


0.3.4 (2015-10-25)
==================

* fixed travis build/tests
* updated docs

0.3.3 (2015-10-24)
==================

* converted docs to rst.
* MANIFEST.in added.

0.3.2 (2015-07-15)
==================

* append catalog.xml to catalog url if missing
* crawl method added

0.3.1 (2015-06-14)
==================

* fixed catalog.follow()
* using dataset.download_url()
* added ipython example
* cleaned up Readme

0.3.0 (2015-06-13)
==================

* Refactored
* added catalog.opendap_urls()

0.2.0 (2015-06-08)
==================

* Refactored
* using CollectionDataset
* added catalog.download_urls()

0.1.1 (2015-06-05)
==================

* Fixed catalog generation.
* added pytest dependency.

0.1.0 (2015-03-13)
==================

* Version by https://github.com/ScottWales/threddsclient.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

threddsclient-0.3.4.tar.gz (14.6 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page