devcycle-python-server-sdk 3.9.0__tar.gz → 3.10.0__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.
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/PKG-INFO +3 -2
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/README.md +19 -8
- devcycle_python_server_sdk-3.10.0/devcycle_python_sdk/VERSION.txt +1 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_server_sdk.egg-info/PKG-INFO +3 -2
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_server_sdk.egg-info/requires.txt +0 -1
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/pyproject.toml +7 -10
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/setup.py +1 -0
- devcycle_python_server_sdk-3.9.0/devcycle_python_sdk/VERSION.txt +0 -1
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/LICENSE +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/__init__.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/api/__init__.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/api/backoff.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/api/bucketing_client.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/api/config_client.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/api/event_client.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/api/local_bucketing.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/bucketing-lib.release.wasm +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/cloud_client.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/devcycle_client.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/exceptions.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/local_client.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/managers/__init__.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/managers/config_manager.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/managers/event_queue_manager.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/managers/sse_manager.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/models/__init__.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/models/bucketed_config.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/models/error_response.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/models/event.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/models/feature.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/models/platform_data.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/models/user.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/models/variable.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/open_feature_provider/__init__.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/open_feature_provider/provider.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/options.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/protobuf/__init__.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/protobuf/utils.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/protobuf/variableForUserParams_pb2.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/protobuf/variableForUserParams_pb2.pyi +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/py.typed +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/util/__init__.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/util/strings.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/util/version.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_server_sdk.egg-info/SOURCES.txt +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_server_sdk.egg-info/dependency_links.txt +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_server_sdk.egg-info/top_level.txt +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/example/__init__.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/example/cloud_client_example.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/example/local_bucketing_client_example.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/example/openfeature_example.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/setup.cfg +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/__init__.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/api/__init__.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/api/test_bucketing_client.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/api/test_config_client.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/api/test_event_client.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/api/test_local_bucketing.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/fixture/__init__.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/fixture/data.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/managers/__init__.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/managers/test_config_manager.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/managers/test_event_queue_manager.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/models/__init__.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/models/test_bucketed_config.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/models/test_user.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/openfeature_test/__init__.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/openfeature_test/test_provider.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/openfeature_test/test_provider_local_sdk.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/test_cloud_client.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/test_local_client.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/util/__init__.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/util/test_strings.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/util/test_utils.py +0 -0
- {devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/util/test_version.py +0 -0
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: devcycle-python-server-sdk
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.10.0
|
|
4
4
|
Summary: DevCycle Python SDK
|
|
5
5
|
Home-page: https://github.com/devcycleHQ/python-server-sdk
|
|
6
6
|
Author-email:
|
|
7
7
|
Keywords: DevCycle
|
|
8
|
+
Requires-Python: >=3.8
|
|
8
9
|
License-File: LICENSE
|
|
9
10
|
Requires-Dist: setuptools>=21.0.0
|
|
10
11
|
Requires-Dist: urllib3>=1.15.1
|
|
@@ -14,11 +15,11 @@ Requires-Dist: protobuf>=4.23.3
|
|
|
14
15
|
Requires-Dist: openfeature-sdk>=0.7.0
|
|
15
16
|
Requires-Dist: launchdarkly-eventsource>=1.2.0
|
|
16
17
|
Requires-Dist: responses~=0.23.1
|
|
17
|
-
Requires-Dist: dataclasses~=0.6
|
|
18
18
|
Dynamic: description
|
|
19
19
|
Dynamic: home-page
|
|
20
20
|
Dynamic: keywords
|
|
21
21
|
Dynamic: requires-dist
|
|
22
|
+
Dynamic: requires-python
|
|
22
23
|
Dynamic: summary
|
|
23
24
|
|
|
24
25
|
The DevCycle Python SDK used for feature management.
|
|
@@ -4,7 +4,7 @@ The DevCycle Python SDK used for feature management.
|
|
|
4
4
|
|
|
5
5
|
This SDK allows your application to interface with the [DevCycle Bucketing API](https://docs.devcycle.com/bucketing-api/#tag/devcycle).
|
|
6
6
|
|
|
7
|
-
## Requirements
|
|
7
|
+
## Requirements
|
|
8
8
|
|
|
9
9
|
* Python 3.8+
|
|
10
10
|
|
|
@@ -13,6 +13,7 @@ This SDK allows your application to interface with the [DevCycle Bucketing API](
|
|
|
13
13
|
```sh
|
|
14
14
|
pip install devcycle-python-server-sdk
|
|
15
15
|
```
|
|
16
|
+
|
|
16
17
|
(you may need to run `pip` with root permission: `sudo pip install devcycle-python-server-sdk`)
|
|
17
18
|
|
|
18
19
|
## Getting Started
|
|
@@ -65,38 +66,47 @@ When developing the SDK it is recommended that you have both a 3.8 and 3.12 pyth
|
|
|
65
66
|
### Dependencies
|
|
66
67
|
|
|
67
68
|
To set up dependencies for local development, run:
|
|
68
|
-
|
|
69
|
+
|
|
70
|
+
```bash
|
|
69
71
|
pip install -r requirements.test.txt
|
|
70
72
|
```
|
|
71
73
|
|
|
72
74
|
To run the example app against the local version of the API for testing and development, run:
|
|
73
|
-
|
|
75
|
+
|
|
76
|
+
```bash
|
|
74
77
|
pip install --editable .
|
|
75
78
|
```
|
|
76
|
-
from the top level of the repo (same level as setup.py). Then run the example app as normal.
|
|
77
79
|
|
|
80
|
+
from the top level of the repo (same level as setup.py). Then run the example app as normal:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
python example/local_bucketing_client_example.py
|
|
84
|
+
```
|
|
78
85
|
|
|
79
86
|
### Linting & Formatting
|
|
80
87
|
|
|
81
88
|
Linting checks on PRs are run using [ruff](https://github.com/charliermarsh/ruff), and are configured using `.ruff.toml`. To run the linter locally, run this command from the top level of the repo:
|
|
82
|
-
|
|
89
|
+
|
|
90
|
+
```bash
|
|
83
91
|
ruff check .
|
|
84
92
|
```
|
|
85
93
|
|
|
86
94
|
Ruff can automatically fix simple linting errors (the ones marked with `[*]`). To do so, run:
|
|
87
|
-
|
|
95
|
+
|
|
96
|
+
```bash
|
|
88
97
|
ruff check . --fix
|
|
89
98
|
```
|
|
90
99
|
|
|
91
100
|
Formatting checks on PRs are done using [black](https://github.com/psf/black). To run the formatter locally, run this command from the top level of the repo:
|
|
92
101
|
|
|
93
|
-
```
|
|
102
|
+
```bash
|
|
94
103
|
black .
|
|
95
104
|
```
|
|
96
105
|
|
|
97
106
|
### Unit Tests
|
|
98
107
|
|
|
99
108
|
To run the unit tests, run:
|
|
109
|
+
|
|
100
110
|
```bash
|
|
101
111
|
pytest
|
|
102
112
|
```
|
|
@@ -104,6 +114,7 @@ pytest
|
|
|
104
114
|
### Benchmarks
|
|
105
115
|
|
|
106
116
|
To run the benchmarks, run:
|
|
117
|
+
|
|
107
118
|
```bash
|
|
108
119
|
pytest --benchmark-only
|
|
109
120
|
```
|
|
@@ -116,4 +127,4 @@ To generate the protobuf source files run the following from the root of the pro
|
|
|
116
127
|
protoc --proto_path=./protobuf/ --python_out=devcycle_python_sdk/protobuf --pyi_out=devcycle_python_sdk/protobuf variableForUserParams.proto
|
|
117
128
|
```
|
|
118
129
|
|
|
119
|
-
This will rebuild the `variableForUserParams_pb2.py` file. DO NOT edit this file directly.
|
|
130
|
+
This will rebuild the `variableForUserParams_pb2.py` file. DO NOT edit this file directly.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.10.0
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: devcycle-python-server-sdk
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.10.0
|
|
4
4
|
Summary: DevCycle Python SDK
|
|
5
5
|
Home-page: https://github.com/devcycleHQ/python-server-sdk
|
|
6
6
|
Author-email:
|
|
7
7
|
Keywords: DevCycle
|
|
8
|
+
Requires-Python: >=3.8
|
|
8
9
|
License-File: LICENSE
|
|
9
10
|
Requires-Dist: setuptools>=21.0.0
|
|
10
11
|
Requires-Dist: urllib3>=1.15.1
|
|
@@ -14,11 +15,11 @@ Requires-Dist: protobuf>=4.23.3
|
|
|
14
15
|
Requires-Dist: openfeature-sdk>=0.7.0
|
|
15
16
|
Requires-Dist: launchdarkly-eventsource>=1.2.0
|
|
16
17
|
Requires-Dist: responses~=0.23.1
|
|
17
|
-
Requires-Dist: dataclasses~=0.6
|
|
18
18
|
Dynamic: description
|
|
19
19
|
Dynamic: home-page
|
|
20
20
|
Dynamic: keywords
|
|
21
21
|
Dynamic: requires-dist
|
|
22
|
+
Dynamic: requires-python
|
|
22
23
|
Dynamic: summary
|
|
23
24
|
|
|
24
25
|
The DevCycle Python SDK used for feature management.
|
|
@@ -5,7 +5,7 @@ addopts = "--benchmark-skip --showlocals"
|
|
|
5
5
|
|
|
6
6
|
# black options
|
|
7
7
|
[tool.black]
|
|
8
|
-
target-version = ['
|
|
8
|
+
target-version = ['py38']
|
|
9
9
|
extend-exclude = '_pb2\.pyi?$'
|
|
10
10
|
|
|
11
11
|
# mypy options
|
|
@@ -43,20 +43,17 @@ ignore_missing_imports = true
|
|
|
43
43
|
[tool.ruff]
|
|
44
44
|
# https://beta.ruff.rs/docs/rules/
|
|
45
45
|
select = [
|
|
46
|
-
"F",
|
|
47
|
-
"E",
|
|
48
|
-
"W",
|
|
49
|
-
"N",
|
|
50
|
-
"T20",
|
|
46
|
+
"F", # PyFlakes
|
|
47
|
+
"E", # pycodestyle error
|
|
48
|
+
"W", # pycodestyle warning
|
|
49
|
+
"N", # pep8-naming
|
|
50
|
+
"T20", # flake8-print
|
|
51
51
|
"RUF100", # ensure noqa comments actually match an error
|
|
52
52
|
]
|
|
53
53
|
ignore = [
|
|
54
54
|
"E501", # line too long
|
|
55
55
|
]
|
|
56
|
-
exclude = [
|
|
57
|
-
"variableForUserParams_pb2.pyi"
|
|
58
|
-
]
|
|
56
|
+
exclude = ["variableForUserParams_pb2.pyi"]
|
|
59
57
|
[tool.ruff.per-file-ignores]
|
|
60
58
|
"__init__.py" = ["F401"]
|
|
61
59
|
"variableForUserParams_pb2.py" = ["F821", "N999", "E712"]
|
|
62
|
-
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
3.9.0
|
|
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
|
|
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
|
{devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/devcycle_python_sdk/py.typed
RENAMED
|
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
|
{devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/api/test_event_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/fixture/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/managers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/models/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/models/test_user.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/test_cloud_client.py
RENAMED
|
File without changes
|
{devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/test_local_client.py
RENAMED
|
File without changes
|
{devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/util/__init__.py
RENAMED
|
File without changes
|
{devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/util/test_strings.py
RENAMED
|
File without changes
|
{devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/util/test_utils.py
RENAMED
|
File without changes
|
{devcycle_python_server_sdk-3.9.0 → devcycle_python_server_sdk-3.10.0}/test/util/test_version.py
RENAMED
|
File without changes
|