getstream 3.3.0__tar.gz → 3.3.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.
Files changed (118) hide show
  1. {getstream-3.3.0 → getstream-3.3.1}/PKG-INFO +1 -1
  2. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/signaling.py +15 -4
  3. {getstream-3.3.0 → getstream-3.3.1}/.cursor/worktrees.json +0 -0
  4. {getstream-3.3.0 → getstream-3.3.1}/.env.example +0 -0
  5. {getstream-3.3.0 → getstream-3.3.1}/.github/actions/python-uv-setup/action.yml +0 -0
  6. {getstream-3.3.0 → getstream-3.3.1}/.github/workflows/ci.yml +0 -0
  7. {getstream-3.3.0 → getstream-3.3.1}/.github/workflows/release.yml +0 -0
  8. {getstream-3.3.0 → getstream-3.3.1}/.github/workflows/run_tests.yml +0 -0
  9. {getstream-3.3.0 → getstream-3.3.1}/.github/workflows/stream-py.code-workspace +0 -0
  10. {getstream-3.3.0 → getstream-3.3.1}/.gitignore +0 -0
  11. {getstream-3.3.0 → getstream-3.3.1}/.gitmodules +0 -0
  12. {getstream-3.3.0 → getstream-3.3.1}/.pre-commit-config.yaml +0 -0
  13. {getstream-3.3.0 → getstream-3.3.1}/AGENTS.md +0 -0
  14. {getstream-3.3.0 → getstream-3.3.1}/CHANGELOG.md +0 -0
  15. {getstream-3.3.0 → getstream-3.3.1}/DEVELOPMENT.md +0 -0
  16. {getstream-3.3.0 → getstream-3.3.1}/LICENSE.md +0 -0
  17. {getstream-3.3.0 → getstream-3.3.1}/MIGRATION_v2_to_v3.md +0 -0
  18. {getstream-3.3.0 → getstream-3.3.1}/Makefile +0 -0
  19. {getstream-3.3.0 → getstream-3.3.1}/README.md +0 -0
  20. {getstream-3.3.0 → getstream-3.3.1}/dev.py +0 -0
  21. {getstream-3.3.0 → getstream-3.3.1}/docs/migration-from-stream-chat-python/01-setup-and-auth.md +0 -0
  22. {getstream-3.3.0 → getstream-3.3.1}/docs/migration-from-stream-chat-python/02-users.md +0 -0
  23. {getstream-3.3.0 → getstream-3.3.1}/docs/migration-from-stream-chat-python/03-channels.md +0 -0
  24. {getstream-3.3.0 → getstream-3.3.1}/docs/migration-from-stream-chat-python/04-messages-and-reactions.md +0 -0
  25. {getstream-3.3.0 → getstream-3.3.1}/docs/migration-from-stream-chat-python/05-moderation.md +0 -0
  26. {getstream-3.3.0 → getstream-3.3.1}/docs/migration-from-stream-chat-python/06-devices.md +0 -0
  27. {getstream-3.3.0 → getstream-3.3.1}/docs/migration-from-stream-chat-python/README.md +0 -0
  28. {getstream-3.3.0 → getstream-3.3.1}/generate.sh +0 -0
  29. {getstream-3.3.0 → getstream-3.3.1}/generate_webrtc.sh +0 -0
  30. {getstream-3.3.0 → getstream-3.3.1}/getstream/__init__.py +0 -0
  31. {getstream-3.3.0 → getstream-3.3.1}/getstream/base.py +0 -0
  32. {getstream-3.3.0 → getstream-3.3.1}/getstream/chat/__init__.py +0 -0
  33. {getstream-3.3.0 → getstream-3.3.1}/getstream/chat/async_channel.py +0 -0
  34. {getstream-3.3.0 → getstream-3.3.1}/getstream/chat/async_client.py +0 -0
  35. {getstream-3.3.0 → getstream-3.3.1}/getstream/chat/async_rest_client.py +0 -0
  36. {getstream-3.3.0 → getstream-3.3.1}/getstream/chat/channel.py +0 -0
  37. {getstream-3.3.0 → getstream-3.3.1}/getstream/chat/client.py +0 -0
  38. {getstream-3.3.0 → getstream-3.3.1}/getstream/chat/rest_client.py +0 -0
  39. {getstream-3.3.0 → getstream-3.3.1}/getstream/common/__init__.py +0 -0
  40. {getstream-3.3.0 → getstream-3.3.1}/getstream/common/async_client.py +0 -0
  41. {getstream-3.3.0 → getstream-3.3.1}/getstream/common/async_rest_client.py +0 -0
  42. {getstream-3.3.0 → getstream-3.3.1}/getstream/common/client.py +0 -0
  43. {getstream-3.3.0 → getstream-3.3.1}/getstream/common/rest_client.py +0 -0
  44. {getstream-3.3.0 → getstream-3.3.1}/getstream/common/telemetry.py +0 -0
  45. {getstream-3.3.0 → getstream-3.3.1}/getstream/config.py +0 -0
  46. {getstream-3.3.0 → getstream-3.3.1}/getstream/feeds/__init__.py +0 -0
  47. {getstream-3.3.0 → getstream-3.3.1}/getstream/feeds/client.py +0 -0
  48. {getstream-3.3.0 → getstream-3.3.1}/getstream/feeds/feeds.py +0 -0
  49. {getstream-3.3.0 → getstream-3.3.1}/getstream/feeds/rest_client.py +0 -0
  50. {getstream-3.3.0 → getstream-3.3.1}/getstream/generic.py +0 -0
  51. {getstream-3.3.0 → getstream-3.3.1}/getstream/meta.py +0 -0
  52. {getstream-3.3.0 → getstream-3.3.1}/getstream/models/__init__.py +0 -0
  53. {getstream-3.3.0 → getstream-3.3.1}/getstream/moderation/__init__.py +0 -0
  54. {getstream-3.3.0 → getstream-3.3.1}/getstream/moderation/async_client.py +0 -0
  55. {getstream-3.3.0 → getstream-3.3.1}/getstream/moderation/async_rest_client.py +0 -0
  56. {getstream-3.3.0 → getstream-3.3.1}/getstream/moderation/client.py +0 -0
  57. {getstream-3.3.0 → getstream-3.3.1}/getstream/moderation/rest_client.py +0 -0
  58. {getstream-3.3.0 → getstream-3.3.1}/getstream/rate_limit.py +0 -0
  59. {getstream-3.3.0 → getstream-3.3.1}/getstream/stream.py +0 -0
  60. {getstream-3.3.0 → getstream-3.3.1}/getstream/stream_response.py +0 -0
  61. {getstream-3.3.0 → getstream-3.3.1}/getstream/tests/test_webhook.py +0 -0
  62. {getstream-3.3.0 → getstream-3.3.1}/getstream/utils/__init__.py +0 -0
  63. {getstream-3.3.0 → getstream-3.3.1}/getstream/utils/event_emitter.py +0 -0
  64. {getstream-3.3.0 → getstream-3.3.1}/getstream/utils/retry.py +0 -0
  65. {getstream-3.3.0 → getstream-3.3.1}/getstream/version.py +0 -0
  66. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/__init__.py +0 -0
  67. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/async_call.py +0 -0
  68. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/async_client.py +0 -0
  69. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/async_rest_client.py +0 -0
  70. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/call.py +0 -0
  71. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/client.py +0 -0
  72. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/openai.py +0 -0
  73. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rest_client.py +0 -0
  74. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/README.md +0 -0
  75. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/__init__.py +0 -0
  76. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/audio_track.py +0 -0
  77. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/connection_manager.py +0 -0
  78. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/connection_utils.py +0 -0
  79. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/coordinator/__init__.py +0 -0
  80. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/coordinator/backoff.py +0 -0
  81. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/coordinator/errors.py +0 -0
  82. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/coordinator/ws.py +0 -0
  83. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/coordinator_api.py +0 -0
  84. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/encoders_patches.py +0 -0
  85. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/g711.py +0 -0
  86. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/location_discovery.py +0 -0
  87. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/models.py +0 -0
  88. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/network_monitor.py +0 -0
  89. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/participants.py +0 -0
  90. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/pb/__init__.py +0 -0
  91. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/pb/stream/__init__.py +0 -0
  92. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/pb/stream/video/__init__.py +0 -0
  93. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/pb/stream/video/sfu/__init__.py +0 -0
  94. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/pb/stream/video/sfu/event/__init__.py +0 -0
  95. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/pb/stream/video/sfu/event/events_pb2.py +0 -0
  96. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/pb/stream/video/sfu/event/events_pb2.pyi +0 -0
  97. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/pb/stream/video/sfu/models/__init__.py +0 -0
  98. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/pb/stream/video/sfu/models/models_pb2.py +0 -0
  99. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/pb/stream/video/sfu/models/models_pb2.pyi +0 -0
  100. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/pb/stream/video/sfu/signal_rpc/__init__.py +0 -0
  101. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/pb/stream/video/sfu/signal_rpc/signal_pb2.py +0 -0
  102. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/pb/stream/video/sfu/signal_rpc/signal_pb2.pyi +0 -0
  103. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/pb/stream/video/sfu/signal_rpc/signal_twirp.py +0 -0
  104. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/pc.py +0 -0
  105. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/peer_connection.py +0 -0
  106. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/reconnection.py +0 -0
  107. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/recording.py +0 -0
  108. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/stats_reporter.py +0 -0
  109. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/stats_tracer.py +0 -0
  110. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/tracer.py +0 -0
  111. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/track_util.py +0 -0
  112. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/tracks.py +0 -0
  113. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/twirp_client_wrapper.py +0 -0
  114. {getstream-3.3.0 → getstream-3.3.1}/getstream/video/rtc/utils.py +0 -0
  115. {getstream-3.3.0 → getstream-3.3.1}/getstream/webhook.py +0 -0
  116. {getstream-3.3.0 → getstream-3.3.1}/pyproject.toml +0 -0
  117. {getstream-3.3.0 → getstream-3.3.1}/pytest.ini +0 -0
  118. {getstream-3.3.0 → getstream-3.3.1}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: getstream
