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
1.0.0 (2020-02-28)
We now support only Python 3.7 or greater.
If there is an http error, the error message now includes the response body.
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-1.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ff5d96749750f50176b7b8a41431cf736ec7965ed5384f070896fb477cc4156 |
|
MD5 | 8a6c8ebbc8eed06f859f968ebb238716 |
|
BLAKE2b-256 | 6e4f0ac7c9ec1d643e1d3a080481270f294c0cc8cf3d0904121541745f7bb526 |
Hashes for enhydris_api_client-1.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 889d6a030b62de3a086580e01c95349a210cd5310f6933ecc55377f210d75f69 |
|
MD5 | e2d3933952fff041fbf980abf70db0af |
|
BLAKE2b-256 | fb6cd598087707b85cdd17f4c3ceec5a886f1a811b0a9c7a8e4c22ddd8f9210e |