python-aidot-cameras 0.7.36__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.
Files changed (72) hide show
  1. {python_aidot_cameras-0.7.36/src/python_aidot_cameras.egg-info → python_aidot_cameras-0.9.0}/PKG-INFO +2 -1
  2. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/pyproject.toml +8 -1
  3. python_aidot_cameras-0.9.0/src/aidot/camera/client.py +3714 -0
  4. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/camera/models.py +6 -0
  5. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/camera/protocol.py +8 -2
  6. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/camera/sdes.py +14 -0
  7. python_aidot_cameras-0.9.0/src/aidot/camera/sdes_open.py +3670 -0
  8. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/camera/webrtc.py +58 -0
  9. python_aidot_cameras-0.9.0/src/aidot/camera/webrtc_open.py +3342 -0
  10. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/const.py +0 -1
  11. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/device_client.py +12 -4
  12. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0/src/python_aidot_cameras.egg-info}/PKG-INFO +2 -1
  13. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/python_aidot_cameras.egg-info/SOURCES.txt +6 -0
  14. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/python_aidot_cameras.egg-info/requires.txt +1 -0
  15. python_aidot_cameras-0.9.0/tests/test_aioice_compat.py +54 -0
  16. python_aidot_cameras-0.9.0/tests/test_ice_config_cache.py +60 -0
  17. python_aidot_cameras-0.9.0/tests/test_persistent_mqtt_robustness.py +127 -0
  18. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_post_merge_hardening.py +12 -0
  19. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_sdes_talk.py +17 -2
  20. python_aidot_cameras-0.9.0/tests/test_session_stats.py +81 -0
  21. python_aidot_cameras-0.7.36/src/aidot/camera/client.py +0 -10495
  22. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/LICENSE +0 -0
  23. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/MANIFEST.in +0 -0
  24. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/README.md +0 -0
  25. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/setup.cfg +0 -0
  26. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/__init__.py +0 -0
  27. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/aes_utils.py +0 -0
  28. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/camera/__init__.py +0 -0
  29. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/camera/constants.py +0 -0
  30. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/camera/controls.py +0 -0
  31. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/camera/go2rtc.py +0 -0
  32. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/camera/lan_control.py +0 -0
  33. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/camera/playback.py +0 -0
  34. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/camera/tutk.py +0 -0
  35. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/client.py +0 -0
  36. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/credentials.py +0 -0
  37. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/discover.py +0 -0
  38. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/exceptions.py +0 -0
  39. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/g711.py +0 -0
  40. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/login_const.py +0 -0
  41. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/models/__init__.py +0 -0
  42. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/models/device_client_model.py +0 -0
  43. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/models/device_model.py +0 -0
  44. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/models/discover_model.py +0 -0
  45. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/aidot/py.typed +0 -0
  46. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/python_aidot_cameras.egg-info/dependency_links.txt +0 -0
  47. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/src/python_aidot_cameras.egg-info/top_level.txt +0 -0
  48. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_alarm_event.py +0 -0
  49. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_backoff.py +0 -0
  50. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_device_login_guard.py +0 -0
  51. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_go2rtc.py +0 -0
  52. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_highport_nomination.py +0 -0
  53. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_lan_control.py +0 -0
  54. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_live_stream_param.py +0 -0
  55. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_motion_poll.py +0 -0
  56. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_no_undefined_names.py +0 -0
  57. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_persistent_mqtt.py +0 -0
  58. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_sdes_adaptive.py +0 -0
  59. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_sdes_fast_liveplay.py +0 -0
  60. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_sdes_idle_release.py +0 -0
  61. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_sdes_serve_audio.py +0 -0
  62. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_sdes_serve_cmd.py +0 -0
  63. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_sdes_sprop.py +0 -0
  64. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_sdes_watchdog.py +0 -0
  65. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_serve_relay.py +0 -0
  66. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_speak.py +0 -0
  67. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_stream_cap.py +0 -0
  68. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_stream_idle.py +0 -0
  69. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_stream_teardown.py +0 -0
  70. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_talk.py +0 -0
  71. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_terminal_ack.py +0 -0
  72. {python_aidot_cameras-0.7.36 → python_aidot_cameras-0.9.0}/tests/test_token_refresh.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-aidot-cameras
3
- Version: 0.7.36
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.36"
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",