skillfed

ovoenergy

OVO Energy

ovoenergy v3.0.2 73.9K downloads/30d#14,917 on PyPI41
Permissive license Apache-2.0 Active released

What it is and what it does

ovoenergy is an unofficial Python client for accessing OVO Energy account and consumption data through their public APIs. It wraps HTTP requests with async support via aiohttp, JWT authentication via PyJWT, and a command-line interface via typer, allowing developers to retrieve energy meter readings and account information programmatically.

The package is maintained by a community contributor and explicitly disclaims official OVO Energy support. It has been tested primarily with UK accounts; users outside the UK or with non-standard account setups may encounter compatibility issues. The codebase is actively maintained but remains subject to breakage if OVO changes their API endpoints or authentication scheme.

Use it for:

  • Retrieve historical energy consumption data from an OVO Energy account for personal analytics or billing verification.
  • Build a home automation dashboard that displays current meter readings and usage trends from OVO Energy.
  • Integrate OVO Energy data into a broader utility management or carbon-tracking application.
  • Export meter data programmatically for analysis in data science workflows or reporting tools.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

A Python client library for querying energy consumption and account data from OVO Energy APIs, supporting async operations via aiohttp.

Yes, if you have an OVO Energy UK account and need programmatic access to your consumption data. The package has low install friction, active maintenance, and no known vulnerabilities. However, be aware it is unsupported by OVO Energy itself—API changes on their side could break functionality without warning. Test thoroughly before relying on it in production.

Install

ovoenergy on PyPI

pip

pip install ovoenergy

uv

uv add ovoenergy

poetry

poetry add ovoenergy

Installing ovoenergy

Before you install

Low install friction with a pure-Python wheel. The package is actively maintained with a recent commit on 2026-08-07, though it remains a community project with 41 stars and carries an explicit disclaimer that it is not officially supported by OVO Energy and may break if their APIs change.

License in practice

Licensed under Apache-2.0 (permissive), allowing free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.

Quickstart

pip install ovoenergy

import asyncio
from ovoenergy import OVOEnergy

async def get_data():
    client = OVOEnergy(username, password)
    await client.authenticate()
    # retrieve account data

asyncio.run(get_data())

Requires Python 3.11 or later. OVO Energy account credentials required. Package is tested only with UK accounts.

Verify before relying

  • Whether the package works reliably outside the UK, given the disclaimer that it has only been tested with UK accounts.
  • Current status of OVO Energy API stability and whether recent changes have affected the package's functionality.
  • Specific endpoints and data types available through the client API.

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.11)
Install friction low — pure-Python wheel
Runtime dependencies 3 — aiohttp, typer, PyJWT
Maintenance actively maintained — 316 days since the last release
Last repo commit
First released
Downloads 73,871/month — #14,917 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: ovoenergy-3.0.2-py3-none-any.whl

Keywords: python, ovoenergy, api

Tags

ovo energy api clientenergy consumption data pythonovo energy meter readingsasync energy api wrapperuk utility data integrationsmart meter data retrieval
energy-dataasync-httpuk-utilities

More WWW/HTTP packages