--- id: tplink-omada-client version: "1.5.9" license: unclear license_treatment: permissive maintenance: active --- # tplink-omada-client — Python wrapper for TP-Link Omada SDN Controller API (OC200/OC300/Software Controller) License: permissive · Maintenance: active · Downloads: 159.1K/mo ## What it is and what it does This package wraps the TP-Link Omada controller API, allowing Python code to authenticate with and query Omada SDN controllers (OC200, OC300, or software versions). It handles login and session management automatically and exposes a subset of the controller's capabilities: site enumeration, device discovery, firmware status, port configuration for switches and access points, and WAN control for gateways. The library also includes a CLI tool for one-off queries and multi-controller management. The package depends on aiohttp and awesomeversion for async HTTP communication and version handling. It requires Python 3.13 and is tested against Omada Controller versions 5.5.7 through 6.2.x; earlier versions like 5.0.x are explicitly incompatible. The API surface is large but only partially exposed; the maintainer notes that the platform is transitioning to OpenAPI and eventual OAuth authentication, though the current implementation uses the legacy authentication style. Use it for: - Automate device discovery and inventory collection from Omada-managed networks - Monitor and control gateway WAN connections programmatically - Retrieve firmware versions and trigger automatic updates across managed devices - Query switch port status and configure LAN settings for access points - Build monitoring dashboards or alerting systems that pull data from multiple Omada sites ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. A Python client library for interacting with TP-Link Omada SDN controllers, providing programmatic access to device management, site configuration, and network status. Yes, if you manage TP-Link Omada networks and need programmatic access. The package is actively maintained, has low install friction, and covers common management tasks. Verify that your Omada Controller version falls within the tested range (5.5.7–6.2.x) and that the exposed API surface meets your needs, as only a subset of the controller's full capabilities is currently supported. ## Install pip install tplink-omada-client uv add tplink-omada-client poetry add tplink-omada-client ## Installing tplink-omada-client Before you install: Low install friction with only two runtime dependencies (aiohttp and awesomeversion). The package is actively maintained with a recent release, though it requires Python 3.13 or later. 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 tplink-omada-client from tplink_omada_client import OmadaClient client = OmadaClient(url='https://your.omada.controller', username='admin', password='password') await client.login() Requires Python 3.13 or later; version 1.5.9 specifically requires Python 3.13. Verify before relying: - Extent of API coverage beyond the documented subset of features - Compatibility with Omada Controller versions outside the tested range (5.5.7 - 6.2.x) - Performance characteristics under high-frequency polling or large device counts ## Package facts - License: not declared (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 159.1K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags tp-link omada controller api, omada sdn client library, tp-link network management python, omada device management, tp-link controller automation, omada api wrapper, network controller client, network-management, sdn-controller, async-http [View on SkillFed](https://skillfed.io/packages/tplink-omada-client) · [View on PyPI](https://pypi.org/project/tplink-omada-client/)