Simple CLI for Aqualink API
Project description
pyaqua: Simple CLI for Aqualink API
Aqualink is a philanthropic engineering organization working on building ocean conservation technology. Read more about their inspiration, smart buoy, and web application. This tool is designed to help interact programmatically with the Aqualink.org map and is not based on any official API so expect features to break once in a while. This tool is designed for only only those sites associated with a spotter.
Disclaimer: This is an unofficial tool. Is not licensed or endorsed by Aqualink org. It is created and maintained by Samapriya Roy.
Citation
Samapriya Roy. (2021). samapriya/pyaqua: Simple CLI for Aqualink Org (0.0.5).
Zenodo. https://doi.org/10.5281/zenodo.5796516
Readme Docs available online
Table of contents
Installation
This assumes that you have native python & pip installed in your system, you can test this by going to the terminal (or windows command prompt) and trying
python
and then pip list
pyaqua only support Python v3.7 or higher
To install pyaqua: Simple CLI for Aqualink API you can install using two methods.
pip install pyaqua
or you can also try
git clone https://github.com/samapriya/pyaqua.git
cd pyaqua
python setup.py install
For Linux use sudo or try pip install pyaqua --user
.
I recommend installation within a virtual environment. Find more information on creating virtual environments here.
Getting started
As usual, to print help:
usage: pyaqua [-h] {site-list,site-info,site-live,site-daily,site-timeseries} ...
Simple CLI for Aqualink API
positional arguments:
{site-list,site-info,site-live,site-daily,site-timeseries}
site-list Print lists of Site Name and ID with spotters
site-info Print detailed information for a site
site-live Get most recent/live info from a site
site-daily Print daily data info for a site
site-timeseries Exports timeseries data for a site
optional arguments:
-h, --help show this help message and exit
To obtain help for specific functionality, simply call it with help switch, e.g.: pyaqua site-live -h
. If you didn't install pyaqua, then you can run it just by going to pyaqua directory and running python pyaqua.py [arguments go here]
pyaqua Simple CLI for Aqualink API
The tool is designed to interact with the Aqualink.org API, for now this is focused only on the spotter endpoints.
site list
This allows you to get existing sites with spotters attached and print Site Name and ID. These could be in different status of application including maintenance, deployed, lost, shipped and so on. The tool also applies a fuzzy search and allows you to look for a specific site to get site id. You can now filter using status as well so status types like maintenance, deployed, shipped or lost
site info
The site info tool uses the site ID to get detailed information about the setup, location, time zone, status information to name a few. Historical means are dropped along with admin data for ease of parsing and since they do not add a large amount of value for general purpose users directly. The user does have the option to get to the complete admin or historical data if needed
site-live
This allows to get the most updated/live information about a site based on a site ID from the idlist. The tool parses the output as an indent JSON object.
site daily
This allows to get the most daily data for a site based on a site ID from the idlist. The tool parses the daily output as an indented JSON and you can specify months since today as well as data type like wind/wave/temp.
site timeseries
This allows to get the most daily data for a site based on a site ID from the idlist. The tool exports the time series data for both NOAA and spotter datasets as CSV to a given folder. It attaches the site_id to the CSV filename spotter_dhw_siteid for example spotter_dhw_1113
Changelog
v0.0.5
- added status filter to site-list tool
- added lat long for site-timeseries export
v0.0.4
- Fixed tool descriptor for timeseries tool.
v0.0.3
- Added site info tool for detailed information on site.
v0.0.2
- Added readme and created new branch.
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.