Async Python API wrapper for Bouygues Telecom routers.
Tested with model F@st5696b, firmware version 25.5.28.
- Supports the following Bbox API endpoints:
/login- Authentication/device- Device information/hosts- Connected devices/wan/ip/stats- WAN statistics
import asyncio
from aiobbox import BboxApi
async def main():
async with BboxApi("your_password") as bbox:
# Get router's information
router = await bbox.get_router_info()
print(f"Router model: {router.modelname}")
# Get connected hosts
hosts = await bbox.get_hosts()
print(f"Connected hosts: {len(hosts)}")
# Get WAN statistics
wan_stats = await bbox.get_wan_ip_stats()
print(f"Download: {wan_stats.rx.bandwidth} Mbps")
print(f"Upload: {wan_stats.tx.bandwidth} Mbps")
asyncio.run(main())# Install dependencies and set up development environment
uv sync --dev
# Run tests
uv run pytest
# Run linting and formating
uv run pre-commit run --all-files
# Run integration tests
BBOX_PASSWORD=your_password uv run pytest tests/integration.py -v -s