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.
- devcycle_python_sdk/VERSION.txt +1 -1
- devcycle_python_sdk/bucketing-lib.release.wasm +0 -0
- devcycle_python_sdk/managers/sse_manager.py +24 -18
- {devcycle_python_server_sdk-3.11.0.dist-info → devcycle_python_server_sdk-3.11.2.dist-info}/METADATA +3 -2
- {devcycle_python_server_sdk-3.11.0.dist-info → devcycle_python_server_sdk-3.11.2.dist-info}/RECORD +8 -8
- {devcycle_python_server_sdk-3.11.0.dist-info → devcycle_python_server_sdk-3.11.2.dist-info}/WHEEL +1 -1
- {devcycle_python_server_sdk-3.11.0.dist-info → devcycle_python_server_sdk-3.11.2.dist-info/licenses}/LICENSE +0 -0
- {devcycle_python_server_sdk-3.11.0.dist-info → devcycle_python_server_sdk-3.11.2.dist-info}/top_level.txt +0 -0
devcycle_python_sdk/VERSION.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.11.
|
|
1
|
+
3.11.2
|
|
Binary file
|
|
@@ -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
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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.
|
|
19
|
-
self.
|
|
20
|
-
self.
|
|
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.
|
|
27
|
+
args=(self.handle_state, self.handle_error, self.handle_message),
|
|
25
28
|
)
|
|
26
29
|
|
|
27
30
|
def read_events(
|
|
28
31
|
self,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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.
|
|
61
|
+
args=(self.handle_state, self.handle_error, self.handle_message),
|
|
56
62
|
)
|
|
57
63
|
self.read_thread.start()
|
|
58
64
|
|
{devcycle_python_server_sdk-3.11.0.dist-info → devcycle_python_server_sdk-3.11.2.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: devcycle-python-server-sdk
|
|
3
|
-
Version: 3.11.
|
|
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
|
{devcycle_python_server_sdk-3.11.0.dist-info → devcycle_python_server_sdk-3.11.2.dist-info}/RECORD
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
devcycle_python_sdk/VERSION.txt,sha256=
|
|
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=
|
|
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=
|
|
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.
|
|
65
|
-
devcycle_python_server_sdk-3.11.
|
|
66
|
-
devcycle_python_server_sdk-3.11.
|
|
67
|
-
devcycle_python_server_sdk-3.11.
|
|
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,,
|
|
File without changes
|
|
File without changes
|