uiprotect 6.3.1__tar.gz → 6.4.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.

Files changed (37) hide show
  1. {uiprotect-6.3.1 → uiprotect-6.4.0}/PKG-INFO +2 -1
  2. {uiprotect-6.3.1 → uiprotect-6.4.0}/pyproject.toml +2 -2
  3. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/data/devices.py +11 -0
  4. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/stream.py +2 -6
  5. {uiprotect-6.3.1 → uiprotect-6.4.0}/LICENSE +0 -0
  6. {uiprotect-6.3.1 → uiprotect-6.4.0}/README.md +0 -0
  7. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/__init__.py +0 -0
  8. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/__main__.py +0 -0
  9. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/_compat.py +0 -0
  10. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/api.py +0 -0
  11. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/cli/__init__.py +0 -0
  12. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/cli/backup.py +0 -0
  13. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/cli/base.py +0 -0
  14. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/cli/cameras.py +0 -0
  15. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/cli/chimes.py +0 -0
  16. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/cli/doorlocks.py +0 -0
  17. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/cli/events.py +0 -0
  18. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/cli/lights.py +0 -0
  19. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/cli/liveviews.py +0 -0
  20. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/cli/nvr.py +0 -0
  21. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/cli/sensors.py +0 -0
  22. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/cli/viewers.py +0 -0
  23. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/data/__init__.py +0 -0
  24. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/data/base.py +0 -0
  25. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/data/bootstrap.py +0 -0
  26. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/data/convert.py +0 -0
  27. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/data/nvr.py +0 -0
  28. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/data/types.py +0 -0
  29. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/data/user.py +0 -0
  30. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/data/websocket.py +0 -0
  31. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/exceptions.py +0 -0
  32. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/py.typed +0 -0
  33. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/release_cache.json +0 -0
  34. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/test_util/__init__.py +0 -0
  35. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/test_util/anonymize.py +0 -0
  36. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/utils.py +0 -0
  37. {uiprotect-6.3.1 → uiprotect-6.4.0}/src/uiprotect/websocket.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: uiprotect
3
- Version: 6.3.1
3
+ Version: 6.4.0
4
4
  Summary: Python API for Unifi Protect (Unofficial)
5
5
  Home-page: https://github.com/uilibs/uiprotect
6
6
  Author: UI Protect Maintainers
@@ -15,6 +15,7 @@ Classifier: Programming Language :: Python :: 3
15
15
  Classifier: Programming Language :: Python :: 3.10
16
16
  Classifier: Programming Language :: Python :: 3.11
17
17
  Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: 3.13
18
19
  Classifier: Topic :: Software Development :: Build Tools
19
20
  Classifier: Topic :: Software Development :: Libraries
20
21
  Requires-Dist: aiofiles (>=24)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "uiprotect"
3
- version = "6.3.1"
3
+ version = "6.4.0"
4
4
  description = "Python API for Unifi Protect (Unofficial)"
5
5
  authors = ["UI Protect Maintainers <ui@koston.org>"]
6
6
  readme = "README.md"
@@ -54,7 +54,7 @@ pytest-cov = ">=3,<6"
54
54
  aiosqlite = ">=0.20.0"
55
55
  asttokens = "^2.4.1"
56
56
  pytest-asyncio = ">=0.23.7,<0.25.0"
57
- pytest-benchmark = "^4.0.0"
57
+ pytest-benchmark = ">=4,<6"
58
58
  pytest-sugar = "^1.0.0"
59
59
  pytest-timeout = "^2.3.1"
60
60
  pytest-xdist = "^3.6.1"
@@ -273,6 +273,7 @@ class CameraChannel(ProtectBaseObject):
273
273
 
274
274
  _rtsp_url: str | None = PrivateAttr(None)
275
275
  _rtsps_url: str | None = PrivateAttr(None)
276
+ _rtsps_no_srtp_url: str | None = PrivateAttr(None)
276
277
 
277
278
  @property
278
279
  def rtsp_url(self) -> str | None:
@@ -294,6 +295,16 @@ class CameraChannel(ProtectBaseObject):
294
295
  self._rtsps_url = f"rtsps://{self._api.connection_host}:{self._api.bootstrap.nvr.ports.rtsps}/{self.rtsp_alias}?enableSrtp"
295
296
  return self._rtsps_url
296
297
 
298
+ @property
299
+ def rtsps_no_srtp_url(self) -> str | None:
300
+ if not self.is_rtsp_enabled or self.rtsp_alias is None:
301
+ return None
302
+
303
+ if self._rtsps_no_srtp_url is not None:
304
+ return self._rtsps_no_srtp_url
305
+ self._rtsps_no_srtp_url = f"rtsps://{self._api.connection_host}:{self._api.bootstrap.nvr.ports.rtsps}/{self.rtsp_alias}"
306
+ return self._rtsps_no_srtp_url
307
+
297
308
  @property
298
309
  def is_package(self) -> bool:
299
310
  return self.fps <= 2
@@ -130,10 +130,6 @@ class TalkbackStream(FfmpegCommand):
130
130
  if len(input_args) > 0:
131
131
  input_args += " "
132
132
 
133
- bitrate = camera.talkback_settings.bits_per_sample * 1000
134
- # 8000 seems to result in best quality without overloading the camera
135
- udp_bitrate = bitrate + 8000
136
-
137
133
  # vn = no video
138
134
  # acodec = audio codec to encode output in (aac)
139
135
  # ac = number of output channels (1)
@@ -143,8 +139,8 @@ class TalkbackStream(FfmpegCommand):
143
139
  "-loglevel info -hide_banner "
144
140
  f'{input_args}-i "{content_url}" -vn '
145
141
  f"-acodec {camera.talkback_settings.type_fmt.value} -ac {camera.talkback_settings.channels} "
146
- f"-ar {camera.talkback_settings.sampling_rate} -b:a {bitrate} -map 0:a "
147
- f'-f adts "udp://{camera.host}:{camera.talkback_settings.bind_port}?bitrate={udp_bitrate}"'
142
+ f"-ar {camera.talkback_settings.sampling_rate} -b:a {camera.talkback_settings.sampling_rate} -map 0:a "
143
+ f'-f adts "udp://{camera.host}:{camera.talkback_settings.bind_port}?bitrate={camera.talkback_settings.sampling_rate}"'
148
144
  )
149
145
 
150
146
  super().__init__(cmd, ffmpeg_path)
File without changes
File without changes