Skip to main content

Facilitate access to Demeter REST interface endpoints, provided by Hidroconta S.A.U.

Project description

Integrations-PythonAPI

Python API to facilitate access to Demeter REST interface endpoints. https://pypi.org/project/hidroconta/

The API allows the management of large amounts of data using the Pandas library, provided that the following directive is used in method calls:

# Pandas = True returns a pandas dataframe instead a json

The way to use the API is the following:

  • Import the desired modules:
import hydroconta.api as demeter
import hydroconta.types as hydrotypes
import pandas as pd
import datetime
import hydroconta.endpoints as hydroenpoints
  • Select the server with which you want to communicate (you can modify it at any time):
# Set server
demeter.set_server(hydroendpoints.Server.MAIN)
  • Login to this server
# Login
demeter.login('USERNAME', 'PASSWORD')

Once the previous steps have been followed, you can make any query about the system. Some of them are:

  • Search
# Search
df = demeter.search(text='SAT', element_types=[hydrotypes.Element.COUNTER, hydrotypes.Element.ANALOG_INPUT, hydrotypes.Element.RTU], status=hidrotypes.Status.ENABLED, pandas=True)
print(df)
  • Getting history
# Get historics
df = demeter.get_historics(start_date=datetime.datetime.now(), end_date=datetime.datetime.now(), element_ids=[1000], subtype=hydrotypes.AnalogInputHist.subtype, subcode=[hidrotypes.AnalogInputHist.subcode], pandas=True)
print(df)
  • Getting elements
# Get
df = demeter.get_rtus(element_id=17512, pandas=True)
print(df)

The API also defines a special exception when the call to the Demeter endpoint does not return the expected result. The exception is called 'DemeterStatusCodeException' and contains the HTTP error code.

# Exception treatment
try:
    df = demeter.get_rtus(element_id=17512, pandas=True).
except demeter.DemeterStatusCodeException as status_code:
    print('Error {}'.format(status_code))
  • Finally, a logout should be made on the server
demeter.logout()

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

hidroconta-1.3.0.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hidroconta-1.3.0-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file hidroconta-1.3.0.tar.gz.

File metadata

  • Download URL: hidroconta-1.3.0.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.2

File hashes

Hashes for hidroconta-1.3.0.tar.gz
Algorithm Hash digest
SHA256 e65112fd76ea5f6f1aade580ed0fe76a941657eaf782f0e1e2d9fd3197c1be43
MD5 097b529cc852b532f711fb0e7c7a5d5a
BLAKE2b-256 e2f9b4c22d2c642e3bcc3c13014f768f4ece9a06d49dac4f6b2cbc29f2b770fb

See more details on using hashes here.

File details

Details for the file hidroconta-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: hidroconta-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.2

File hashes

Hashes for hidroconta-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a9089a30875fc2ada3668a369dbf1aa200ac95db2d1d408aa6217d94947f11fa
MD5 8be72ab52a8af98f582d29725f03eb9a
BLAKE2b-256 caceb16ed38c6d6966761420701ad709230db54597d7c10ab7e0e2a8af23cabd

See more details on using hashes here.

Supported by

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