Modern async Python client for Eero network management
Project description
🌐 Eero API
Your async Python toolkit for Eero mesh networks ✨
⚡ Why Eero API?
- 🚀 Async-first — Non-blocking, blazing fast
- 🔐 Secure — System keyring for credentials
- 📦 Raw JSON — Direct API responses, no transformations
- ⚡ Smart caching — Snappy responses
📦 Install
pip install eero-api
# or with uv
uv add eero-api
🚀 Quick Start
import asyncio
from eero import EeroClient
async def main():
async with EeroClient() as client:
if not client.is_authenticated:
await client.login("you@example.com")
await client.verify(input("Code: "))
# All methods return raw JSON responses
response = await client.get_networks()
networks = response.get("data", {}).get("networks", [])
for network in networks:
print(f"📶 {network['name']}: {network.get('status')}")
asyncio.run(main())
💡 Credentials are auto-saved to your system keyring
📄 Raw Response Format
All API methods return the exact JSON from Eero's API:
{
"meta": {"code": 200, "server_time": "..."},
"data": {
# Endpoint-specific payload
}
}
See MIGRATION.md for details on the raw response architecture.
📚 Docs
| Guide | What's inside |
|---|---|
| 📖 Python API | Full API reference |
| ⚙️ Configuration | Auth & settings |
| 🔧 Troubleshooting | Common fixes |
| 🔄 Migration Guide | v1.x → v2.0 migration |
| 🏠 Wiki Home | All documentation |
🔗 Ecosystem
| Project | Description |
|---|---|
| 🖥️ eero-cli | Terminal interface for Eero networks |
| 🛜 eero-ui | Svelte dashboard for network management |
| 📊 eero-prometheus-exporter | Prometheus metrics for monitoring |
⚠️ Important Notes
Unofficial Project: This library uses reverse-engineered APIs and is not affiliated with or endorsed by Eero.
Amazon Login Limitation: If your Eero account uses Amazon for login, this library may not work directly due to API limitations. Workaround: Have someone in your household create a standard Eero account (with email/password) and invite them as an admin to your network. Then use those credentials to authenticate.
📄 License
MIT — Use it, fork it, build cool stuff 🎉
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file eero_api-2.1.0.tar.gz.
File metadata
- Download URL: eero_api-2.1.0.tar.gz
- Upload date:
- Size: 36.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f51c373f283007460e385a2262f1b3966b8f12d40955e92efed59db06d004983
|
|
| MD5 |
27f3d219eca8d5e938614966ac037246
|
|
| BLAKE2b-256 |
03576767ab6b435718140e0e1694ecd4ef99182601819f35c5a13a6fabce0aa6
|
File details
Details for the file eero_api-2.1.0-py3-none-any.whl.
File metadata
- Download URL: eero_api-2.1.0-py3-none-any.whl
- Upload date:
- Size: 54.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fdb2ca099e4d3d8ee3096ea7ac710a6bffc1fdb935400c1b0ea83573c0adb5e1
|
|
| MD5 |
67b13643b1cd1ef9b1b6c2cc7cc865d4
|
|
| BLAKE2b-256 |
8d4ea5758d86e91d117ccff142e570dd476554513dfe5291aac0ff0e6707565c
|