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 [email protected]: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

First, you need to bump all of the versions like in this PR.

After that is pushed/merged/fetched, it's time to tag the test and final 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 builds, 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"  # adjust version + 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"  # adjust version + add comment in text editor
# watch, wait for CI to sucessfully build on actual PyPI