Skip to main content

Python Client for the ENSEK API (http://www.ensek.co.uk/)

Project description

PyPI Python Versions Build Status

🐍 Python Client for the ENSEK API (http://www.ensek.co.uk/) This client does not implement all the features of the API, pull requests are very welcome to expand functionality.

Installation

To install ensek, simply:

pip install ensek

How To Use

Initialise the client

from ensek import Ensek
client = Ensek(
    api_url='https://api.usio.ignition.ensek.co.uk/',
    api_key='fill_this_in',
)

Available methods

Get an account by id

client.get_account(account_id=123)

Get account live balances

client.get_live_balances(account_id=123)

client.get_live_balances_detailed(account_id=123)

Get tariffs for an account by id

client.get_account_tariffs(account_id=123)

Get meter points for an account by id

client.get_meter_points(account_id=123)

Get the account id currently associated with an MPAN core id or MPRN

client.get_account_for_meter_point(meter_point_id='9910000001507')

Get the PES Area for a postcode (http://www.energybrokers.co.uk/electricity/PES-Distributor-areas.htm)

client.get_region_id_for_postcode(postcode='se14yu')

Get gas utility information for a MPRN (meter point reference number)

client.get_gas_utility(mprn='3226987202')

Get electricity utility information for a MPAN CORE ID (meter point administration number)

client.get_electricity_utility(mpan_core_id='3226987202')

Create a meter reading

client.create_meter_reading(account_id=1507, source='SMART', meter_point_id=1597, register_id=1496, value=2.0, timestamp=datetime(2018, 7, 24, 13, 49, 34, 661562, tzinfo=timezone.utc))

Get readings for a meter point

client.get_meter_point_readings(meter_point_id=1597)

Get all customer account ids

client.get_all_account_ids()

Get addresses at a postcode

client.get_addresses_at_postcode(postcode='se14yu')

Note: For each client method:

  • If API response is 404, method will raise LookupError.

  • If API response is between 400 and 499, method will raise ValueError.

  • For any other bad status code EnsekError will raise.

Requirements

1. Python 3.6+
2. See requirements.txt

Running the tests

pip install -r requirements-test.txt
pytest

Releasing to PyPI

pip install zest.releaser
fullrelease

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

ENSEK-1.5.0.tar.gz (16.8 kB view details)

Uploaded Source

Built Distribution

ENSEK-1.5.0-py2.py3-none-any.whl (4.2 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ENSEK-1.5.0.tar.gz.

File metadata

  • Download URL: ENSEK-1.5.0.tar.gz
  • Upload date:
  • Size: 16.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.5

File hashes

Hashes for ENSEK-1.5.0.tar.gz
Algorithm Hash digest
SHA256 84a7851f6da3091ab34d8b9c86dbbcde5447d7a4ba18f0ac1c883a87c827ce70
MD5 2abe69200d510fcc3425342363df2f3e
BLAKE2b-256 670216f8ba37f7bcda7e5ab755b472217e8a158f963c2e42d2cf58999222c74a

See more details on using hashes here.

File details

Details for the file ENSEK-1.5.0-py2.py3-none-any.whl.

File metadata

  • Download URL: ENSEK-1.5.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.5

File hashes

Hashes for ENSEK-1.5.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1b49a0cc54cd269cbd56acac05424683a6c3539d025ef6662b086cfbb990fa34
MD5 d1217faba4a9753cb23b12014bd56d07
BLAKE2b-256 86dd00118c927230b394bf1bd2a1ce9177446cbe504c7e44cdcf40c8fce20ce3

See more details on using hashes here.

Supported by

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