launchdarkly-openfeature-server 0.8.2__tar.gz → 0.8.3__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.
- {launchdarkly_openfeature_server-0.8.2 → launchdarkly_openfeature_server-0.8.3}/PKG-INFO +7 -5
- {launchdarkly_openfeature_server-0.8.2 → launchdarkly_openfeature_server-0.8.3}/README.md +5 -3
- launchdarkly_openfeature_server-0.8.3/ld_openfeature/version.py +1 -0
- {launchdarkly_openfeature_server-0.8.2 → launchdarkly_openfeature_server-0.8.3}/pyproject.toml +3 -3
- launchdarkly_openfeature_server-0.8.2/ld_openfeature/version.py +0 -1
- {launchdarkly_openfeature_server-0.8.2 → launchdarkly_openfeature_server-0.8.3}/LICENSE +0 -0
- {launchdarkly_openfeature_server-0.8.2 → launchdarkly_openfeature_server-0.8.3}/ld_openfeature/__init__.py +0 -0
- {launchdarkly_openfeature_server-0.8.2 → launchdarkly_openfeature_server-0.8.3}/ld_openfeature/impl/context_converter.py +0 -0
- {launchdarkly_openfeature_server-0.8.2 → launchdarkly_openfeature_server-0.8.3}/ld_openfeature/impl/details_converter.py +0 -0
- {launchdarkly_openfeature_server-0.8.2 → launchdarkly_openfeature_server-0.8.3}/ld_openfeature/provider.py +0 -0
- {launchdarkly_openfeature_server-0.8.2 → launchdarkly_openfeature_server-0.8.3}/ld_openfeature/py.typed +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: launchdarkly-openfeature-server
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.3
|
|
4
4
|
Summary: An OpenFeature provider for the LaunchDarkly Python server SDK
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
License-File: LICENSE
|
|
@@ -19,7 +19,7 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.15
|
|
20
20
|
Classifier: Topic :: Software Development
|
|
21
21
|
Classifier: Topic :: Software Development :: Libraries
|
|
22
|
-
Requires-Dist: launchdarkly-server-sdk (>=9.
|
|
22
|
+
Requires-Dist: launchdarkly-server-sdk (>=9.18.3,<10)
|
|
23
23
|
Requires-Dist: openfeature-sdk (>=0.9.0,<1)
|
|
24
24
|
Project-URL: Documentation, https://launchdarkly-openfeature-python-sdk.readthedocs.io/en/latest/
|
|
25
25
|
Project-URL: Repository, https://github.com/launchdarkly/openfeature-python-server
|
|
@@ -51,7 +51,7 @@ This provider is designed primarily for use in multi-user systems such as web se
|
|
|
51
51
|
|
|
52
52
|
## Supported Python versions
|
|
53
53
|
|
|
54
|
-
This version of the LaunchDarkly provider works with Python 3.
|
|
54
|
+
This version of the LaunchDarkly provider works with Python 3.10 and above.
|
|
55
55
|
|
|
56
56
|
## Feature matrix
|
|
57
57
|
|
|
@@ -66,7 +66,7 @@ This matrix mirrors the [feature matrix of the OpenFeature SDK for Python](https
|
|
|
66
66
|
| ✅ | Domains | Domains bind clients to providers in the OpenFeature SDK; a separate provider instance may be registered per domain. |
|
|
67
67
|
| ✅ | Eventing | LaunchDarkly data source status changes are emitted as `PROVIDER_READY`, `PROVIDER_STALE` and `PROVIDER_ERROR`, and only when the status changes; flag changes as `PROVIDER_CONFIGURATION_CHANGED` with the changed flag key. |
|
|
68
68
|
| ✅ | Tracking | `track` sends a LaunchDarkly custom event for the evaluation context, with the tracking event value and remaining details attached. |
|
|
69
|
-
|
|
|
69
|
+
| ⚠️ | Initialization | `initialize` reports whether the LaunchDarkly client became ready. The optional `start_wait` parameter bounds initialization; zero applies no timeout and waits until the data source becomes valid or permanently fails. Since LaunchDarkly Python SDK 9.18.0 a rejected SDK key is retried rather than failing permanently, so zero can wait indefinitely. Provider gap: zero should not wait, [#64](https://github.com/launchdarkly/openfeature-python-server/pull/64). |
|
|
70
70
|
| ✅ | Shutdown | `shutdown` closes the LaunchDarkly client; a closed client cannot be restarted, so a new provider instance is required afterward. |
|
|
71
71
|
| ✅ | Transaction Context Propagation | Provided by the OpenFeature SDK, which merges the transaction context into the evaluation context before the provider is called; no provider support is required. |
|
|
72
72
|
| ✅ | Extending | The underlying LaunchDarkly client is available through the `client` property. |
|
|
@@ -97,7 +97,9 @@ api.set_provider(openfeature_provider)
|
|
|
97
97
|
# Refer to OpenFeature documentation for getting a client and performing evaluations.
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
-
The optional `start_wait` parameter is the number of seconds to wait for a successful connection to LaunchDarkly, matching the same parameter of the LaunchDarkly SDK's `LDClient`, and defaulting to the same five seconds. A positive value bounds the whole of initialization: the provider constructor blocks for up to that long, and OpenFeature initialization then completes immediately, reporting a failed initialization if the client did not become ready in time. Zero does not block the constructor at all, and initialization then waits without a deadline for the data source to become valid or to fail permanently.
|
|
100
|
+
The optional `start_wait` parameter is the number of seconds to wait for a successful connection to LaunchDarkly, matching the same parameter of the LaunchDarkly SDK's `LDClient`, and defaulting to the same five seconds. A positive value bounds the whole of initialization: the provider constructor blocks for up to that long, and OpenFeature initialization then completes immediately, reporting a failed initialization if the client did not become ready in time. Zero does not block the constructor at all, and initialization then waits without a deadline for the data source to become valid or to fail permanently. Since LaunchDarkly Python SDK 9.18.0 a rejected SDK key is retried rather than treated as a permanent failure, so with zero, initialization does not complete while the key is rejected.
|
|
101
|
+
|
|
102
|
+
`api.set_provider` registers the provider without waiting for it to initialize, so the first evaluations may use fallback values while the LaunchDarkly client is still connecting. Use `api.set_provider_and_wait` instead when the application needs registration to block until initialization has succeeded or failed.
|
|
101
103
|
|
|
102
104
|
Refer to the [SDK reference guide](https://docs.launchdarkly.com/sdk/server-side/python) for instructions on getting started with using the SDK.
|
|
103
105
|
|
|
@@ -24,7 +24,7 @@ This provider is designed primarily for use in multi-user systems such as web se
|
|
|
24
24
|
|
|
25
25
|
## Supported Python versions
|
|
26
26
|
|
|
27
|
-
This version of the LaunchDarkly provider works with Python 3.
|
|
27
|
+
This version of the LaunchDarkly provider works with Python 3.10 and above.
|
|
28
28
|
|
|
29
29
|
## Feature matrix
|
|
30
30
|
|
|
@@ -39,7 +39,7 @@ This matrix mirrors the [feature matrix of the OpenFeature SDK for Python](https
|
|
|
39
39
|
| ✅ | Domains | Domains bind clients to providers in the OpenFeature SDK; a separate provider instance may be registered per domain. |
|
|
40
40
|
| ✅ | Eventing | LaunchDarkly data source status changes are emitted as `PROVIDER_READY`, `PROVIDER_STALE` and `PROVIDER_ERROR`, and only when the status changes; flag changes as `PROVIDER_CONFIGURATION_CHANGED` with the changed flag key. |
|
|
41
41
|
| ✅ | Tracking | `track` sends a LaunchDarkly custom event for the evaluation context, with the tracking event value and remaining details attached. |
|
|
42
|
-
|
|
|
42
|
+
| ⚠️ | Initialization | `initialize` reports whether the LaunchDarkly client became ready. The optional `start_wait` parameter bounds initialization; zero applies no timeout and waits until the data source becomes valid or permanently fails. Since LaunchDarkly Python SDK 9.18.0 a rejected SDK key is retried rather than failing permanently, so zero can wait indefinitely. Provider gap: zero should not wait, [#64](https://github.com/launchdarkly/openfeature-python-server/pull/64). |
|
|
43
43
|
| ✅ | Shutdown | `shutdown` closes the LaunchDarkly client; a closed client cannot be restarted, so a new provider instance is required afterward. |
|
|
44
44
|
| ✅ | Transaction Context Propagation | Provided by the OpenFeature SDK, which merges the transaction context into the evaluation context before the provider is called; no provider support is required. |
|
|
45
45
|
| ✅ | Extending | The underlying LaunchDarkly client is available through the `client` property. |
|
|
@@ -70,7 +70,9 @@ api.set_provider(openfeature_provider)
|
|
|
70
70
|
# Refer to OpenFeature documentation for getting a client and performing evaluations.
|
|
71
71
|
```
|
|
72
72
|
|
|
73
|
-
The optional `start_wait` parameter is the number of seconds to wait for a successful connection to LaunchDarkly, matching the same parameter of the LaunchDarkly SDK's `LDClient`, and defaulting to the same five seconds. A positive value bounds the whole of initialization: the provider constructor blocks for up to that long, and OpenFeature initialization then completes immediately, reporting a failed initialization if the client did not become ready in time. Zero does not block the constructor at all, and initialization then waits without a deadline for the data source to become valid or to fail permanently.
|
|
73
|
+
The optional `start_wait` parameter is the number of seconds to wait for a successful connection to LaunchDarkly, matching the same parameter of the LaunchDarkly SDK's `LDClient`, and defaulting to the same five seconds. A positive value bounds the whole of initialization: the provider constructor blocks for up to that long, and OpenFeature initialization then completes immediately, reporting a failed initialization if the client did not become ready in time. Zero does not block the constructor at all, and initialization then waits without a deadline for the data source to become valid or to fail permanently. Since LaunchDarkly Python SDK 9.18.0 a rejected SDK key is retried rather than treated as a permanent failure, so with zero, initialization does not complete while the key is rejected.
|
|
74
|
+
|
|
75
|
+
`api.set_provider` registers the provider without waiting for it to initialize, so the first evaluations may use fallback values while the LaunchDarkly client is still connecting. Use `api.set_provider_and_wait` instead when the application needs registration to block until initialization has succeeded or failed.
|
|
74
76
|
|
|
75
77
|
Refer to the [SDK reference guide](https://docs.launchdarkly.com/sdk/server-side/python) for instructions on getting started with using the SDK.
|
|
76
78
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
VERSION = "0.8.3" # x-release-please-version
|
{launchdarkly_openfeature_server-0.8.2 → launchdarkly_openfeature_server-0.8.3}/pyproject.toml
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "launchdarkly-openfeature-server"
|
|
3
|
-
version = "0.8.
|
|
3
|
+
version = "0.8.3"
|
|
4
4
|
description = "An OpenFeature provider for the LaunchDarkly Python server SDK"
|
|
5
5
|
authors = ["LaunchDarkly <dev@launchdarkly.com>"]
|
|
6
6
|
license = "Apache-2.0"
|
|
@@ -16,6 +16,7 @@ classifiers = [
|
|
|
16
16
|
"Programming Language :: Python :: 3.11",
|
|
17
17
|
"Programming Language :: Python :: 3.12",
|
|
18
18
|
"Programming Language :: Python :: 3.13",
|
|
19
|
+
"Programming Language :: Python :: 3.14",
|
|
19
20
|
"Topic :: Software Development",
|
|
20
21
|
"Topic :: Software Development :: Libraries",
|
|
21
22
|
]
|
|
@@ -27,7 +28,7 @@ packages = [
|
|
|
27
28
|
[tool.poetry.dependencies]
|
|
28
29
|
python = "^3.10"
|
|
29
30
|
openfeature-sdk = ">=0.9.0,<1"
|
|
30
|
-
launchdarkly-server-sdk = ">=9.
|
|
31
|
+
launchdarkly-server-sdk = ">=9.18.3,<10"
|
|
31
32
|
|
|
32
33
|
|
|
33
34
|
[tool.poetry.group.dev.dependencies]
|
|
@@ -44,7 +45,6 @@ optional = true
|
|
|
44
45
|
[tool.poetry.group.docs.dependencies]
|
|
45
46
|
sphinx = "^6.0.0"
|
|
46
47
|
sphinx-rtd-theme = ">=1.3,<3.0"
|
|
47
|
-
certifi = ">=2018.4.16"
|
|
48
48
|
expiringdict = ">=1.1.4"
|
|
49
49
|
pyrfc3339 = ">=1.0"
|
|
50
50
|
jsonpickle = ">1.4.1"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
VERSION = "0.8.2" # x-release-please-version
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|