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 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 recent newly registered accounts

client.get_completed_signups()

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)

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.3.0.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

ENSEK-1.3.0-py2.py3-none-any.whl (4.0 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: ENSEK-1.3.0.tar.gz
  • Upload date:
  • Size: 14.7 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.3.0.tar.gz
Algorithm Hash digest
SHA256 b092a14ac22857c9366869b4d11954ec7417e03d3beaf993b19c7b2330521f32
MD5 cb5aabcaa65626a35f55d964c0ac0fb2
BLAKE2b-256 29d88a4862a78326d48f7dd29bdf4ad62b59fb66a4b3a1e20d6e460396bb256f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ENSEK-1.3.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 4.0 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.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c41d7ed373a77f9df225a97cea7edee70f2f06ac35a38b0f2d60745e583a473a
MD5 6fe92aa6af233988e3af71c16ed6d27b
BLAKE2b-256 480af8dcf325f321ed67af263dc8dda4bdcdea034ad9723e4ae621a888af86f7

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