tplink-omada-client
Python wrapper for TP-Link Omada SDN Controller API (OC200/OC300/Software Controller)
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.13 or later; version 1.5.9 specifically requires Python 3.13.
- 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 · maintenance · safety
permissive license (permissive) — MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for both personal and commercial projects.
last release 2026-07-05 (40 days) · last repo commit 2026-07-05 · 39 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 159,067 downloads/mo, #10,708 on PyPI
Alternatives
Verify before relying
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()- 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
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 on this page. Verify before relying on it.
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
tplink-omada-client on PyPI
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.
Requires Python 3.13 or later; version 1.5.9 specifically requires Python 3.13.
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()
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 | permissive license permissive |
| Python support | Supports the current Python release >=3.13 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesaiohttpawesomeversion |
| Maintenance | Actively maintained 40 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 159,067 / month, #10,708 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3.13 |
Evidence: tplink_omada_client-1.5.9-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “tp-link omada controller api”
- tplink-omada-clientA Python client library for interacting with TP-Link Omada SDN…
- python-kasaControl TP-Link Kasa and Tapo smart home devices (plugs, switches,…
- pytapoPyTapo is a Python library that communicates with Tapo IP cameras…
Give your agent the search over MCP, or paste the wish link into any chat.
More Networking packages
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
psutil retrieves real-time information about running processes and system resources (CPU, memory, disks, network, sensors) across multiple operating systems, enabling system monitoring, process profiling, and resource management.
pyOpenSSL wraps OpenSSL's SSL/TLS functionality for Python, providing high-level connection objects and certificate handling through a Python-friendly interface around OpenSSL's cryptographic operations.
uvloop is a drop-in replacement for Python's built-in asyncio event loop, implemented in Cython and using libuv, that accelerates async I/O operations.
execnet lets you spawn and communicate with Python interpreters across local processes, remote hosts, and different platforms, using a simple API for task distribution and inter-process messaging.
However, the aging maintenance status (275 days since last release) means you should verify it meets your concurrency and performance needs before committing to a…
PyZMQ provides Python bindings for ZeroMQ (ØMQ), a lightweight messaging library that enables fast, asynchronous communication between distributed processes and applications.
See also python-kasa · boschshcpy · catalystwan · okta · aioqsw · os-ken · homematicip · scc-firewall-manager-sdk · nmcli · prisma-sase