https://github.com/bird-house/threddsclient

Thredds catalog client.

https://github.com/bird-house/threddsclient

Science Score: 10.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 8 committers (12.5%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.4%) to scientific vocabulary

Keywords

python thredds thredds-catalogs

Keywords from Contributors

web-processing-service web-application remote-execution ogc pyramid wps ogc-api-processes ems cwl common-workflow-language
Last synced: 6 months ago · JSON representation

Repository

Thredds catalog client.

Basic Info
  • Host: GitHub
  • Owner: bird-house
  • License: apache-2.0
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 122 KB
Statistics
  • Stars: 5
  • Watchers: 13
  • Forks: 7
  • Open Issues: 1
  • Releases: 0
Fork of ScottWales/threddsclient
Topics
python thredds thredds-catalogs
Created over 10 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog

README.rst

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

|Travis Build| |Install with Conda| |Join the Chat|

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

Anaconda
--------

|Version-GitHub| |Version-Anaconda| |Version-PyPI| |Downloads|

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

.. code-block:: bash

    conda install -c conda-forge threddsclient

From PyPI
---------

Thredds Client is available from PyPI to install directly with ``pip`` or ``poetry``.

.. code-block:: bash

    pip install threddsclient


.. code-block:: bash

    poetry add threddsclient


From GitHub
-----------

Check out code from the birdy GitHub repo and start the installation:

.. code-block:: 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

Alternatively, you can also install it directly with ``pip`` using a virtual environment of your choice:

.. code-block:: bash

    pip install "threddsclient @ git+https://github.com/bird-house/threddsclient.git"


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

Read the Thredds tutorial on catalogs: `Thredds Catalog
Primer `__

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

.. code-block:: python

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

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

.. code-block:: python

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

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

Start reading a catalog

.. code-block:: python

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

Get a list of references to other catalogs & follow them

.. code-block:: python

        refs = cat.references

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

Get a list of datasets in this catalog

.. code-block:: python

        data  = cat.datasets

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

.. code-block:: python

        datasets = cat.flat_datasets()

Get flat list of all references in the catalog

.. code-block:: python

        references = cat.flat_references()

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

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

.. code-block:: 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:

.. code-block:: sh

    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 {NEW_VERSION} patch``
* Do it: ``bumpversion --new-version {NEW_VERSION} patch``
* Push it: ``git push --tags``

See the bumpversion_ documentation for details.

.. _bumpversion: https://pypi.org/project/bumpversion/

Examples with IPython Notebook
------------------------------

-  `NOAA Thredds
   Catalog `__

.. |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/conda-forge/threddsclient/badges/installer/conda.svg
   :target: https://anaconda.org/conda-forge/threddsclient
.. |License| image:: https://anaconda.org/conda-forge/threddsclient/badges/license.svg
   :target: https://anaconda.org/conda-forge/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-GitHub| image:: https://img.shields.io/github/v/release/bird-house/threddsclient?label=GitHub
   :target: https://github.com/bird-house/threddsclient/releases
.. |Version-Anaconda| image:: https://anaconda.org/conda-forge/threddsclient/badges/version.svg
   :target: https://anaconda.org/conda-forge/threddsclient
.. |Version-PyPI| image:: https://img.shields.io/pypi/v/threddsclient?color=blue
   :target: https://pypi.org/project/threddsclient/
.. |Downloads| image:: https://anaconda.org/conda-forge/threddsclient/badges/downloads.svg
   :target: https://anaconda.org/conda-forge/threddsclient

Owner

  • Name: bird-house
  • Login: bird-house
  • Kind: organization

Making Web Processing Services easy

GitHub Events

Total
  • Member event: 2
Last Year
  • Member event: 2

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 141
  • Total Committers: 8
  • Avg Commits per committer: 17.625
  • Development Distribution Score (DDS): 0.496
Past Year
  • Commits: 14
  • Committers: 4
  • Avg Commits per committer: 3.5
  • Development Distribution Score (DDS): 0.571
Top Committers
Name Email Commits
Carsten Ehbrecht e****t@d****e 71
Carsten Ehbrecht c****n@l****g 24
Scott Wales s****s@u****u 21
pingu p****u@n****h 14
Francis Charette Migneault f****t@g****m 6
David Caron d****n@c****a 2
Thomas Tilak t****k@g****m 2
steingod s****d@m****o 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 5
  • Total pull requests: 12
  • Average time to close issues: 7 months
  • Average time to close pull requests: 5 days
  • Total issue authors: 2
  • Total pull request authors: 6
  • Average comments per issue: 1.8
  • Average comments per pull request: 1.58
  • Merged pull requests: 11
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: 18 days
  • Issue authors: 0
  • Pull request authors: 3
  • Average comments per issue: 0
  • Average comments per pull request: 2.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • cehbrecht (4)
  • steingod (1)
Pull Request Authors
  • cehbrecht (6)
  • fmigneault (3)
  • davidcaron (1)
  • steingod (1)
Top Labels
Issue Labels
enhancement (3) bug (1)
Pull Request Labels
enhancement (2) bug (2)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 458 last-month
  • Total docker downloads: 9
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 9
    (may contain duplicates)
  • Total versions: 12
  • Total maintainers: 3
pypi.org: threddsclient

Thredds catalog client

  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 8
  • Downloads: 458 Last month
  • Docker Downloads: 9
Rankings
Docker downloads count: 3.9%
Dependent repos count: 5.2%
Average: 6.7%
Downloads: 7.7%
Dependent packages count: 10.0%
Last synced: 6 months ago
conda-forge.org: threddsclient
  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 1
Rankings
Dependent repos count: 23.2%
Average: 47.6%
Dependent packages count: 51.3%
Forks count: 53.2%
Stargazers count: 62.6%
Last synced: 7 months ago

Dependencies

.github/workflows/tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • fkirc/skip-duplicate-actions v5 composite
environment.yml pypi
requirements-dev.txt pypi
  • bumpversion * development
  • flake8 * development
  • pytest * development
  • pytest-cov * development
requirements.txt pypi
  • beautifulsoup4 *
  • lxml *
  • requests *
setup.py pypi