{"library":"pytapo","title":"PyTapo: Tapo Camera Communication Library","description":"PyTapo is an unofficial Python library designed for communication with Tapo Cameras. It facilitates interoperability by wrapping HTTP requests used to control and retrieve data from Tapo devices. The library is actively maintained, currently at version 3.4.13, and receives regular updates focused on bug fixes, performance enhancements, and support for new camera features such as dual-cam linkage.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install pytapo"],"cli":null},"imports":["from pytapo import Tapo"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom pytapo import Tapo\n\n# It's recommended to store sensitive information in environment variables.\nhost = os.environ.get('TAPO_CAMERA_HOST', '192.168.1.100') # Replace with your camera's IP\nuser = os.environ.get('TAPO_CAMERA_USER', 'camera_username') # Camera Account username from Tapo App\npassword = os.environ.get('TAPO_CAMERA_PASSWORD', 'camera_password') # Camera Account password from Tapo App\n\ntry:\n    tapo = Tapo(host, user, password)\n    basic_info = tapo.getBasicInfo()\n    print(f\"Successfully connected to Tapo camera {host}.\")\n    print(f\"Device Name: {basic_info['device_name']}\")\n    print(f\"Device ID: {basic_info['device_id']}\")\nexcept Exception as e:\n    print(f\"Failed to connect to Tapo camera: {e}\")\n    print(\"Please ensure the host, username, and password are correct.\")\n    print(\"For authentication, use the 'Camera Account' created in the Tapo App (Settings > Advanced settings > Camera account).\")\n","lang":"python","description":"Initialize the `Tapo` class with your camera's IP address, username, and password, then retrieve basic device information. Ensure you use the 'Camera Account' credentials set up in the Tapo mobile application.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"3.4.13","pypi_latest":"3.4.13","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":7.2,"avg_import_s":2.14,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pytapo","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"67.4M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pytapo","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":9.2,"import_time_s":null,"mem_mb":null,"disk_size":"69M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pytapo","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":2.07,"mem_mb":25.7,"disk_size":"64.5M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pytapo","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":6.1,"import_time_s":1.76,"mem_mb":25.7,"disk_size":"67M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pytapo","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":2.3,"mem_mb":25.5,"disk_size":"55.8M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pytapo","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.8,"import_time_s":2.23,"mem_mb":25.5,"disk_size":"59M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pytapo","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":2.29,"mem_mb":26,"disk_size":"55.6M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pytapo","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":5.3,"import_time_s":2.18,"mem_mb":26,"disk_size":"58M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pytapo","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"69.5M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pytapo","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":10.7,"import_time_s":null,"mem_mb":null,"disk_size":"72M"}]}}