Skip to main content

Async Python client for the Octopus Energy REST and GraphQL APIs

Project description

aiooctopusenergy

Async Python client for the Octopus Energy REST API.

Installation

pip install aiooctopusenergy

Usage

import aiohttp
from aiooctopusenergy import OctopusEnergyClient

async with aiohttp.ClientSession() as session:
    client = OctopusEnergyClient(api_key="sk_live_...", session=session)

    # Get account details
    account = await client.get_account("A-AAAA1111")
    for prop in account.properties:
        for meter in prop.electricity_meter_points:
            print(f"MPAN: {meter.mpan}, Export: {meter.is_export}")

    # Get half-hourly consumption
    readings = await client.get_electricity_consumption(
        mpan="1100009640372",
        serial_number="22L4344979",
    )
    for r in readings:
        print(f"{r.interval_start}: {r.consumption} kWh")

    # Get Agile rates (no auth required)
    rates = await client.get_electricity_rates(
        product_code="AGILE-24-10-01",
        tariff_code="E-1R-AGILE-24-10-01-C",
    )
    for rate in rates:
        print(f"{rate.valid_from}: {rate.value_inc_vat}p/kWh")

    # Look up Grid Supply Point
    gsps = await client.get_grid_supply_points("DE45")
    print(f"Region: {gsps[0].group_id}")

API Reference

OctopusEnergyClient(api_key, session=None)

  • get_account(account_number) — Account details with meters and tariff history
  • get_electricity_consumption(mpan, serial, *, period_from, period_to) — Half-hourly electricity readings
  • get_gas_consumption(mprn, serial, *, period_from, period_to) — Half-hourly gas readings
  • get_electricity_rates(product, tariff, *, period_from, period_to) — Electricity unit rates
  • get_electricity_standing_charges(product, tariff, *, period_from, period_to) — Electricity standing charges
  • get_gas_rates(product, tariff, *, period_from, period_to) — Gas unit rates
  • get_gas_standing_charges(product, tariff, *, period_from, period_to) — Gas standing charges
  • get_grid_supply_points(postcode) — GSP region lookup

Exceptions

  • OctopusEnergyError — Base exception
  • OctopusEnergyAuthenticationError — Invalid API key (HTTP 401)
  • OctopusEnergyNotFoundError — Resource not found (HTTP 404)
  • OctopusEnergyConnectionError — Network error
  • OctopusEnergyTimeoutError — Request timeout

License

MIT

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

aiooctopusenergy-0.4.5.tar.gz (19.6 kB view details)

Uploaded Source

Built Distribution

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

aiooctopusenergy-0.4.5-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file aiooctopusenergy-0.4.5.tar.gz.

File metadata

  • Download URL: aiooctopusenergy-0.4.5.tar.gz
  • Upload date:
  • Size: 19.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for aiooctopusenergy-0.4.5.tar.gz
Algorithm Hash digest
SHA256 56d9c3be9597e43a98f29e84b0829d78f60a3f43c95f1605dd614c3108c373d4
MD5 098b2e0850b9b84983f970127a98b4dc
BLAKE2b-256 6d4b296ab35f74ce7474a6b6a00ea56a7a4998d93c7134d5cad9554033428d91

See more details on using hashes here.

File details

Details for the file aiooctopusenergy-0.4.5-py3-none-any.whl.

File metadata

File hashes

Hashes for aiooctopusenergy-0.4.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2d478be7a67436ee7c938392b8933fc80d63a5f8b7c0f4cb40bdedc30aa62a7d
MD5 faaec55a0aa31f3fecb3f3c11e470569
BLAKE2b-256 08c3104fcd1517080a4f16d489d49e352f18f47f5e83b76575257aec1739812b

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