devcycle-python-server-sdk 3.13.3__tar.gz → 3.13.4__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 (83) hide show
  1. {devcycle_python_server_sdk-3.13.3/devcycle_python_server_sdk.egg-info → devcycle_python_server_sdk-3.13.4}/PKG-INFO +1 -1
  2. devcycle_python_server_sdk-3.13.4/devcycle_python_sdk/VERSION.txt +1 -0
  3. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/managers/config_manager.py +12 -7
  4. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4/devcycle_python_server_sdk.egg-info}/PKG-INFO +1 -1
  5. devcycle_python_server_sdk-3.13.3/devcycle_python_sdk/VERSION.txt +0 -1
  6. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/LICENSE +0 -0
  7. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/README.md +0 -0
  8. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/__init__.py +0 -0
  9. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/api/__init__.py +0 -0
  10. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/api/backoff.py +0 -0
  11. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/api/bucketing_client.py +0 -0
  12. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/api/config_client.py +0 -0
  13. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/api/event_client.py +0 -0
  14. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/api/local_bucketing.py +0 -0
  15. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/bucketing-lib.release.wasm +0 -0
  16. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/cloud_client.py +0 -0
  17. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/devcycle_client.py +0 -0
  18. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/exceptions.py +0 -0
  19. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/local_client.py +0 -0
  20. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/managers/__init__.py +0 -0
  21. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/managers/eval_hooks_manager.py +0 -0
  22. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/managers/event_queue_manager.py +0 -0
  23. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/managers/sse_manager.py +0 -0
  24. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/models/__init__.py +0 -0
  25. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/models/bucketed_config.py +0 -0
  26. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/models/config_metadata.py +0 -0
  27. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/models/environment_metadata.py +0 -0
  28. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/models/error_response.py +0 -0
  29. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/models/eval_hook.py +0 -0
  30. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/models/eval_hook_context.py +0 -0
  31. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/models/eval_reason.py +0 -0
  32. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/models/event.py +0 -0
  33. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/models/feature.py +0 -0
  34. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/models/platform_data.py +0 -0
  35. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/models/project_metadata.py +0 -0
  36. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/models/user.py +0 -0
  37. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/models/variable.py +0 -0
  38. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/models/variable_metadata.py +0 -0
  39. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/open_feature_provider/__init__.py +0 -0
  40. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/open_feature_provider/provider.py +0 -0
  41. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/options.py +0 -0
  42. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/protobuf/__init__.py +0 -0
  43. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/protobuf/utils.py +0 -0
  44. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/protobuf/variableForUserParams_pb2.py +0 -0
  45. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/protobuf/variableForUserParams_pb2.pyi +0 -0
  46. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/py.typed +0 -0
  47. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/util/__init__.py +0 -0
  48. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/util/strings.py +0 -0
  49. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_sdk/util/version.py +0 -0
  50. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_server_sdk.egg-info/SOURCES.txt +0 -0
  51. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_server_sdk.egg-info/dependency_links.txt +0 -0
  52. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_server_sdk.egg-info/requires.txt +0 -0
  53. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/devcycle_python_server_sdk.egg-info/top_level.txt +0 -0
  54. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/example/__init__.py +0 -0
  55. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/example/cloud_client_example.py +0 -0
  56. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/example/local_bucketing_client_example.py +0 -0
  57. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/example/openfeature_example.py +0 -0
  58. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/pyproject.toml +0 -0
  59. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/setup.cfg +0 -0
  60. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/setup.py +0 -0
  61. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/test/__init__.py +0 -0
  62. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/test/api/__init__.py +0 -0
  63. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/test/api/test_bucketing_client.py +0 -0
  64. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/test/api/test_config_client.py +0 -0
  65. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/test/api/test_event_client.py +0 -0
  66. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/test/api/test_local_bucketing.py +0 -0
  67. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/test/fixture/__init__.py +0 -0
  68. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/test/fixture/data.py +0 -0
  69. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/test/managers/__init__.py +0 -0
  70. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/test/managers/test_config_manager.py +0 -0
  71. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/test/managers/test_event_queue_manager.py +0 -0
  72. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/test/models/__init__.py +0 -0
  73. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/test/models/test_bucketed_config.py +0 -0
  74. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/test/models/test_user.py +0 -0
  75. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/test/openfeature_test/__init__.py +0 -0
  76. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/test/openfeature_test/test_provider.py +0 -0
  77. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/test/openfeature_test/test_provider_local_sdk.py +0 -0
  78. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/test/test_cloud_client.py +0 -0
  79. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/test/test_local_client.py +0 -0
  80. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/test/util/__init__.py +0 -0
  81. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/test/util/test_strings.py +0 -0
  82. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/test/util/test_utils.py +0 -0
  83. {devcycle_python_server_sdk-3.13.3 → devcycle_python_server_sdk-3.13.4}/test/util/test_version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devcycle-python-server-sdk
3
- Version: 3.13.3
3
+ Version: 3.13.4
4
4
  Summary: DevCycle Python SDK
5
5
  Home-page: https://github.com/devcycleHQ/python-server-sdk
6
6
  Author-email:
@@ -82,7 +82,10 @@ class EnvironmentConfigManager(threading.Thread):
82
82
  json_config = json.dumps(self._config)
83
83
  self._local_bucketing.store_config(json_config)
84
84
  if not self._options.disable_realtime_updates:
85
- if self._sse_manager is None:
85
+ if (
86
+ self._sse_manager is None
87
+ or not self._sse_manager.client.is_connected()
88
+ ):
86
89
  self._sse_manager = SSEManager(
87
90
  self.sse_state,
88
91
  self.sse_error,
@@ -128,9 +131,9 @@ class EnvironmentConfigManager(threading.Thread):
128
131
  time.sleep(self._options.config_polling_interval_ms / 1000.0)
129
132
 
130
133
  def sse_message(self, message: ld_eventsource.actions.Event):
131
- if self._sse_connected is False:
132
- self._sse_connected = True
133
- logger.info("DevCycle: Connected to SSE stream")
134
+ # Received a message from the SSE stream but our sse_connected is False, so we need to set it to True
135
+ if not self._sse_connected:
136
+ self.sse_state(None)
134
137
  logger.info(f"DevCycle: Received message: {message.data}")
135
138
  sse_message = json.loads(message.data)
136
139
  dvc_data = json.loads(sse_message.get("data"))
@@ -143,11 +146,13 @@ class EnvironmentConfigManager(threading.Thread):
143
146
  self._get_config(dvc_data["lastModified"] / 1000.0)
144
147
 
145
148
  def sse_error(self, error: ld_eventsource.actions.Fault):
149
+ self._sse_connected = False
146
150
  logger.debug(f"DevCycle: Received SSE error: {error}")
147
151
 
148
- def sse_state(self, state: ld_eventsource.actions.Start):
149
- self._sse_connected = True
150
- logger.info("DevCycle: Connected to SSE stream")
152
+ def sse_state(self, state: Optional[ld_eventsource.actions.Start]):
153
+ if not self._sse_connected:
154
+ self._sse_connected = True
155
+ logger.info("DevCycle: Connected to SSE stream")
151
156
 
152
157
  def close(self):
153
158
  self._polling_enabled = False
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devcycle-python-server-sdk
3
- Version: 3.13.3
3
+ Version: 3.13.4
4
4
  Summary: DevCycle Python SDK
5
5
  Home-page: https://github.com/devcycleHQ/python-server-sdk
6
6
  Author-email: