python-ecobee-api
Python API for talking to Ecobee thermostats
What it is and what it does
python-ecobee-api is a lightweight Python wrapper for the Ecobee thermostat API, enabling programmatic control and monitoring of Ecobee3 wifi-enabled thermostats. It abstracts the HTTP communication layer through its single runtime dependency, requests, making it straightforward to integrate thermostat control into automation workflows.
The library is actively maintained and designed with Home Assistant integration in mind, though it can be used independently. With no known security vulnerabilities and a permissive MIT license, it presents a low-friction option for developers building home automation systems or custom integrations around Ecobee hardware.
Use it for:
- Integrate Ecobee thermostat control into Home Assistant automation workflows
- Build custom home automation scripts to adjust temperature based on external conditions
- Monitor thermostat status and occupancy data from a Python application
- Create scheduled temperature adjustments without using the Ecobee mobile app
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Python library for communicating with Ecobee3 wifi thermostats via their API, primarily designed for use with Home Assistant.
Yes, if you own an Ecobee3 thermostat and need programmatic control. The low install friction, active maintenance, permissive license, and lack of known vulnerabilities make it a sound choice. Verify Python version compatibility and API credential requirements before integrating into production systems.
Install
python-ecobee-api on PyPI
pip
pip install python-ecobee-apiuv
uv add python-ecobee-apipoetry
poetry add python-ecobee-apiInstalling python-ecobee-api
Before you install
Low install friction with a single dependency on requests. Actively maintained with a recent release as of 2026-05-29 and ongoing commits.
License in practice
MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for both personal and commercial projects.
Quickstart
pip install python-ecobee-api
import python_ecobee_api
# Initialize with Ecobee API credentials and interact with thermostat
Requires valid Ecobee API credentials and an active Ecobee account with a compatible thermostat
Verify before relying
- Specific Ecobee API endpoints and authentication methods supported by this version
- Whether the library supports Ecobee models beyond Ecobee3
- Python version compatibility (requires_python is unspecified)
- Module and class names for initialization and thermostat interaction
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — requests |
| Maintenance | actively maintained — 77 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 81,481/month — #14,224 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: python_ecobee_api-0.4.1-py3-none-any.whl
Tags
More Internet packages
Botocore provides low-level, data-driven access…
permissive · top 100 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
googleapis-common-protosProvides common Protocol Buffer message…
permissive · top 100 on PyPI
maxcube-apiProvides a Python API to query and control…
unclear · top 15,000 on PyPI
pyeconetProvides an async Python interface to the…
permissive · top 15,000 on PyPI
venstarcolortouchProvides a Python interface to query and…
permissive · top 15,000 on PyPI
plugwiseProvides Python interface to networked Plugwise…
permissive · top 15,000 on PyPI
zigpy-xbeeEnables zigpy to communicate with XBee-based…
copyleft · top 15,000 on PyPI
pyfritzhomeProvides Python access to AVM Fritz!Box home…
permissive · top 15,000 on PyPI
nexiaAsync Python library for controlling Nexia…
permissive · top 15,000 on PyPI
aiolyricaiolyric provides async Python bindings to the…
permissive · top 15,000 on PyPI
homematicipA Python wrapper for the HomematicIP REST API…
copyleft · top 15,000 on PyPI
boschshcpyPython client library for the Bosch Smart Home…
permissive · top 15,000 on PyPI