uiprotect 7.10.1__tar.gz → 7.12.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of uiprotect might be problematic. Click here for more details.
- {uiprotect-7.10.1 → uiprotect-7.12.0}/PKG-INFO +1 -1
- {uiprotect-7.10.1 → uiprotect-7.12.0}/pyproject.toml +6 -6
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/api.py +6 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/data/types.py +1 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/LICENSE +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/README.md +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/__init__.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/__main__.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/_compat.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/cli/__init__.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/cli/aiports.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/cli/backup.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/cli/base.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/cli/cameras.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/cli/chimes.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/cli/doorlocks.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/cli/events.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/cli/lights.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/cli/liveviews.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/cli/nvr.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/cli/sensors.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/cli/viewers.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/data/__init__.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/data/base.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/data/bootstrap.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/data/convert.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/data/devices.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/data/nvr.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/data/user.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/data/websocket.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/exceptions.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/py.typed +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/release_cache.json +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/stream.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/test_util/__init__.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/test_util/anonymize.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/utils.py +0 -0
- {uiprotect-7.10.1 → uiprotect-7.12.0}/src/uiprotect/websocket.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "uiprotect"
|
|
3
|
-
version = "7.
|
|
3
|
+
version = "7.12.0"
|
|
4
4
|
license = "MIT"
|
|
5
5
|
description = "Python API for Unifi Protect (Unofficial)"
|
|
6
6
|
authors = [{ name = "UI Protect Maintainers", email = "ui@koston.org" }]
|
|
@@ -59,10 +59,10 @@ pytest-asyncio = ">=0.23.7,<0.27.0"
|
|
|
59
59
|
pytest-benchmark = ">=4,<6"
|
|
60
60
|
pytest-sugar = "^1.0.0"
|
|
61
61
|
pytest-timeout = "^2.4.0"
|
|
62
|
-
pytest-xdist = "^3.
|
|
62
|
+
pytest-xdist = "^3.7.0"
|
|
63
63
|
types-aiofiles = ">=23.2.0.20240403,<25.0.0.0"
|
|
64
|
-
types-dateparser = "^1.2.0.
|
|
65
|
-
mypy = "^1.
|
|
64
|
+
types-dateparser = "^1.2.0.20250601"
|
|
65
|
+
mypy = "^1.16.0"
|
|
66
66
|
|
|
67
67
|
[tool.poetry.group.docs]
|
|
68
68
|
optional = true
|
|
@@ -76,10 +76,10 @@ mike = "^2.1.1"
|
|
|
76
76
|
mkdocs-material = "^9.6.14"
|
|
77
77
|
mkdocs-material-extensions = "^1.3.1"
|
|
78
78
|
pymdown-extensions = "^10.8.1"
|
|
79
|
-
mkdocs-git-revision-date-localized-plugin = "^1.
|
|
79
|
+
mkdocs-git-revision-date-localized-plugin = "^1.4.7"
|
|
80
80
|
mkdocs-include-markdown-plugin = ">=6.1.1,<8.0.0"
|
|
81
81
|
mkdocstrings = ">=0.25.1,<0.30.0"
|
|
82
|
-
mkdocstrings-python = "^1.
|
|
82
|
+
mkdocstrings-python = "^1.16.12"
|
|
83
83
|
|
|
84
84
|
[tool.semantic_release]
|
|
85
85
|
version_toml = ["pyproject.toml:project.version"]
|
|
@@ -163,6 +163,7 @@ class BaseApiClient:
|
|
|
163
163
|
_port: int
|
|
164
164
|
_username: str
|
|
165
165
|
_password: str
|
|
166
|
+
_api_key: str | None = None
|
|
166
167
|
_verify_ssl: bool
|
|
167
168
|
_ws_timeout: int
|
|
168
169
|
|
|
@@ -189,6 +190,7 @@ class BaseApiClient:
|
|
|
189
190
|
port: int,
|
|
190
191
|
username: str,
|
|
191
192
|
password: str,
|
|
193
|
+
api_key: str | None = None,
|
|
192
194
|
verify_ssl: bool = True,
|
|
193
195
|
session: aiohttp.ClientSession | None = None,
|
|
194
196
|
ws_timeout: int = 30,
|
|
@@ -203,6 +205,7 @@ class BaseApiClient:
|
|
|
203
205
|
|
|
204
206
|
self._username = username
|
|
205
207
|
self._password = password
|
|
208
|
+
self._api_key = api_key
|
|
206
209
|
self._verify_ssl = verify_ssl
|
|
207
210
|
self._ws_timeout = ws_timeout
|
|
208
211
|
self._ws_receive_timeout = ws_receive_timeout
|
|
@@ -727,6 +730,7 @@ class ProtectApiClient(BaseApiClient):
|
|
|
727
730
|
port: UFP HTTPS port
|
|
728
731
|
username: UFP username
|
|
729
732
|
password: UFP password
|
|
733
|
+
api_key: API key for UFP
|
|
730
734
|
verify_ssl: Verify HTTPS certificate (default: `True`)
|
|
731
735
|
session: Optional aiohttp session to use (default: generate one)
|
|
732
736
|
override_connection_host: Use `host` as your `connection_host` for RTSP stream instead of using the one provided by UniFi Protect.
|
|
@@ -754,6 +758,7 @@ class ProtectApiClient(BaseApiClient):
|
|
|
754
758
|
port: int,
|
|
755
759
|
username: str,
|
|
756
760
|
password: str,
|
|
761
|
+
api_key: str | None = None,
|
|
757
762
|
verify_ssl: bool = True,
|
|
758
763
|
session: aiohttp.ClientSession | None = None,
|
|
759
764
|
ws_timeout: int = 30,
|
|
@@ -773,6 +778,7 @@ class ProtectApiClient(BaseApiClient):
|
|
|
773
778
|
port=port,
|
|
774
779
|
username=username,
|
|
775
780
|
password=password,
|
|
781
|
+
api_key=api_key,
|
|
776
782
|
verify_ssl=verify_ssl,
|
|
777
783
|
session=session,
|
|
778
784
|
ws_timeout=ws_timeout,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|