Skip to content

sweenu/aiobbox

Repository files navigation

codecov

aiobbox

Async Python API wrapper for Bouygues Telecom routers.

Tested with model F@st5696b, firmware version 25.5.28.

Usage

  • 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())

Development

# 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

About

Async Python API wrapper for Bouygues Telecom routers

Resources

License

Stars

Watchers

Forks