python-aidot-cameras 0.8.0__tar.gz → 0.9.1__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.
- {python_aidot_cameras-0.8.0/src/python_aidot_cameras.egg-info → python_aidot_cameras-0.9.1}/PKG-INFO +6 -5
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/pyproject.toml +17 -5
- python_aidot_cameras-0.9.1/src/aidot/camera/client.py +3714 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/camera/models.py +8 -2
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/camera/playback.py +2 -2
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/camera/protocol.py +16 -16
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/camera/sdes.py +7 -7
- python_aidot_cameras-0.9.1/src/aidot/camera/sdes_open.py +3670 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/camera/tutk.py +2 -2
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/camera/webrtc.py +62 -4
- python_aidot_cameras-0.9.1/src/aidot/camera/webrtc_open.py +3342 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/device_client.py +12 -4
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1/src/python_aidot_cameras.egg-info}/PKG-INFO +6 -5
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/python_aidot_cameras.egg-info/SOURCES.txt +5 -0
- python_aidot_cameras-0.9.1/src/python_aidot_cameras.egg-info/requires.txt +14 -0
- python_aidot_cameras-0.9.1/tests/test_aioice_compat.py +54 -0
- python_aidot_cameras-0.9.1/tests/test_ice_config_cache.py +60 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_post_merge_hardening.py +12 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_sdes_talk.py +17 -2
- python_aidot_cameras-0.9.1/tests/test_session_stats.py +81 -0
- python_aidot_cameras-0.8.0/src/aidot/camera/client.py +0 -10557
- python_aidot_cameras-0.8.0/src/python_aidot_cameras.egg-info/requires.txt +0 -13
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/LICENSE +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/MANIFEST.in +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/README.md +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/setup.cfg +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/__init__.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/aes_utils.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/camera/__init__.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/camera/constants.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/camera/controls.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/camera/go2rtc.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/camera/lan_control.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/client.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/const.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/credentials.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/discover.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/exceptions.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/g711.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/login_const.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/models/__init__.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/models/device_client_model.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/models/device_model.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/models/discover_model.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/aidot/py.typed +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/python_aidot_cameras.egg-info/dependency_links.txt +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/src/python_aidot_cameras.egg-info/top_level.txt +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_alarm_event.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_backoff.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_device_login_guard.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_go2rtc.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_highport_nomination.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_lan_control.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_live_stream_param.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_motion_poll.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_no_undefined_names.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_persistent_mqtt.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_persistent_mqtt_robustness.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_sdes_adaptive.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_sdes_fast_liveplay.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_sdes_idle_release.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_sdes_serve_audio.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_sdes_serve_cmd.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_sdes_sprop.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_sdes_watchdog.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_serve_relay.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_speak.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_stream_cap.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_stream_idle.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_stream_teardown.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_talk.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_terminal_ack.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.1}/tests/test_token_refresh.py +0 -0
{python_aidot_cameras-0.8.0/src/python_aidot_cameras.egg-info → python_aidot_cameras-0.9.1}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-aidot-cameras
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.9.1
|
|
4
4
|
Summary: Control AiDot/Leedarson WiFi lights and cameras (WebRTC streaming, two-way audio, PTZ, controls)
|
|
5
5
|
Author-email: cbrightly <chris.brightly@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -11,13 +11,14 @@ Classifier: Operating System :: OS Independent
|
|
|
11
11
|
Requires-Python: >=3.11
|
|
12
12
|
Description-Content-Type: text/markdown
|
|
13
13
|
License-File: LICENSE
|
|
14
|
-
Requires-Dist: aiohttp
|
|
14
|
+
Requires-Dist: aiohttp>=3.9
|
|
15
15
|
Requires-Dist: paho-mqtt>=2.0
|
|
16
|
-
Requires-Dist: cryptography
|
|
17
|
-
Requires-Dist: pycryptodome
|
|
18
|
-
Requires-Dist: dacite
|
|
16
|
+
Requires-Dist: cryptography>=42.0
|
|
17
|
+
Requires-Dist: pycryptodome>=3.20
|
|
18
|
+
Requires-Dist: dacite>=1.8
|
|
19
19
|
Provides-Extra: webrtc
|
|
20
20
|
Requires-Dist: aiortc>=1.9.0; extra == "webrtc"
|
|
21
|
+
Requires-Dist: aioice<0.12,>=0.9.0; extra == "webrtc"
|
|
21
22
|
Requires-Dist: av; extra == "webrtc"
|
|
22
23
|
Requires-Dist: pylibsrtp; extra == "webrtc"
|
|
23
24
|
Requires-Dist: pyopenssl; extra == "webrtc"
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "python-aidot-cameras"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.9.1"
|
|
8
8
|
description = "Control AiDot/Leedarson WiFi lights and cameras (WebRTC streaming, two-way audio, PTZ, controls)"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
@@ -15,17 +15,29 @@ classifiers = [
|
|
|
15
15
|
"Programming Language :: Python :: 3",
|
|
16
16
|
"Operating System :: OS Independent",
|
|
17
17
|
]
|
|
18
|
+
# Conservative lower bounds only - no upper caps. When installed under Home
|
|
19
|
+
# Assistant, HA core pins aiohttp/cryptography itself; an upper cap here would
|
|
20
|
+
# fight HA's resolver on the box. Floors just exclude ancient releases while
|
|
21
|
+
# leaving the consumer (or HA) free to use a newer version. Bump a floor only
|
|
22
|
+
# after re-validating against it.
|
|
18
23
|
dependencies = [
|
|
19
|
-
"aiohttp",
|
|
24
|
+
"aiohttp>=3.9",
|
|
20
25
|
"paho-mqtt>=2.0",
|
|
21
|
-
"cryptography",
|
|
22
|
-
"pycryptodome",
|
|
23
|
-
"dacite",
|
|
26
|
+
"cryptography>=42.0",
|
|
27
|
+
"pycryptodome>=3.20",
|
|
28
|
+
"dacite>=1.8",
|
|
24
29
|
]
|
|
25
30
|
|
|
26
31
|
[project.optional-dependencies]
|
|
27
32
|
webrtc = [
|
|
28
33
|
"aiortc>=1.9.0",
|
|
34
|
+
# aioice arrives transitively via aiortc, but we monkeypatch its private
|
|
35
|
+
# internals (Connection.build_request / _check_list / _nominated) for the
|
|
36
|
+
# A000088 high-port nomination fix and read them for stream diagnostics.
|
|
37
|
+
# Pin the tested range so a surprise bump that reshapes those internals is
|
|
38
|
+
# caught at install/CI (test_aioice_compat.py) instead of silently degrading
|
|
39
|
+
# streaming. Widen this deliberately after re-validating the patch.
|
|
40
|
+
"aioice>=0.9.0,<0.12",
|
|
29
41
|
"av",
|
|
30
42
|
"pylibsrtp",
|
|
31
43
|
"pyopenssl",
|