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.0.tar.gz (19.1 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.0-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aiooctopusenergy-0.4.0.tar.gz
  • Upload date:
  • Size: 19.1 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.0.tar.gz
Algorithm Hash digest
SHA256 bf36aef02d758e0c6cf40c265720f2dab74e70c6d2ae48d1894771c1eed5891a
MD5 4a9b5f9a8b4a54065761fad2ec0055b9
BLAKE2b-256 ef60b7eaa6181ee95cec20dd29c4c04e1523836e31a66996b2138da5d07edfe2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiooctopusenergy-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d990823471d78a8f20edceb1aa44eb7e3ec245ef859395e070e8cb9ab33372de
MD5 09a303bd3876c2efeb9a8f48ce42f7ed
BLAKE2b-256 6e8083f59fe0df7282fd60ee69433885dc485f82604254eebe3835bd2a2e835a

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