--- id: pytapo version: "3.4.18" license: MIT license_treatment: permissive maintenance: active --- # pytapo — Python library for communication with Tapo Cameras License: permissive · Maintenance: active · Downloads: 473.8K/mo ## What it is and what it does PyTapo wraps HTTP requests to Tapo camera APIs, providing a Python interface for querying camera state and controlling features like pan/tilt, privacy mode, and reboots. It handles authentication (which varies by camera model and firmware), session management via the requests and urllib3 libraries, and encryption via pycryptodome. The library also supports downloading and converting SD card recordings using ffmpeg. The package is used as the backend for the Home Assistant Tapo Control integration. It depends on requests, urllib3, pycryptodome for cryptographic operations, rtp for stream handling, and python-kasa for related device communication. Authentication typically uses credentials from the Tapo App's camera account, though some models may require TP-Link cloud credentials instead. Use it for: - Retrieve live camera status and configuration from a Tapo IP camera in a home automation script. - Control camera features (pan, tilt, privacy mode, reboot) programmatically from a Python application. - Download and convert recorded video from a camera's SD card using the library's recording API. - Integrate Tapo camera control into Home Assistant or other home automation platforms. - Monitor multiple Tapo cameras and log their state changes over time. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. PyTapo is a Python library that communicates with Tapo IP cameras over the network, allowing you to retrieve camera information, control settings, and download recordings. Yes. PyTapo is actively maintained, has low install friction, carries no known vulnerabilities, and uses a permissive MIT license. It fills a clear need for programmatic Tapo camera control in Python. Install it if you own a Tapo camera and need to automate or integrate it into a larger system—but verify your camera model and firmware are supported, as authentication methods vary. ## Install pip install pytapo uv add pytapo poetry add pytapo ## Installing pytapo Before you install: Low install friction with a pure-Python wheel distribution. The package is actively maintained with a recent release and 457 GitHub stars, indicating stable community adoption. License in practice: MIT license permits free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects. Quickstart: pip install pytapo from pytapo import Tapo user = "camera_account_user" password = "camera_account_password" host = "192.168.1.52" tapo = Tapo(host, user, password) print(tapo.getBasicInfo()) Requires Python 3.13 and valid Tapo camera credentials (camera account created via Tapo App or TP-Link cloud account). Camera must be on the same network and accessible by IP address. Verify before relying: - Whether Python 3.13 is a hard requirement or if earlier Python 3.x versions are supported despite the documentation stating 3.13. - Full scope of camera models and firmware versions supported—documentation mentions variations in authentication method. - Whether ffmpeg is required for all use cases or only for recording download functionality. ## Package facts - License: MIT (permissive) - Python support: unspecified - Install friction: low - Maintenance: active - Downloads: 473.8K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags tapo camera python library, tp-link tapo control api, ip camera communication python, tapo camera integration, tapo stream recording download, tapo camera authentication, network camera control library, home-automation, camera-control, ip-camera [View on SkillFed](https://skillfed.io/packages/pytapo) · [View on PyPI](https://pypi.org/project/pytapo/)