python-aidot-cameras 0.8.0__tar.gz → 0.9.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.
- {python_aidot_cameras-0.8.0/src/python_aidot_cameras.egg-info → python_aidot_cameras-0.9.0}/PKG-INFO +2 -1
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/pyproject.toml +8 -1
- python_aidot_cameras-0.9.0/src/aidot/camera/client.py +3714 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/camera/models.py +6 -0
- python_aidot_cameras-0.9.0/src/aidot/camera/sdes_open.py +3670 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/camera/webrtc.py +58 -0
- python_aidot_cameras-0.9.0/src/aidot/camera/webrtc_open.py +3342 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/device_client.py +12 -4
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0/src/python_aidot_cameras.egg-info}/PKG-INFO +2 -1
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/python_aidot_cameras.egg-info/SOURCES.txt +5 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/python_aidot_cameras.egg-info/requires.txt +1 -0
- python_aidot_cameras-0.9.0/tests/test_aioice_compat.py +54 -0
- python_aidot_cameras-0.9.0/tests/test_ice_config_cache.py +60 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_post_merge_hardening.py +12 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_sdes_talk.py +17 -2
- python_aidot_cameras-0.9.0/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 → python_aidot_cameras-0.9.0}/LICENSE +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/MANIFEST.in +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/README.md +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/setup.cfg +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/__init__.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/aes_utils.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/camera/__init__.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/camera/constants.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/camera/controls.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/camera/go2rtc.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/camera/lan_control.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/camera/playback.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/camera/protocol.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/camera/sdes.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/camera/tutk.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/client.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/const.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/credentials.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/discover.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/exceptions.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/g711.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/login_const.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/models/__init__.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/models/device_client_model.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/models/device_model.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/models/discover_model.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/aidot/py.typed +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/python_aidot_cameras.egg-info/dependency_links.txt +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/src/python_aidot_cameras.egg-info/top_level.txt +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_alarm_event.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_backoff.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_device_login_guard.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_go2rtc.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_highport_nomination.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_lan_control.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_live_stream_param.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_motion_poll.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_no_undefined_names.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_persistent_mqtt.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_persistent_mqtt_robustness.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_sdes_adaptive.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_sdes_fast_liveplay.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_sdes_idle_release.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_sdes_serve_audio.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_sdes_serve_cmd.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_sdes_sprop.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_sdes_watchdog.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_serve_relay.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_speak.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_stream_cap.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_stream_idle.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_stream_teardown.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_talk.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_terminal_ack.py +0 -0
- {python_aidot_cameras-0.8.0 → python_aidot_cameras-0.9.0}/tests/test_token_refresh.py +0 -0
{python_aidot_cameras-0.8.0/src/python_aidot_cameras.egg-info → python_aidot_cameras-0.9.0}/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.0
|
|
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
|
|
@@ -18,6 +18,7 @@ Requires-Dist: pycryptodome
|
|
|
18
18
|
Requires-Dist: dacite
|
|
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.0"
|
|
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"
|
|
@@ -26,6 +26,13 @@ dependencies = [
|
|
|
26
26
|
[project.optional-dependencies]
|
|
27
27
|
webrtc = [
|
|
28
28
|
"aiortc>=1.9.0",
|
|
29
|
+
# aioice arrives transitively via aiortc, but we monkeypatch its private
|
|
30
|
+
# internals (Connection.build_request / _check_list / _nominated) for the
|
|
31
|
+
# A000088 high-port nomination fix and read them for stream diagnostics.
|
|
32
|
+
# Pin the tested range so a surprise bump that reshapes those internals is
|
|
33
|
+
# caught at install/CI (test_aioice_compat.py) instead of silently degrading
|
|
34
|
+
# streaming. Widen this deliberately after re-validating the patch.
|
|
35
|
+
"aioice>=0.9.0,<0.12",
|
|
29
36
|
"av",
|
|
30
37
|
"pylibsrtp",
|
|
31
38
|
"pyopenssl",
|