skillfed

tplink-omada-client

Python wrapper for TP-Link Omada SDN Controller API (OC200/OC300/Software Controller)

tplink-omada-client v1.5.9 159.1K downloads/30d#10,708 on PyPI39
Permissive license Active released

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

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

tplink-omada-client on PyPI

pip

pip install tplink-omada-client

uv

uv add tplink-omada-client

poetry

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 the current Python release (>=3.13)
Install friction low — pure-Python wheel
Runtime dependencies 2 — aiohttp, awesomeversion
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)

Evidence: tplink_omada_client-1.5.9-py3-none-any.whl

License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3.13

Tags

tp-link omada controller apiomada sdn client librarytp-link network management pythonomada device managementtp-link controller automationomada api wrappernetwork controller client
network-managementsdn-controllerasync-http

More Networking packages