Skip to content

International-BMP-Database/wqio

Repository files navigation

wqio: water qualiity inflow and outflow

Publish Python 🐍 distribution 📦 to PyPI ruff 'n' stuff Run coverage via codecov Run basic unit tests Run image comparison tests

Tools to visualize and compare water quality data collected at different monitoring locations. Includes: bias-corrected and accelerated (BCA) bootstrapping, censored (non-detect) data imputation via regression-on-order statistics (ROS), and paired data analysis.

Installation

wqio is pure python, so installation on any platform should be straight-forward

Via pip

python -m pip install wqio

Or:

From source

git clone git@github.com:International-BMP-Database/wqio.git
cd wqio
pip install -e .

Running tests

From an installed package

import wqio
wqio.test()

From the source tree

python check_wqio.py

Releases

There are two Github actions that are run when tags are pushed. The first builds and uploads to TestPyPI if the tag is in the form v<major>.<minor>.<micro>/*/test.

The second builds, uploads to PyPI, then signs the release and creates a Github release with a bunch of different assets if the tag is in the form v<major>.<minor>.<micro>/release.

To execute the builda, create a new tag ends with e.g., /test (i.e., v0.6.3/test) and push that.

If that works, create Yet Another tag that ends with /release (i.e., v0.6.3/release) and push that.

All in all, that workflow looks like this:

# get latest source
git switch main
git fetch upstream
git merge --ff-only upstream/main
git tag -a "v0.6.4/test"  # add comment in text editor
git push upstream --tags
# watch, wait for CI to sucessfully build on TestPyPI
git tag -a "v0.6.4/release"  # add comment in text editor
# watch, wait for CI to sucessfully build on actual PyPI