Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Python API client for Enhydris

Project description

enhydris-api-client

Pypi Build Coverage Updates

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


Download files

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

Files for enhydris-api-client, version 0.5.0
Filename, size File type Python version Upload date Hashes
Filename, size enhydris_api_client-0.5.0-py2.py3-none-any.whl (4.7 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size enhydris-api-client-0.5.0.tar.gz (8.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page