Skip to main content

Python library for accessing a Kisters WISKI system via the KiWIS API.

Project description

Python library for querying WISKI via KiWIS (KISTERS Web Interoperability Solution). See: http://www.kisters.net/NA/products/wiski/options/web-services/

https://raw.githubusercontent.com/amacd31/kiwis_pie/master/kiwis_and_pie.jpg

Dependencies

Requires the Python libraries requests, pandas and tabulate.

Installation

Install from PyPI:

pip install kiwis-pie

or install directly from github:

pip install git+https://github.com/amacd31/kiwis_pie.git

Usage

Example fetching some data from the KiWIS service that backs: http://kna.kisters.net/sjr/kiwidgets/tests/SanJoaquinRiver/

from datetime import date
from kiwis_pie import KIWIS
k = KIWIS('http://kna.kisters.net/grassland/KiWIS')

# Get station ID for 'SAN JOAQUIN RIVER NEAR PATTERSON'
station_id = k.get_station_list(station_name = 'SAN JOAQUIN RIVER NEAR PATTERSON').station_id.values[0]

# Get timeseries ID for 3-Hourly streamflow (Q) at SAN JOAQUIN RIVER NEAR PATTERSON
ts_id = k.get_timeseries_list(station_id = station_id, parametertype_name = 'Q', ts_name = '3-Hourly').ts_id.values[0]

# Read one day of 3-Hourly flow data for SAN JOAQUIN RIVER NEAR PATTERSON
k.get_timeseries_values(ts_id = ts_id, to = date(2016,1,1), **{'from': date(2016,1,1)})

Example using the KiWIS service that backs the Australian Bureau of Meteorology’s Water Data Online service: http://www.bom.gov.au/waterdata/

from datetime import date
from kiwis_pie import KIWIS
k = KIWIS('http://www.bom.gov.au/waterdata/services')

# Get station ID for 'Cotter River at Gingera'
station_id = k.get_station_list(station_name = 'Cotter R. at Gingera').station_id.values[0]

# Get timeseries ID for daily mean streamflow (Q) at Cotter River at Gingera
ts_id = k.get_timeseries_list(station_id = station_id, ts_name = 'DMQaQc.Merged.DailyMean.24HR', parametertype_name = 'Water Course Discharge').ts_id.values[0]

# Read 31 days of daily water course discharge data for Cotter River at Gingera
k.get_timeseries_values(ts_id = ts_id, to = date(2016,1,31), **{'from': date(2016,1,1)})

# Optionally use the `keep_tz` option to return in local timezone instead of UTC
k.get_timeseries_values(ts_id = ts_id, to = date(2016,1,31), **{'from': date(2016,1,1)}, keep_tz=True)

Documentation

The methods on the KIWIS class all have docstrings detailing the keyword arguments they take. Rendered documentation is available on Read the Docs: http://kiwis-pie.readthedocs.io/en/latest/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kiwis-pie-0.10.4.tar.gz (22.5 kB view details)

Uploaded Source

File details

Details for the file kiwis-pie-0.10.4.tar.gz.

File metadata

  • Download URL: kiwis-pie-0.10.4.tar.gz
  • Upload date:
  • Size: 22.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.7

File hashes

Hashes for kiwis-pie-0.10.4.tar.gz
Algorithm Hash digest
SHA256 53a803d9185ae1f0bdd8d2812b15c28aeca63ed2cc4cead76c8ec941faa13685
MD5 8d1cf5918ecbb3eda76dd38741a0522e
BLAKE2b-256 385f46b05ad682181de6bb0ccc84e1270675d5c047ae920d1cce5097c0a340e1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page