splitio-client 10.3.0rc2__tar.gz → 10.4.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.
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/PKG-INFO +2 -2
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/setup.py +1 -1
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/api/impressions.py +25 -9
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/client/client.py +175 -98
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/client/input_validator.py +25 -10
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/engine/evaluator.py +32 -9
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/engine/impressions/adapters.py +16 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/engine/impressions/strategies.py +16 -2
- splitio_client-10.4.0/splitio/models/grammar/matchers/prerequisites.py +38 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/grammar/matchers/rule_based_segment.py +4 -6
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/impressions.py +7 -1
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/splits.py +45 -5
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/push/workers.py +29 -14
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/storage/pluggable.py +1 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/storage/redis.py +1 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/sync/split.py +15 -5
- splitio_client-10.4.0/splitio/version.py +1 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio_client.egg-info/PKG-INFO +2 -2
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio_client.egg-info/SOURCES.txt +1 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio_client.egg-info/requires.txt +1 -1
- splitio_client-10.3.0rc2/splitio/version.py +0 -1
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/LICENSE.txt +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/README.md +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/setup.cfg +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/__init__.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/api/__init__.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/api/auth.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/api/client.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/api/commons.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/api/events.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/api/segments.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/api/splits.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/api/telemetry.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/client/__init__.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/client/config.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/client/factory.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/client/key.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/client/listener.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/client/localhost.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/client/manager.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/client/util.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/engine/__init__.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/engine/cache/__init__.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/engine/cache/lru.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/engine/filters.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/engine/hashfns/__init__.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/engine/hashfns/legacy.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/engine/hashfns/murmur3py.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/engine/impressions/__init__.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/engine/impressions/impressions.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/engine/impressions/manager.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/engine/impressions/unique_keys_tracker.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/engine/splitters.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/engine/telemetry.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/exceptions.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/factories.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/impressions.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/key.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/__init__.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/datatypes.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/events.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/grammar/__init__.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/grammar/condition.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/grammar/matchers/__init__.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/grammar/matchers/base.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/grammar/matchers/keys.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/grammar/matchers/misc.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/grammar/matchers/numeric.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/grammar/matchers/semver.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/grammar/matchers/sets.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/grammar/matchers/string.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/grammar/matchers/utils/__init__.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/grammar/matchers/utils/utils.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/grammar/partitions.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/notification.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/rule_based_segments.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/segments.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/telemetry.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/models/token.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/optional/__init__.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/optional/loaders.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/push/__init__.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/push/manager.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/push/parser.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/push/processor.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/push/splitsse.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/push/sse.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/push/status_tracker.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/recorder/__init__.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/recorder/recorder.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/spec.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/storage/__init__.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/storage/adapters/__init__.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/storage/adapters/cache_trait.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/storage/adapters/redis.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/storage/adapters/util.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/storage/inmemmory.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/sync/__init__.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/sync/event.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/sync/impression.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/sync/manager.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/sync/segment.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/sync/synchronizer.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/sync/telemetry.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/sync/unique_keys.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/sync/util.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/tasks/__init__.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/tasks/events_sync.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/tasks/impressions_sync.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/tasks/segment_sync.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/tasks/split_sync.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/tasks/telemetry_sync.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/tasks/unique_keys_sync.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/tasks/util/__init__.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/tasks/util/asynctask.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/tasks/util/workerpool.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/util/__init__.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/util/backoff.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/util/decorators.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/util/storage_helper.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/util/threadutil.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio/util/time.py +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio_client.egg-info/dependency_links.txt +0 -0
- {splitio_client-10.3.0rc2 → splitio_client-10.4.0}/splitio_client.egg-info/top_level.txt +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: splitio_client
|
|
3
|
-
Version: 10.
|
|
3
|
+
Version: 10.4.0
|
|
4
4
|
Summary: Split.io Python Client
|
|
5
5
|
Home-page: https://github.com/splitio/python-client
|
|
6
|
-
Download-URL: https://github.com/splitio/python-client/tarball/10.
|
|
6
|
+
Download-URL: https://github.com/splitio/python-client/tarball/10.4.0
|
|
7
7
|
Author: Patricio Echague, Sebastian Arrubia
|
|
8
8
|
Author-email: pato@split.io, sebastian@split.io
|
|
9
9
|
License: Apache License 2.0
|
|
@@ -30,15 +30,7 @@ class ImpressionsAPIBase(object): # pylint: disable=too-few-public-methods
|
|
|
30
30
|
{
|
|
31
31
|
'f': test_name,
|
|
32
32
|
'i': [
|
|
33
|
-
|
|
34
|
-
'k': impression.matching_key,
|
|
35
|
-
't': impression.treatment,
|
|
36
|
-
'm': impression.time,
|
|
37
|
-
'c': impression.change_number,
|
|
38
|
-
'r': impression.label,
|
|
39
|
-
'b': impression.bucketing_key,
|
|
40
|
-
'pt': impression.previous_time
|
|
41
|
-
}
|
|
33
|
+
ImpressionsAPIBase._filter_out_null_prop(impression)
|
|
42
34
|
for impression in imps
|
|
43
35
|
]
|
|
44
36
|
}
|
|
@@ -48,6 +40,30 @@ class ImpressionsAPIBase(object): # pylint: disable=too-few-public-methods
|
|
|
48
40
|
)
|
|
49
41
|
]
|
|
50
42
|
|
|
43
|
+
@staticmethod
|
|
44
|
+
def _filter_out_null_prop(impression):
|
|
45
|
+
if impression.properties == None:
|
|
46
|
+
return {
|
|
47
|
+
'k': impression.matching_key,
|
|
48
|
+
't': impression.treatment,
|
|
49
|
+
'm': impression.time,
|
|
50
|
+
'c': impression.change_number,
|
|
51
|
+
'r': impression.label,
|
|
52
|
+
'b': impression.bucketing_key,
|
|
53
|
+
'pt': impression.previous_time
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return {
|
|
57
|
+
'k': impression.matching_key,
|
|
58
|
+
't': impression.treatment,
|
|
59
|
+
'm': impression.time,
|
|
60
|
+
'c': impression.change_number,
|
|
61
|
+
'r': impression.label,
|
|
62
|
+
'b': impression.bucketing_key,
|
|
63
|
+
'pt': impression.previous_time,
|
|
64
|
+
'properties': impression.properties
|
|
65
|
+
}
|
|
66
|
+
|
|
51
67
|
@staticmethod
|
|
52
68
|
def _build_counters(counters):
|
|
53
69
|
"""
|