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.1 (2020-01-05)
Minor fix for compatibility with htimeseries 2
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.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 054dee4edd72467fb616a146545cc06b978fc3a05d9179104e4726b51ce78165 |
|
MD5 | f591ee2da22865953fef48a468a10bd7 |
|
BLAKE2b-256 | 51534de766ca31659a5bfe664095b3ba9af196b035c8519aeab848059b59ecef |
Hashes for enhydris_api_client-0.5.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 164c0e4226082d1bd446209b06a764384b18236899b4044a32943c62d2f9987f |
|
MD5 | 9859bedcbcbba51cf4146c4aa1480add |
|
BLAKE2b-256 | 7fb9b9eb2ecc2775be4d5cdf67cc1fd76406454fc1dc5d3edc6ae4e9fc63b9e4 |