--- id: plugp100 version: "6.0.1" license: GPL-3.0-only license_treatment: copyleft maintenance: active --- # plugp100 — Controller for TP-Link Tapo P100 and other devices License: copyleft · Maintenance: active · Downloads: 137.5K/mo ## What it is and what it does plugp100 is an async Python client for TP-Link Tapo smart home devices. It abstracts device communication behind a component-based architecture, where each device (plug, bulb, hub) is composed of capability components like OnOff, Energy, Overheating, and sensors. The library handles multiple encryption protocols (Klap v1, Klap v2, Passthrough) and can auto-detect device type and protocol when given only an IP address and credentials. You use it to discover Tapo devices on your network, connect to them by IP, and read or control their state—turning plugs on/off, reading energy consumption, managing hub-connected sensors, and controlling smart bulbs and LED strips. All operations are async, making it suitable for integration into larger home automation systems or concurrent device management. Use it for: - Discover and enumerate all Tapo devices on a home network to build a device inventory. - Build a home automation dashboard that reads real-time energy consumption from Tapo smart plugs. - Control multiple Tapo bulbs and plugs programmatically based on time, sensor input, or external events. - Monitor temperature and humidity sensors connected to a Tapo Hub H100 and trigger actions. - Integrate Tapo device control into a larger IoT orchestration or home assistant platform. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. A Python library for controlling and discovering TP-Link Tapo smart devices (plugs, bulbs, hubs, and sensors) over the network using async I/O and multiple encryption protocols. Yes, if you own TP-Link Tapo devices and need programmatic control. The library is actively maintained, has low install friction, supports Python 3.10, 3.11, and 3.12, and covers a wide range of Tapo hardware. The GPL-3.0-only copyleft license is a consideration for proprietary integrations. No known security vulnerabilities. ## Install pip install plugp100 uv add plugp100 poetry add plugp100 ## Installing plugp100 Before you install: Low install friction with a pure-Python wheel. Active maintenance with a recent release and steady repository activity. Requires Python 3.10 or later. License in practice: GPL-3.0-only copyleft license means any derivative work must also be licensed under GPL-3.0; suitable for open-source projects but requires careful review if integrating into proprietary software. Quickstart: pip install plugp100 import asyncio from plugp100.common.credentials import AuthCredential from plugp100.devices.factory import connect, DeviceConnectConfiguration async def main(): credentials = AuthCredential("username", "password") config = DeviceConnectConfiguration(host="device_ip", credentials=credentials) device = await connect(config) await device.update() print(device.raw_state) asyncio.run(main()) Requires Python 3.10 or later; device must be on the same network and credentials must be valid Tapo account credentials. Verify before relying: - Whether all listed device types (water leak sensors, door locks, temperature/humidity sensors) are fully functional or still in development. - Performance characteristics when controlling many devices simultaneously or on high-latency networks. - Compatibility with Tapo devices released after the library's last update. ## Package facts - License: GPL-3.0-only (copyleft) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 137.5K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags tapo smart plug control, tp-link tapo device library, smart home device automation, tapo device discovery, tapo bulb plug hub control, tapo async python client, smart plug energy monitoring, smart-home, async-io, device-control [View on SkillFed](https://skillfed.io/packages/plugp100) · [View on PyPI](https://pypi.org/project/plugp100/)