Python API client for Enhydris
Project description
enhydris-api-client
Python API client for Enhydris
Free software: GNU General Public License v3
This package has some functionality to make it easier to use the Enhydris API.
Installation
pip install enhydris-api-client
Example
from enhydris_api_client import EnhydrisApiClient with EnhydrisApiClient("https://openmeteo.org") as api_client: api_client.login("joe", "topsecret") # Get a dict with attrs of station with id=42 station = api_client.get_model(Station, 42) # Create a new station api_client.post_model(Station, data={"name": "my station"})
Reference
EnhydrisApiClient(base_url)
Creates and returns an api client. It can also be used as a context manager, though this is not necessary. If not used as a context manager, you might get warnings about unclosed sockets.
EnhydrisApiClient objects have the following methods:
.login(username, password)
Logins to Enhydris. Raises an exception if unsuccessful.
.get_station(id)
Returns a dict with the data for the station with the given id.
.post_station(data)
Creates a new station, with its data given by dictionary data, and returns its id.
.put_station(station_id, data)
Replaces the station’s attributes with data (a dictionary). Any unspecified attributes are set to null.
.patch_station(station_id, data)
Same as put_station() except that any attribute not specified in data is untouched.
.delete_station(station_id)
Deletes the specified station.
.get_timeseries(station_id, timeseries_id)
Returns a dict with the data for the given time series.
.post_timeseries(station_id, data)
Creates a new time series, with its data given by dictionary data, and returns its id.
.delete_timeseries(station_id, timeseries_id)
Deletes the specified time series.
.read_tsdata(station_id, timeseries_id, start_date=None, end_date=None)
Retrieves the time series data into a htimeseries object that it returns. If start_date and/or end_date are specified, only the part of the time series between these dates is retrieved.
.post_tsdata(station_id, timeseries_id, ts)
Posts a time series to Enhydris, appending the records to any already existing. ts is a htimeseries object.
.get_ts_end_date(station_id, timeseries_id)
Returns a datetime object which is the last timestamp of the time series. If the time series is empty it returns None.
History
0.5.0 (2019-06-13)
Can now be used as a context manager
Added post/put/patch/delete station
0.4.1 (2019-06-12)
Fixed bug where .read_tsdata() was failing to set the metadata attributes of the time series.
0.4.0 (2019-06-12)
.read_tsdata() now accepts optional arguments start_date and end_date.
0.3.0 (2019-06-06)
Upgrade dependecy htimeseries to 1.0
0.2.0 (2019-04-17)
Support new API of Enhydris 3
0.1.0 (2019-03-06)
Initial release
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.
Source Distribution
Built Distribution
Hashes for enhydris-api-client-0.5.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49ad501cac73cb7694dd2b57c3bab5cb49a7159cd847bbaad6bc0f569faf96a6 |
|
MD5 | 1d0aca9ce333d5f72024381281c99076 |
|
BLAKE2b-256 | f4a97317fb24770524b3548d17634d0fd4e23c468169735e1954bbc2dcc098d1 |
Hashes for enhydris_api_client-0.5.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49eae5da1c6999136718719f24036f86abea2329fffaee5c44baea7e700ff62b |
|
MD5 | 81ddbfe0fc6a7d8f83c34ccd14ef594c |
|
BLAKE2b-256 | d90d5086c16d8d67bea123258cac5498e245310077b950a503f567da29bf96c4 |