pycax

Python client for the CAX API. Holmes, E. E and M. Williams. 2023. pycax: a Python client for the Coordinated Assessments data exchange REST API

https://github.com/noaa-nwfsc/pycax

Science Score: 51.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    1 of 1 committers (100.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.6%) to scientific vocabulary

Keywords

nwfsc-cb nwfsc-cb-mathbio python python-package rest-api salmon
Last synced: 4 months ago · JSON representation ·

Repository

Python client for the CAX API. Holmes, E. E and M. Williams. 2023. pycax: a Python client for the Coordinated Assessments data exchange REST API

Basic Info
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 2
  • Releases: 5
Topics
nwfsc-cb nwfsc-cb-mathbio python python-package rest-api salmon
Created about 3 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Changelog Contributing License Citation Codeowners

README.md

pypi github docs tests coverage PyPi license DOI

pycax

pycax is a Python client for the Coordinated Assessments REST API. Make sure to review the StreamNet Terms of Use for these data, the StreamNet Data Policy and the citation information for database queries. pycax was developed by the Northwest Fisheries Science Center Math Bio Program by Elizabeth Holmes and Mari Williams.

NWFSC Math Bio CAX REST API clients:

Citation

Holmes, E. E and M. Williams. 2023. pycax: a Python client for the Coordinated Assessments data exchange REST API. vX.X.X. doi:10.5281/zenodo.7855729.

Make sure to include a citation for the Coordinated Assessments Partnership (CAP) data tables that you use. For details on citing CAP content see: https://www.streamnet.org/resources/citing-sn/

See CITATION file for bibtex version.

Installation

From pypi

bash pip install pycax-client

From GitHub (development version)

bash pip install git+git://github.com/noaa-nwfsc/pycax.git#egg=pycax-client

Documentation

The official documentation is hosted on GitHub Pages https://noaa-nwfsc.github.io/pycax.

Library API

pycax is split up into modules for each of the groups of API methods.

  • hli - Get HLI tables.
  • datasets - Get metadata of tables
  • tables - The workhorse modules for querying tables

Sample analysis

Some Jupyter notebooks are in the notebooks directory.

Contributing

Fork and put in a pull request!

To install editable dev version from github for local development. System prerequisites: python3, conda. Note replace python3 with python if your Python installation points to 3+. requirements-dev.txt includes all the requirements needed for local development, testing and documentation building.

```bash

fetch code

git clone git@github.com:noaa-nwfsc/pycax.git cd pycax

install the requirements

python3 -m pip install -r requirements.txt python3 -m pip install -r requirements-dev.txt

After making changes, reinstall using

python3 -m pip install -e .

test your installation

python3 -m pytest

test and generate a coverage report

python3 -m pytest -rxs --cov=pycax --cov-report term-missing ./pycax

make the documentation in docs/_build/html

cd docs # pycax/docs make clean html codecov # linkcheck # linkcheck not working ```

Credits

Thanks to the developers of pyobis package who created a package that was easy to use as a full template for a REST API client with tests, documentation files, and GitHub Actions and included the instructions and requirements for local development. The structure of pycax mimics pyobis structure but was adapted and changed for the CAX API. The pygbif package is similar (and seems to have influenced pyobis). pygbif source was used for reference and study though no code directly used. Some pygbif code may appear in pycax if pyobis used pygbif functions for reference. Notably the Sphinx documentation configuration files seem to originate from pygbif.

Contributors

Contributors


Disclaimer

This repository is a scientific product and is not official communication of the National Oceanic and Atmospheric Administration, or the United States Department of Commerce. All NOAA GitHub project content is provided on an ‘as is’ basis and the user assumes responsibility for its use. Any claims against the Department of Commerce or Department of Commerce bureaus stemming from the use of this GitHub project will be governed by all applicable Federal law. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation or favoring by the Department of Commerce. The Department of Commerce seal and logo, or the seal and logo of a DOC bureau, shall not be used in any manner to imply endorsement of any commercial product or activity by DOC or the United States Government.

License

This content was created by U.S. Government employees as part of their official duties. This content is not subject to copyright in the United States (17 U.S.C. §105) and is in the public domain within the United States of America. Additionally, copyright is waived worldwide through the MIT License.

Owner

  • Name: Northwest Fisheries Science Center
  • Login: noaa-nwfsc
  • Kind: organization

NWFSC's Repositories

Citation (CITATION)

How to acknowledge use of pycax in a publication or report. In an acknowledgement,

  This work made use of pycax: a Python REST API client for the the Coordinated Assessments data exchange REST API. DOI: 10.5281/zenodo.7855729

or as a citation

  Holmes, E. E and M. Williams. 2023. pycax: a Python client for the Coordinated Assessments data exchange REST API. vX.X.X. doi:10.5281/zenodo.7855729.

Make sure to include a citation for the Coordinated Assessments Partnership (CAP) data tables that you use. For details on citing CAP content see: https://www.streamnet.org/resources/citing-sn/

BibTeX entries for the above citations are:

@misc{pycax,
  title={pycax: a Python client for the Coordinated Assessments data exchange REST API},
  url={https://nwfsc-math-bio.github.io/pycax/},
  author={
    Elizabeth Holmes and
    Mari Williams
  },
  institution = "NOAA Fisheries, Northwest Fisheries Science Center, Math Bio Program",
  year={2023},
  doi = {10.5281/zenodo.7855729}
}

@misc{
title = "Coordinated Assessments Partnership (CAP) fish high-level indicators (HLIs)",
url = "https://www.streamnet.org/home/data-maps/fish-hlis/",
note = "For details on citing StreamNet content see: https://www.streamnet.org/resources/citing-sn/")
}



GitHub Events

Total
Last Year

Committers

Last synced: almost 2 years ago

All Time
  • Total Commits: 70
  • Total Committers: 1
  • Avg Commits per committer: 70.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 55
  • Committers: 1
  • Avg Commits per committer: 55.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Eli Holmes e****s@n****v 70
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 2
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels