splitio-client 9.6.0__tar.gz → 9.6.2__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.
- {splitio_client-9.6.0 → splitio_client-9.6.2}/PKG-INFO +2 -2
- {splitio_client-9.6.0 → splitio_client-9.6.2}/setup.py +1 -1
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/client/config.py +1 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/client/factory.py +2 -2
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/impressions/adapters.py +14 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/storage/adapters/redis.py +4 -0
- splitio_client-9.6.2/splitio/version.py +1 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio_client.egg-info/PKG-INFO +2 -2
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio_client.egg-info/requires.txt +1 -1
- splitio_client-9.6.0/splitio/version.py +0 -1
- {splitio_client-9.6.0 → splitio_client-9.6.2}/README.md +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/setup.cfg +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/__init__.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/api/__init__.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/api/auth.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/api/client.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/api/commons.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/api/events.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/api/impressions.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/api/segments.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/api/splits.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/api/telemetry.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/client/__init__.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/client/client.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/client/input_validator.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/client/key.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/client/listener.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/client/localhost.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/client/manager.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/client/util.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/__init__.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/cache/__init__.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/cache/lru.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/evaluator.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/filters.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/hashfns/__init__.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/hashfns/legacy.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/hashfns/murmur3py.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/impressions/__init__.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/impressions/impressions.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/impressions/manager.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/impressions/strategies.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/impressions/unique_keys_tracker.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/splitters.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/telemetry.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/exceptions.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/factories.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/impressions.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/key.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/__init__.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/datatypes.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/events.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/grammar/__init__.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/grammar/condition.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/grammar/matchers/__init__.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/grammar/matchers/base.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/grammar/matchers/keys.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/grammar/matchers/misc.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/grammar/matchers/numeric.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/grammar/matchers/sets.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/grammar/matchers/string.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/grammar/partitions.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/impressions.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/notification.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/segments.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/splits.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/telemetry.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/token.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/push/__init__.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/push/manager.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/push/parser.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/push/processor.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/push/segmentworker.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/push/splitsse.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/push/splitworker.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/push/sse.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/push/status_tracker.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/recorder/__init__.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/recorder/recorder.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/storage/__init__.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/storage/adapters/__init__.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/storage/adapters/cache_trait.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/storage/adapters/util.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/storage/inmemmory.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/storage/pluggable.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/storage/redis.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/sync/__init__.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/sync/event.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/sync/impression.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/sync/manager.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/sync/segment.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/sync/split.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/sync/synchronizer.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/sync/telemetry.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/sync/unique_keys.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/sync/util.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/tasks/__init__.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/tasks/events_sync.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/tasks/impressions_sync.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/tasks/segment_sync.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/tasks/split_sync.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/tasks/telemetry_sync.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/tasks/unique_keys_sync.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/tasks/util/__init__.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/tasks/util/asynctask.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/tasks/util/workerpool.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/util/__init__.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/util/backoff.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/util/decorators.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/util/storage_helper.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/util/threadutil.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/util/time.py +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio_client.egg-info/SOURCES.txt +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio_client.egg-info/dependency_links.txt +0 -0
- {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio_client.egg-info/top_level.txt +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: splitio_client
|
|
3
|
-
Version: 9.6.
|
|
3
|
+
Version: 9.6.2
|
|
4
4
|
Summary: Split.io Python Client
|
|
5
5
|
Home-page: https://github.com/splitio/python-client
|
|
6
6
|
Author: Patricio Echague, Sebastian Arrubia
|
|
7
7
|
Author-email: pato@split.io, sebastian@split.io
|
|
8
8
|
License: Apache License 2.0
|
|
9
|
-
Download-URL: https://github.com/splitio/python-client/tarball/9.6.
|
|
9
|
+
Download-URL: https://github.com/splitio/python-client/tarball/9.6.2
|
|
10
10
|
Description: UNKNOWN
|
|
11
11
|
Platform: UNKNOWN
|
|
12
12
|
Classifier: Environment :: Console
|
|
@@ -441,7 +441,7 @@ def _build_redis_factory(api_key, cfg):
|
|
|
441
441
|
cache_enabled = cfg.get('redisLocalCacheEnabled', False)
|
|
442
442
|
cache_ttl = cfg.get('redisLocalCacheTTL', 5)
|
|
443
443
|
storages = {
|
|
444
|
-
'splits': RedisSplitStorage(redis_adapter, cache_enabled, cache_ttl,
|
|
444
|
+
'splits': RedisSplitStorage(redis_adapter, cache_enabled, cache_ttl, []),
|
|
445
445
|
'segments': RedisSegmentStorage(redis_adapter),
|
|
446
446
|
'impressions': RedisImpressionsStorage(redis_adapter, sdk_metadata),
|
|
447
447
|
'events': RedisEventsStorage(redis_adapter, sdk_metadata),
|
|
@@ -524,7 +524,7 @@ def _build_pluggable_factory(api_key, cfg):
|
|
|
524
524
|
pluggable_adapter = cfg.get('storageWrapper')
|
|
525
525
|
storage_prefix = cfg.get('storagePrefix')
|
|
526
526
|
storages = {
|
|
527
|
-
'splits': PluggableSplitStorage(pluggable_adapter, storage_prefix,
|
|
527
|
+
'splits': PluggableSplitStorage(pluggable_adapter, storage_prefix, []),
|
|
528
528
|
'segments': PluggableSegmentStorage(pluggable_adapter, storage_prefix),
|
|
529
529
|
'impressions': PluggableImpressionsStorage(pluggable_adapter, sdk_metadata, storage_prefix),
|
|
530
530
|
'events': PluggableEventsStorage(pluggable_adapter, sdk_metadata, storage_prefix),
|
|
@@ -40,6 +40,9 @@ class InMemorySenderAdapter(ImpressionsSenderAdapter):
|
|
|
40
40
|
:param uniques: unique keys disctionary
|
|
41
41
|
:type uniques: Dictionary {'feature_flag1': set(), 'feature_flag2': set(), .. }
|
|
42
42
|
"""
|
|
43
|
+
if len(uniques) == 0:
|
|
44
|
+
return
|
|
45
|
+
|
|
43
46
|
self._telemtry_http_client.record_unique_keys({'keys': self._uniques_formatter(uniques)})
|
|
44
47
|
|
|
45
48
|
def _uniques_formatter(self, uniques):
|
|
@@ -73,6 +76,9 @@ class RedisSenderAdapter(ImpressionsSenderAdapter):
|
|
|
73
76
|
:param uniques: unique keys disctionary
|
|
74
77
|
:type uniques: Dictionary {'feature_flag1': set(), 'feature_flag2': set(), .. }
|
|
75
78
|
"""
|
|
79
|
+
if len(uniques) == 0:
|
|
80
|
+
return
|
|
81
|
+
|
|
76
82
|
bulk_mtks = _uniques_formatter(uniques)
|
|
77
83
|
try:
|
|
78
84
|
inserted = self._redis_client.rpush(_MTK_QUEUE_KEY, *bulk_mtks)
|
|
@@ -90,6 +96,9 @@ class RedisSenderAdapter(ImpressionsSenderAdapter):
|
|
|
90
96
|
:param to_send: unique keys disctionary
|
|
91
97
|
:type to_send: Dictionary {'feature_flag1': set(), 'feature_flag2': set(), .. }
|
|
92
98
|
"""
|
|
99
|
+
if len(to_send) == 0:
|
|
100
|
+
return
|
|
101
|
+
|
|
93
102
|
try:
|
|
94
103
|
resulted = 0
|
|
95
104
|
counted = 0
|
|
@@ -140,6 +149,9 @@ class PluggableSenderAdapter(ImpressionsSenderAdapter):
|
|
|
140
149
|
:param uniques: unique keys disctionary
|
|
141
150
|
:type uniques: Dictionary {'feature_flag1': set(), 'feature_flag2': set(), .. }
|
|
142
151
|
"""
|
|
152
|
+
if len(uniques) == 0:
|
|
153
|
+
return
|
|
154
|
+
|
|
143
155
|
bulk_mtks = _uniques_formatter(uniques)
|
|
144
156
|
try:
|
|
145
157
|
_LOGGER.debug("record_unique_keys")
|
|
@@ -159,6 +171,8 @@ class PluggableSenderAdapter(ImpressionsSenderAdapter):
|
|
|
159
171
|
:param to_send: unique keys disctionary
|
|
160
172
|
:type to_send: Dictionary {'feature_flag1': set(), 'feature_flag2': set(), .. }
|
|
161
173
|
"""
|
|
174
|
+
if len(to_send) == 0:
|
|
175
|
+
return
|
|
162
176
|
try:
|
|
163
177
|
resulted = 0
|
|
164
178
|
for pf_count in to_send:
|
|
@@ -357,6 +357,7 @@ def _build_default_client(config): # pylint: disable=too-many-locals
|
|
|
357
357
|
host = config.get('redisHost', 'localhost')
|
|
358
358
|
port = config.get('redisPort', 6379)
|
|
359
359
|
database = config.get('redisDb', 0)
|
|
360
|
+
username = config.get('redisUsername', None)
|
|
360
361
|
password = config.get('redisPassword', None)
|
|
361
362
|
socket_timeout = config.get('redisSocketTimeout', None)
|
|
362
363
|
socket_connect_timeout = config.get('redisSocketConnectTimeout', None)
|
|
@@ -382,6 +383,7 @@ def _build_default_client(config): # pylint: disable=too-many-locals
|
|
|
382
383
|
port=port,
|
|
383
384
|
db=database,
|
|
384
385
|
password=password,
|
|
386
|
+
username=username,
|
|
385
387
|
socket_timeout=socket_timeout,
|
|
386
388
|
socket_connect_timeout=socket_connect_timeout,
|
|
387
389
|
socket_keepalive=socket_keepalive,
|
|
@@ -435,6 +437,7 @@ def _build_sentinel_client(config): # pylint: disable=too-many-locals
|
|
|
435
437
|
raise SentinelConfigurationException('redisMasterService must be specified.')
|
|
436
438
|
|
|
437
439
|
database = config.get('redisDb', 0)
|
|
440
|
+
username = config.get('redisUsername', None)
|
|
438
441
|
password = config.get('redisPassword', None)
|
|
439
442
|
socket_timeout = config.get('redisSocketTimeout', None)
|
|
440
443
|
socket_connect_timeout = config.get('redisSocketConnectTimeout', None)
|
|
@@ -452,6 +455,7 @@ def _build_sentinel_client(config): # pylint: disable=too-many-locals
|
|
|
452
455
|
sentinels,
|
|
453
456
|
db=database,
|
|
454
457
|
password=password,
|
|
458
|
+
username=username,
|
|
455
459
|
socket_timeout=socket_timeout,
|
|
456
460
|
socket_connect_timeout=socket_connect_timeout,
|
|
457
461
|
socket_keepalive=socket_keepalive,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = '9.6.2'
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: splitio-client
|
|
3
|
-
Version: 9.6.
|
|
3
|
+
Version: 9.6.2
|
|
4
4
|
Summary: Split.io Python Client
|
|
5
5
|
Home-page: https://github.com/splitio/python-client
|
|
6
6
|
Author: Patricio Echague, Sebastian Arrubia
|
|
7
7
|
Author-email: pato@split.io, sebastian@split.io
|
|
8
8
|
License: Apache License 2.0
|
|
9
|
-
Download-URL: https://github.com/splitio/python-client/tarball/9.6.
|
|
9
|
+
Download-URL: https://github.com/splitio/python-client/tarball/9.6.2
|
|
10
10
|
Description: UNKNOWN
|
|
11
11
|
Platform: UNKNOWN
|
|
12
12
|
Classifier: Environment :: Console
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = '9.6.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
|
{splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/impressions/unique_keys_tracker.py
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
|
|
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
|
|
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
|