{"categories":[{"label":"Libraries","url":"https://skillfed.io/packages/category/software-development-libraries/9"},{"label":"Build Tools","url":"https://skillfed.io/packages/category/software-development-build-tools/5"}],"enrichment":{"capability":"Provides an async Python API and CLI for interacting with UniFi Protect surveillance systems on Ubiquiti hardware, supporting camera control, event management, and real-time updates via WebSocket.","skillfed_tags":["async-api","home-automation","surveillance"],"use_cases":["Integrate UniFi Protect cameras and events into Home Assistant for home automation workflows.","Build custom monitoring dashboards or alerting systems that consume UniFi Protect events via WebSocket.","Automate camera settings, recordings, or device management across multiple UniFi Protect instances.","Export event logs or generate sample data for testing and analysis.","Develop CLI tools to query NVR status, manage API keys, or control connected devices remotely."],"what_it_does":"uiprotect is an async Python library that communicates with UniFi Protect surveillance software running on Ubiquiti hardware (CloudKey+, UNVR, Dream Machine Pro/SE/Pro Max). It exposes both a programmatic API via ProtectApiClient and a command-line interface for managing cameras, events, sensors, lights, and other devices. The library is primarily designed for Home Assistant integration but can be used standalone.\n\nThe library increasingly relies on Ubiquiti's official Public Integration API where available, falling back to undocumented private APIs for features not yet exposed officially. It is built entirely on async/await patterns and communicates via WebSocket for real-time updates. Authentication supports both username/password and API-key modes, with public-only mode available for API-key-only workflows. Core dependencies include aiohttp for HTTP, PyAV for audio streaming to speakers, pydantic for data validation, and orjson for fast JSON parsing.","worth_installing":"Yes. The package is actively maintained, has no known vulnerabilities, carries a permissive MIT license, and low install friction. It is production-stable (Development Status 5) and well-suited for Home Assistant users or developers building UniFi Protect integrations. The primary constraint is the requirement for Python 3.11+, a POSIX system, and network access to a UniFi Protect 7.1+ instance; Windows users must use Docker or WSL."},"id":"uiprotect","links":{"html":"https://skillfed.io/packages/uiprotect","md":"https://skillfed.io/packages/uiprotect.md","pypi":"https://pypi.org/project/uiprotect/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-07-15","license_spdx":"MIT","license_treatment":"permissive","name":"uiprotect","python_support":"supports_current","summary":"Python API for Unifi Protect (Unofficial)"},"popularity":{"monthly_downloads":111088,"position":12434,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"15.14.2"}
