Thredds catalog client
Project description
=========================
Thredds Client for Python
=========================
|Travis Build| |Install with Conda| |Join the Chat|
Installing Thredds Client
=========================
Anaconda
--------
|Version| |Downloads|
Thredds client is available as Anaconda package. Install it with the
following command:
.. code:: bash
$ conda install -c birdhouse -c conda-forge threddsclient
From github
-----------
Check out code from the birdy GitHub repo and start the installation:
.. code:: bash
$ git clone https://github.com/bird-house/threddsclient.git
$ cd threddsclient
$ conda env create -f environment.yml
$ source activate 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
Development
===========
Install sources
===============
Check out code from the birdy GitHub repo and start the installation:
.. code-block:: sh
$ git clone https://github.com/bird-house/threddsclient.git
$ cd threddsclient
$ conda env create -f environment.yml
$ python setup.py develop
Install additional dependencies::
$ conda install pytest flake8 sphinx bumpversion
OR
$ pip install -r requirements_dev.txt
Bump a new version
===================
Make a new version of Birdy in the following steps:
* Make sure everything is commit to GitHub.
* Update ``CHANGES.rst`` with the next version.
* Dry Run: ``bumpversion --dry-run --verbose --new-version 0.3.4 patch``
* Do it: ``bumpversion --new-version 0.3.4 patch``
* ... or: ``bumpversion --new-version 0.4.0 minor``
* Push it: ``git push --tags``
See the bumpversion_ documentation for details.
.. _bumpversion: https://pypi.org/project/bumpversion/
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
.. |Join the Chat| image:: https://badges.gitter.im/bird-house/birdhouse.svg
:target: https://gitter.im/bird-house/birdhouse?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
.. |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
Authors
*******
* Scott Wales scott.wales@unimelb.edu.au
* Carsten Ehbrecht ehbrecht@dkrz.de
Changes
*******
0.3.5 (2018-10-05)
==================
* support for Python 3.x (#1)
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.
Thredds Client for Python
=========================
|Travis Build| |Install with Conda| |Join the Chat|
Installing Thredds Client
=========================
Anaconda
--------
|Version| |Downloads|
Thredds client is available as Anaconda package. Install it with the
following command:
.. code:: bash
$ conda install -c birdhouse -c conda-forge threddsclient
From github
-----------
Check out code from the birdy GitHub repo and start the installation:
.. code:: bash
$ git clone https://github.com/bird-house/threddsclient.git
$ cd threddsclient
$ conda env create -f environment.yml
$ source activate 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
Development
===========
Install sources
===============
Check out code from the birdy GitHub repo and start the installation:
.. code-block:: sh
$ git clone https://github.com/bird-house/threddsclient.git
$ cd threddsclient
$ conda env create -f environment.yml
$ python setup.py develop
Install additional dependencies::
$ conda install pytest flake8 sphinx bumpversion
OR
$ pip install -r requirements_dev.txt
Bump a new version
===================
Make a new version of Birdy in the following steps:
* Make sure everything is commit to GitHub.
* Update ``CHANGES.rst`` with the next version.
* Dry Run: ``bumpversion --dry-run --verbose --new-version 0.3.4 patch``
* Do it: ``bumpversion --new-version 0.3.4 patch``
* ... or: ``bumpversion --new-version 0.4.0 minor``
* Push it: ``git push --tags``
See the bumpversion_ documentation for details.
.. _bumpversion: https://pypi.org/project/bumpversion/
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
.. |Join the Chat| image:: https://badges.gitter.im/bird-house/birdhouse.svg
:target: https://gitter.im/bird-house/birdhouse?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
.. |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
Authors
*******
* Scott Wales scott.wales@unimelb.edu.au
* Carsten Ehbrecht ehbrecht@dkrz.de
Changes
*******
0.3.5 (2018-10-05)
==================
* support for Python 3.x (#1)
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
Release history Release notifications | RSS feed
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.5.tar.gz
(15.4 kB
view hashes)