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.
Files changed (115) hide show
  1. {splitio_client-9.6.0 → splitio_client-9.6.2}/PKG-INFO +2 -2
  2. {splitio_client-9.6.0 → splitio_client-9.6.2}/setup.py +1 -1
  3. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/client/config.py +1 -0
  4. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/client/factory.py +2 -2
  5. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/impressions/adapters.py +14 -0
  6. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/storage/adapters/redis.py +4 -0
  7. splitio_client-9.6.2/splitio/version.py +1 -0
  8. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio_client.egg-info/PKG-INFO +2 -2
  9. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio_client.egg-info/requires.txt +1 -1
  10. splitio_client-9.6.0/splitio/version.py +0 -1
  11. {splitio_client-9.6.0 → splitio_client-9.6.2}/README.md +0 -0
  12. {splitio_client-9.6.0 → splitio_client-9.6.2}/setup.cfg +0 -0
  13. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/__init__.py +0 -0
  14. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/api/__init__.py +0 -0
  15. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/api/auth.py +0 -0
  16. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/api/client.py +0 -0
  17. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/api/commons.py +0 -0
  18. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/api/events.py +0 -0
  19. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/api/impressions.py +0 -0
  20. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/api/segments.py +0 -0
  21. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/api/splits.py +0 -0
  22. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/api/telemetry.py +0 -0
  23. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/client/__init__.py +0 -0
  24. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/client/client.py +0 -0
  25. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/client/input_validator.py +0 -0
  26. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/client/key.py +0 -0
  27. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/client/listener.py +0 -0
  28. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/client/localhost.py +0 -0
  29. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/client/manager.py +0 -0
  30. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/client/util.py +0 -0
  31. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/__init__.py +0 -0
  32. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/cache/__init__.py +0 -0
  33. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/cache/lru.py +0 -0
  34. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/evaluator.py +0 -0
  35. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/filters.py +0 -0
  36. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/hashfns/__init__.py +0 -0
  37. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/hashfns/legacy.py +0 -0
  38. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/hashfns/murmur3py.py +0 -0
  39. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/impressions/__init__.py +0 -0
  40. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/impressions/impressions.py +0 -0
  41. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/impressions/manager.py +0 -0
  42. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/impressions/strategies.py +0 -0
  43. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/impressions/unique_keys_tracker.py +0 -0
  44. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/splitters.py +0 -0
  45. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/engine/telemetry.py +0 -0
  46. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/exceptions.py +0 -0
  47. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/factories.py +0 -0
  48. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/impressions.py +0 -0
  49. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/key.py +0 -0
  50. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/__init__.py +0 -0
  51. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/datatypes.py +0 -0
  52. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/events.py +0 -0
  53. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/grammar/__init__.py +0 -0
  54. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/grammar/condition.py +0 -0
  55. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/grammar/matchers/__init__.py +0 -0
  56. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/grammar/matchers/base.py +0 -0
  57. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/grammar/matchers/keys.py +0 -0
  58. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/grammar/matchers/misc.py +0 -0
  59. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/grammar/matchers/numeric.py +0 -0
  60. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/grammar/matchers/sets.py +0 -0
  61. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/grammar/matchers/string.py +0 -0
  62. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/grammar/partitions.py +0 -0
  63. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/impressions.py +0 -0
  64. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/notification.py +0 -0
  65. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/segments.py +0 -0
  66. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/splits.py +0 -0
  67. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/telemetry.py +0 -0
  68. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/models/token.py +0 -0
  69. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/push/__init__.py +0 -0
  70. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/push/manager.py +0 -0
  71. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/push/parser.py +0 -0
  72. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/push/processor.py +0 -0
  73. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/push/segmentworker.py +0 -0
  74. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/push/splitsse.py +0 -0
  75. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/push/splitworker.py +0 -0
  76. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/push/sse.py +0 -0
  77. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/push/status_tracker.py +0 -0
  78. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/recorder/__init__.py +0 -0
  79. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/recorder/recorder.py +0 -0
  80. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/storage/__init__.py +0 -0
  81. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/storage/adapters/__init__.py +0 -0
  82. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/storage/adapters/cache_trait.py +0 -0
  83. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/storage/adapters/util.py +0 -0
  84. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/storage/inmemmory.py +0 -0
  85. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/storage/pluggable.py +0 -0
  86. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/storage/redis.py +0 -0
  87. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/sync/__init__.py +0 -0
  88. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/sync/event.py +0 -0
  89. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/sync/impression.py +0 -0
  90. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/sync/manager.py +0 -0
  91. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/sync/segment.py +0 -0
  92. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/sync/split.py +0 -0
  93. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/sync/synchronizer.py +0 -0
  94. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/sync/telemetry.py +0 -0
  95. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/sync/unique_keys.py +0 -0
  96. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/sync/util.py +0 -0
  97. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/tasks/__init__.py +0 -0
  98. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/tasks/events_sync.py +0 -0
  99. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/tasks/impressions_sync.py +0 -0
  100. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/tasks/segment_sync.py +0 -0
  101. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/tasks/split_sync.py +0 -0
  102. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/tasks/telemetry_sync.py +0 -0
  103. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/tasks/unique_keys_sync.py +0 -0
  104. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/tasks/util/__init__.py +0 -0
  105. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/tasks/util/asynctask.py +0 -0
  106. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/tasks/util/workerpool.py +0 -0
  107. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/util/__init__.py +0 -0
  108. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/util/backoff.py +0 -0
  109. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/util/decorators.py +0 -0
  110. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/util/storage_helper.py +0 -0
  111. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/util/threadutil.py +0 -0
  112. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio/util/time.py +0 -0
  113. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio_client.egg-info/SOURCES.txt +0 -0
  114. {splitio_client-9.6.0 → splitio_client-9.6.2}/splitio_client.egg-info/dependency_links.txt +0 -0
  115. {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.0
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.0
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
@@ -7,7 +7,7 @@ from setuptools import setup, find_packages
7
7
  TESTS_REQUIRES = [
8
8
  'flake8',
9
9
  'pytest==7.0.1',
10
- 'pytest-mock>=3.5.1',
10
+ 'pytest-mock==3.12.0',
11
11
  'coverage==6.2',
12
12
  'pytest-cov',
13
13
  'importlib-metadata==4.2',
@@ -31,6 +31,7 @@ DEFAULT_CONFIG = {
31
31
  'redisHost': 'localhost',
32
32
  'redisPort': 6379,
33
33
  'redisDb': 0,
34
+ 'redisUsername': None,
34
35
  'redisPassword': None,
35
36
  'redisSocketTimeout': None,
36
37
  'redisSocketConnectTimeout': None,
@@ -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, cfg['flagSetsFilter'] if cfg['flagSetsFilter'] is not None else []),
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, cfg['flagSetsFilter'] if cfg['flagSetsFilter'] is not None else []),
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.0
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.0
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
@@ -15,7 +15,7 @@ redis>=2.10.5
15
15
  [test]
16
16
  flake8
17
17
  pytest==7.0.1
18
- pytest-mock>=3.5.1
18
+ pytest-mock==3.12.0
19
19
  coverage==6.2
20
20
  pytest-cov
21
21
  importlib-metadata==4.2
@@ -1 +0,0 @@
1
- __version__ = '9.6.0'
File without changes
File without changes