devcycle-python-server-sdk 3.11.0__py3-none-any.whl → 3.11.2__py3-none-any.whl

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.
@@ -1 +1 @@
1
- 3.11.0
1
+ 3.11.2
@@ -2,42 +2,48 @@ import threading
2
2
 
3
3
  import ld_eventsource
4
4
  import ld_eventsource.actions
5
+ import logging
5
6
  import ld_eventsource.config
6
7
  from typing import Callable
7
8
 
9
+ logger = logging.getLogger(__name__)
10
+
8
11
 
9
12
  class SSEManager:
10
13
  def __init__(
11
14
  self,
12
- handlestate: Callable[[ld_eventsource.actions.Start], None],
13
- handleerror: Callable[[ld_eventsource.actions.Fault], None],
14
- handlemessage: Callable[[ld_eventsource.actions.Event], None],
15
+ handle_state: Callable[[ld_eventsource.actions.Start], None],
16
+ handle_error: Callable[[ld_eventsource.actions.Fault], None],
17
+ handle_message: Callable[[ld_eventsource.actions.Event], None],
15
18
  ):
16
19
  self.client: ld_eventsource.SSEClient = None
17
20
  self.url = ""
18
- self.handlestate = handlestate
19
- self.handleerror = handleerror
20
- self.handlemessage = handlemessage
21
+ self.handle_state = handle_state
22
+ self.handle_error = handle_error
23
+ self.handle_message = handle_message
21
24
 
22
25
  self.read_thread = threading.Thread(
23
26
  target=self.read_events,
24
- args=(self.handlestate, self.handleerror, self.handlemessage),
27
+ args=(self.handle_state, self.handle_error, self.handle_message),
25
28
  )
26
29
 
27
30
  def read_events(
28
31
  self,
29
- handlestate: Callable[[ld_eventsource.actions.Start], None],
30
- handleerror: Callable[[ld_eventsource.actions.Fault], None],
31
- handlemessage: Callable[[ld_eventsource.actions.Event], None],
32
+ handle_state: Callable[[ld_eventsource.actions.Start], None],
33
+ handle_error: Callable[[ld_eventsource.actions.Fault], None],
34
+ handle_message: Callable[[ld_eventsource.actions.Event], None],
32
35
  ):
33
36
  self.client.start()
34
- for event in self.client.all:
35
- if isinstance(event, ld_eventsource.actions.Start):
36
- handlestate(event)
37
- elif isinstance(event, ld_eventsource.actions.Fault):
38
- handleerror(event)
39
- elif isinstance(event, ld_eventsource.actions.Event):
40
- handlemessage(event)
37
+ try:
38
+ for event in self.client.all:
39
+ if isinstance(event, ld_eventsource.actions.Start):
40
+ handle_state(event)
41
+ elif isinstance(event, ld_eventsource.actions.Fault):
42
+ handle_error(event)
43
+ elif isinstance(event, ld_eventsource.actions.Event):
44
+ handle_message(event)
45
+ except Exception as e:
46
+ logger.exception(f"DevCycle: failed to read SSE message: {e}")
41
47
 
42
48
  def update(self, config: dict):
43
49
  if self.use_new_config(config["sse"]):
@@ -52,7 +58,7 @@ class SSEManager:
52
58
  )
53
59
  self.read_thread = threading.Thread(
54
60
  target=self.read_events,
55
- args=(self.handlestate, self.handleerror, self.handlemessage),
61
+ args=(self.handle_state, self.handle_error, self.handle_message),
56
62
  )
57
63
  self.read_thread.start()
58
64
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: devcycle-python-server-sdk
3
- Version: 3.11.0
3
+ Version: 3.11.2
4
4
  Summary: DevCycle Python SDK
5
5
  Home-page: https://github.com/devcycleHQ/python-server-sdk
6
6
  Author-email:
@@ -18,6 +18,7 @@ Requires-Dist: responses>=0.23.1
18
18
  Dynamic: description
19
19
  Dynamic: home-page
20
20
  Dynamic: keywords
21
+ Dynamic: license-file
21
22
  Dynamic: requires-dist
22
23
  Dynamic: requires-python
23
24
  Dynamic: summary
@@ -1,6 +1,6 @@
1
- devcycle_python_sdk/VERSION.txt,sha256=0w8VIMa3CqY143oi3wMMFnI8Zet0gUxedR_kDu7ZW3o,7
1
+ devcycle_python_sdk/VERSION.txt,sha256=7V2KS_pQQz4r5laT0KtqWbP7KIZ2n16eTD5EujrR3MM,7
2
2
  devcycle_python_sdk/__init__.py,sha256=30TcYb9PbvVi97gwk16omCGG1UoUI9lmmU7xpvxNMvc,336
3
- devcycle_python_sdk/bucketing-lib.release.wasm,sha256=Kuw8UrGafeyB8Z1wyBgGQpuXIhP4NvPjXZcVQiNZzl8,215020
3
+ devcycle_python_sdk/bucketing-lib.release.wasm,sha256=FGGO3YnZHVs-ZY4XJM6FWpQwnPwHzFhBjQmrKPwWbtU,215612
4
4
  devcycle_python_sdk/cloud_client.py,sha256=VVV3O8Fbrp3LrhKp0BNCF-pMqOuCA6TEEABBmjpfpOY,7586
