pyTibber
A python3 library to communicate with Tibber
Decision gist · record as of 2026-08-14
Yes, if you have a Tibber account and need programmatic access to pricing or consumption data. The library is actively maintained, has low install friction, and integrates well with async Python projects. The GPL-3.0-or-later license is a consideration only if you're building proprietary software; it's fine for personal use and open-source projects.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.11 or later.
- Tibber API token from developer.tibber.com/ is required to authenticate.
- Low install friction with a pure-Python wheel.
License · maintenance · safety
GPL-3.0-or-later (copyleft) — GPL-3.0-or-later copyleft license means any derivative work must be open-sourced under compatible terms; acceptable for personal projects and open-source integrations but requires legal review for proprietary products.
last release 2026-08-10 (4 days) · last repo commit 2026-08-14 · 114 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 78,821 downloads/mo, #14,404 on PyPI
Alternatives
Verify before relying
pip install pyTibber
import asyncio
async def example():
from pyTibber import Tibber
conn = Tibber("your_api_token", user_agent="myapp")
await conn.update_info()
home = conn.get_homes()[0]
await home.update_price_info()
print(home.current_price_info)
asyncio.run(example())- Whether the library handles authentication token refresh automatically or requires manual re-authentication.
- Performance characteristics when polling multiple homes or handling high-frequency real-time updates.
- Completeness of error handling and recovery for network interruptions during WebSocket subscriptions.
What it is and what it does
pyTibber is a Python async client for the Tibber energy platform, primarily used to fetch current electricity prices and consumption data for homes with Tibber accounts. It wraps Tibber's API and provides both one-time query methods (for prices and historical consumption) and real-time streaming via WebSocket for devices like Pulse and Watty smart meters.
The library is designed for async/await patterns and integrates with aiohttp, gql, and websockets for communication. You'll need a Tibber API token and Python 3.11 or later; the library handles query construction and WebSocket subscription management internally.
Use it for
- Fetch current electricity prices in your region to automate energy consumption decisions or trigger alerts.
- Stream real-time power consumption data from a Tibber Pulse or Watty device for live monitoring dashboards.
- Query historical consumption data to analyze energy usage patterns and costs over time.
- Integrate Tibber data into home automation platforms for price-aware automation.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you have a Tibber account and need programmatic access to pricing or consumption data.
The library is actively maintained, has low install friction, and integrates well with async Python projects. The GPL-3.0-or-later license is a consideration only if you're building proprietary software; it's fine for personal use and open-source projects.
Install
pytibber on PyPI
Before you install
Low install friction with a pure-Python wheel. Actively maintained as of 2026-08-14 with recent release activity. Depends on established async libraries (aiohttp, gql, websockets) and tenacity for retry logic.
Requires Python 3.11 or later. Tibber API token from developer.tibber.com/ is required to authenticate.
License in practice
GPL-3.0-or-later copyleft license means any derivative work must be open-sourced under compatible terms; acceptable for personal projects and open-source integrations but requires legal review for proprietary products.
Quickstart
pip install pyTibber
import asyncio
async def example():
from pyTibber import Tibber
conn = Tibber("your_api_token", user_agent="myapp")
await conn.update_info()
home = conn.get_homes()[0]
await home.update_price_info()
print(home.current_price_info)
asyncio.run(example())
Verify before relying
- Whether the library handles authentication token refresh automatically or requires manual re-authentication.
- Performance characteristics when polling multiple homes or handling high-frequency real-time updates.
- Completeness of error handling and recovery for network interruptions during WebSocket subscriptions.
Package facts
| License | GPL-3.0-or-later copyleft |
| Python support | Supports the current Python release >=3.11 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagesaiohttpgqltenacitywebsockets |
| Maintenance | Actively maintained 4 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 78,821 / month, #14,404 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: Home AutomationTopic :: Software Development :: Libraries :: Python Modules |
Evidence: pytibber-0.38.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “tibber api client”
- pyTibberPython library for querying Tibber's electricity pricing and…
- codewords-clientA Python client library for the Codewords API with built-in FastAPI…
- twentyc.rpcA client library for consuming 20c's RESTful API, built on top of the…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also millheater · p1monitor · energyzero · ovoenergy · pyemvue · sense-energy · amberelectric · openbb-us-eia · opower · gridstatus