3
- Version: 3.3.0
3
+ Version: 3.3.1
4
4
  Summary: GetStream Python SDK - Build scalable activity feeds, chat, and video calling applications
5
5
  Author-email: sachaarbonel <sacha.arbonel@hotmail.fr>, tbarbugli <tbarbugli@gmail.com>
6
6
  License-File: LICENSE.md
@@ -1,12 +1,14 @@
1
1
  import asyncio
2
- import threading
3
- import websocket
4
2
  import logging
3
+ import threading
5
4
  import time
6
- from typing import TYPE_CHECKING, Any, Callable, Awaitable, Optional, Set
5
+ from typing import TYPE_CHECKING, Any, Awaitable, Callable, Optional, Set
6
+
7
+ import websocket
7
8
 
8
9
  from getstream.common import telemetry
9
10
  from getstream.utils import StreamAsyncIOEventEmitter
11
+
10
12
  from .pb.stream.video.sfu.event import events_pb2
11
13
 
12
14
  if TYPE_CHECKING:
@@ -196,7 +198,16 @@ class WebSocketClient(StreamAsyncIOEventEmitter):
196
198
 
197
199
  def _on_error(self, ws, error):
198
200
  """Handle WebSocket error."""
199
- logger.error(f"WebSocket error: {str(error)}")
201
+ if (
202
+ isinstance(error, websocket.ABNF)
203
+ and error.opcode == websocket.ABNF.OPCODE_CLOSE
204
+ ):
205
+ # For some reason, websockets lib propagates closing frame as an error.
206
+ # Simply log a debug here if that happens.
207
+ logger.debug(f"WebSocket closed by server: {error}")
208
+ else:
209
+ logger.error(f"WebSocket error: {error}")
210
+
200
211
  if not self.first_message_event.is_set():
201
212
  # Create an error event
202
213
  error_event = events_pb2.SfuEvent()
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