5
5
  devcycle_python_sdk/devcycle_client.py,sha256=OqNza7OXOSRmMQq2kmyivljmH1GyN4dTiz0EhvDvt8w,1069
6
6
  devcycle_python_sdk/exceptions.py,sha256=Et7fS8pEFbHkFY86T2pJoEUstwjh4_rzhJxVH8fzAns,1053
@@ -16,7 +16,7 @@ devcycle_python_sdk/api/local_bucketing.py,sha256=_MAMCHviIS1n4GiU-CnnLBeEVX8BUF
16
16
  devcycle_python_sdk/managers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
17
  devcycle_python_sdk/managers/config_manager.py,sha256=JYRLAJTLDWEjeZk7Af7rxpw1t6SR-ei81S8MEc36eOU,5636
18
18
  devcycle_python_sdk/managers/event_queue_manager.py,sha256=uPy1vO6OAisZjUNAhWELE_g17alTiOcPv42z-WwkGck,8110
19
- devcycle_python_sdk/managers/sse_manager.py,sha256=aJKHPmvv8SR4DU9IOi-KrUSCxQoHdMwoemb2lSVfmVQ,2369
19
+ devcycle_python_sdk/managers/sse_manager.py,sha256=PElIsmmjUvLDHABikLxUq6CVjIJDnmqkY3psPILCTS8,2590
20
20
  devcycle_python_sdk/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
21
  devcycle_python_sdk/models/bucketed_config.py,sha256=NsdT-6RbEuDy5QuK5qlr6UqNKQQnwjoXVYN-uQp0P-E,3999
22
22
  devcycle_python_sdk/models/error_response.py,sha256=r_dRUDAbral9UGaMYcnBsZOr9Hmkyi1SQbhGmZilgpA,442
@@ -34,6 +34,7 @@ devcycle_python_sdk/protobuf/variableForUserParams_pb2.pyi,sha256=gjTD1KkBe5NaXi
34
34
  devcycle_python_sdk/util/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
35
35
  devcycle_python_sdk/util/strings.py,sha256=gH0Xm3gIXNqn6hczKPk10Jn5_9knuD7OB5MrB7bqztw,252
36
36
  devcycle_python_sdk/util/version.py,sha256=Cz7Us_EuXP-T8GI47g2WHYdBJj_zKo-5y545IDHJAjI,253
37
+ devcycle_python_server_sdk-3.11.2.dist-info/licenses/LICENSE,sha256=tHQMqu-Jic2UpMGqb-vNFbGygysl8IG4l1clnnh0OFo,1071
37
38
  example/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
39
  example/cloud_client_example.py,sha256=YD8ZsTv3dPYfbFUKraRpRT0VsJGrPwjm8ZCuA5H54yI,2463
39
40
  example/local_bucketing_client_example.py,sha256=TaIfy3VnW9fXii9NPYs5UOuP4fLKruXMjnZApveqzl4,2796
@@ -61,8 +62,7 @@ test/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
62
  test/util/test_strings.py,sha256=T5H5U0af7_ld1yJC8IdDmay_Mx-iJQ5Fi5fbvKcAc7A,862
62
63
  test/util/test_utils.py,sha256=tVBJm_qnqg-4PssLpXIxqlk0JehuiAIPs4zpi2oNVnY,6671
63
64
  test/util/test_version.py,sha256=3Xg0_84m0bdHXz6pxd2Z85Oz9DoUC1T0Ol_WqEH_jac,335
64
- devcycle_python_server_sdk-3.11.0.dist-info/LICENSE,sha256=tHQMqu-Jic2UpMGqb-vNFbGygysl8IG4l1clnnh0OFo,1071
65
- devcycle_python_server_sdk-3.11.0.dist-info/METADATA,sha256=WuckfvN8mewEHEAzhXLThQEXSmj2_C1ydFpNQUAdgqE,701
66
- devcycle_python_server_sdk-3.11.0.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
67
- devcycle_python_server_sdk-3.11.0.dist-info/top_level.txt,sha256=34f8zDzihAHoH7siAFlmscyO_QLNWWq9HApFlwtYL4k,33
68
- devcycle_python_server_sdk-3.11.0.dist-info/RECORD,,
65
+ devcycle_python_server_sdk-3.11.2.dist-info/METADATA,sha256=1iOpU4i61fgUkgnphubopfTokUJ7W1j-UqVofe05Bms,723
66
+ devcycle_python_server_sdk-3.11.2.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
67
+ devcycle_python_server_sdk-3.11.2.dist-info/top_level.txt,sha256=34f8zDzihAHoH7siAFlmscyO_QLNWWq9HApFlwtYL4k,33
68
+ devcycle_python_server_sdk-3.11.2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.2)
2
+ Generator: setuptools (80.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5