kameleoon-client-python 3.16.2__tar.gz → 3.16.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.
Files changed (183) hide show
  1. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/PKG-INFO +16 -16
  2. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/configuration/data_file.py +1 -1
  3. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/conversion.py +3 -3
  4. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/custom_data.py +3 -2
  5. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/manager/visitor_manager.py +32 -9
  6. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/personalization.py +1 -1
  7. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/targeted_segment.py +1 -1
  8. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/helpers/functions.py +1 -1
  9. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/network_manager.py +1 -1
  10. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/sdk_version.py +1 -1
  11. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/storage/cache.py +2 -2
  12. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/targeting_condition.py +1 -1
  13. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/time_elapsed_since_visit_condition.py +0 -1
  14. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/visit_number_total_condition.py +0 -1
  15. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/visitor_new_return_condition.py +0 -1
  16. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon_client_python.egg-info/PKG-INFO +16 -16
  17. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/MANIFEST.in +0 -0
  18. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/README.md +0 -0
  19. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/__init__.py +0 -0
  20. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/client_readiness/__init__.py +0 -0
  21. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/client_readiness/async_readiness.py +0 -0
  22. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/client_readiness/threading_readiness.py +0 -0
  23. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/configuration/__init__.py +0 -0
  24. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/configuration/custom_data_info.py +0 -0
  25. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/configuration/experiment.py +0 -0
  26. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/configuration/feature_flag.py +0 -0
  27. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/configuration/me_group.py +0 -0
  28. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/configuration/rule.py +0 -0
  29. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/configuration/rule_type.py +0 -0
  30. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/configuration/settings.py +0 -0
  31. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/configuration/variable.py +0 -0
  32. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/configuration/variation.py +0 -0
  33. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/configuration/variation_by_exposition.py +0 -0
  34. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/__init__.py +0 -0
  35. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/browser.py +0 -0
  36. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/cbscores.py +0 -0
  37. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/cookie.py +0 -0
  38. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/data.py +0 -0
  39. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/device.py +0 -0
  40. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/geolocation.py +0 -0
  41. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/kcs_heat.py +0 -0
  42. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/manager/__init__.py +0 -0
  43. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/manager/assigned_variation.py +0 -0
  44. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/manager/forced_experiment_variation.py +0 -0
  45. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/manager/forced_feature_variation.py +0 -0
  46. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/manager/forced_variation.py +0 -0
  47. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/manager/page_view_visit.py +0 -0
  48. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/manager/visitor.py +0 -0
  49. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/manager/visitor_slot.py +0 -0
  50. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/mapping_identifier.py +0 -0
  51. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/operating_system.py +0 -0
  52. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/page_view.py +0 -0
  53. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/unique_identifier.py +0 -0
  54. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/user_agent.py +0 -0
  55. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/data/visitor_visits.py +0 -0
  56. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/defaults.py +0 -0
  57. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/exceptions.py +0 -0
  58. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/helpers/__init__.py +0 -0
  59. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/helpers/domain.py +0 -0
  60. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/helpers/hasher.py +0 -0
  61. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/helpers/logger.py +0 -0
  62. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/helpers/multi_threading.py +0 -0
  63. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/helpers/nonce.py +0 -0
  64. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/helpers/repeat_timer.py +0 -0
  65. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/helpers/scheduler.py +0 -0
  66. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/helpers/string_utils.py +0 -0
  67. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/helpers/visitor_code.py +0 -0
  68. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/hybrid/__init__.py +0 -0
  69. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/hybrid/hybrid_manager.py +0 -0
  70. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/hybrid/hybrid_manager_impl.py +0 -0
  71. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/kameleoon_client.py +0 -0
  72. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/kameleoon_client_config.py +0 -0
  73. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/kameleoon_client_factory.py +0 -0
  74. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/logging/__init__.py +0 -0
  75. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/logging/kameleoon_logger.py +0 -0
  76. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/logging/log_level.py +0 -0
  77. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/logging/logger.py +0 -0
  78. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/managers/__init__.py +0 -0
  79. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/managers/asyncexec/__init__.py +0 -0
  80. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/managers/asyncexec/async_executor.py +0 -0
  81. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/managers/data/__init__.py +0 -0
  82. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/managers/data/data_manager.py +0 -0
  83. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/managers/evaluation/__init__.py +0 -0
  84. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/managers/evaluation/evaluated_experiment.py +0 -0
  85. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/managers/remote_data/__init__.py +0 -0
  86. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/managers/remote_data/remote_data_manager.py +0 -0
  87. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/managers/remote_data/remote_visitor_data.py +0 -0
  88. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/managers/tracking/__init__.py +0 -0
  89. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/managers/tracking/tracking_builder.py +0 -0
  90. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/managers/tracking/tracking_manager.py +0 -0
  91. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/managers/tracking/visitor_tracking_registry.py +0 -0
  92. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/managers/warehouse/__init__.py +0 -0
  93. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/managers/warehouse/warehouse_manager.py +0 -0
  94. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/middleware.py +0 -0
  95. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/__init__.py +0 -0
  96. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/access_token_source.py +0 -0
  97. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/access_token_source_factory.py +0 -0
  98. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/activity_event.py +0 -0
  99. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/cookie/__init__.py +0 -0
  100. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/cookie/cookie_manager.py +0 -0
  101. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/net_provider.py +0 -0
  102. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/net_provider_impl.py +0 -0
  103. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/network_manager_factory.py +0 -0
  104. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/network_manager_factory_impl.py +0 -0
  105. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/network_manager_impl.py +0 -0
  106. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/query_builder.py +0 -0
  107. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/query_encodable.py +0 -0
  108. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/sendable.py +0 -0
  109. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/service_initialize_context.py +0 -0
  110. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/service_initialize_context_impl.py +0 -0
  111. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/services/__init__.py +0 -0
  112. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/services/automation_service.py +0 -0
  113. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/services/automation_service_impl.py +0 -0
  114. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/services/configuration_service.py +0 -0
  115. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/services/configuration_service_impl.py +0 -0
  116. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/services/data_service.py +0 -0
  117. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/services/data_service_impl.py +0 -0
  118. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/services/service.py +0 -0
  119. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/services/service_impl.py +0 -0
  120. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/uri_helper.py +0 -0
  121. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/network/url_provider.py +0 -0
  122. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/real_time/__init__.py +0 -0
  123. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/real_time/real_time_configuration_service.py +0 -0
  124. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/real_time/real_time_event.py +0 -0
  125. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/storage/__init__.py +0 -0
  126. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/storage/cache_factory.py +0 -0
  127. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/storage/cache_factory_impl.py +0 -0
  128. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/storage/cache_impl.py +0 -0
  129. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/__init__.py +0 -0
  130. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/__init__.py +0 -0
  131. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/browser_condition.py +0 -0
  132. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/constants.py +0 -0
  133. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/conversion_condition.py +0 -0
  134. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/cookie_condition.py +0 -0
  135. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/custom_datum.py +0 -0
  136. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/device_condition.py +0 -0
  137. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/exclusive_experiment_condition.py +0 -0
  138. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/geolocation_condition.py +0 -0
  139. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/kcs_heat_range_condition.py +0 -0
  140. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/number_condition.py +0 -0
  141. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/operating_system_condition.py +0 -0
  142. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/page_title_condition.py +0 -0
  143. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/page_url_condition.py +0 -0
  144. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/page_view_number_condition.py +0 -0
  145. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/previous_page_condition.py +0 -0
  146. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/sdk_language_condition.py +0 -0
  147. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/segment_condition.py +0 -0
  148. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/string_value_condition.py +0 -0
  149. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/target_experiment_condition.py +0 -0
  150. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/target_feature_flag_condition.py +0 -0
  151. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/target_personalization_condition.py +0 -0
  152. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/unknown_condition.py +0 -0
  153. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/visit_number_today_condition.py +0 -0
  154. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/conditions/visitor_code_condition.py +0 -0
  155. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/models.py +0 -0
  156. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/targeting_manager.py +0 -0
  157. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/tree_builder.py +0 -0
  158. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/targeting/tree_condition_factory.py +0 -0
  159. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/types/__init__.py +0 -0
  160. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/types/remote_visitor_data_filter.py +0 -0
  161. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/types/variable.py +0 -0
  162. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon/types/variation.py +0 -0
  163. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon_client_python.egg-info/SOURCES.txt +0 -0
  164. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon_client_python.egg-info/dependency_links.txt +0 -0
  165. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon_client_python.egg-info/requires.txt +15 -15
  166. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/kameleoon_client_python.egg-info/top_level.txt +0 -0
  167. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/setup.cfg +0 -0
  168. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/setup.py +0 -0
  169. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/tests/integration/proj/__init__.py +0 -0
  170. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/tests/integration/proj/kameleoon_app/__init__.py +0 -0
  171. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/tests/integration/proj/kameleoon_app/admin.py +0 -0
  172. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/tests/integration/proj/kameleoon_app/apps.py +0 -0
  173. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/tests/integration/proj/kameleoon_app/migrations/__init__.py +0 -0
  174. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/tests/integration/proj/kameleoon_app/models.py +0 -0
  175. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/tests/integration/proj/kameleoon_app/tests.py +0 -0
  176. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/tests/integration/proj/kameleoon_app/views.py +0 -0
  177. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/tests/integration/proj/manage.py +0 -0
  178. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/tests/integration/proj/proj/__init__.py +0 -0
  179. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/tests/integration/proj/proj/asgi.py +0 -0
  180. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/tests/integration/proj/proj/settings.py +0 -0
  181. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/tests/integration/proj/proj/urls.py +0 -0
  182. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/tests/integration/proj/proj/wsgi.py +0 -0
  183. {kameleoon_client_python-3.16.2 → kameleoon_client_python-3.16.3}/tests/resources/config.yml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kameleoon-client-python
3
- Version: 3.16.2
3
+ Version: 3.16.3
4
4
  Summary: Kameleoon Client Python Software Development Kit.
5
5
  Home-page: https://developers.kameleoon.com/python-sdk.html
6
6
  Author: Kameleoon
@@ -20,27 +20,27 @@ Requires-Dist: requests<3.0.0,>=2.25
20
20
  Requires-Dist: sseclient-py<1.9.0,>=1.7.0
21
21
  Requires-Dist: aiohttp<4.0.0,>=3.8.0
22
22
  Provides-Extra: test
23
- Requires-Dist: pytest-pythonpath==0.7.3; extra == "test"
23
+ Requires-Dist: wheel==0.36.2; extra == "test"
24
+ Requires-Dist: types-python-dateutil==2.8.2; extra == "test"
25
+ Requires-Dist: types-PyYAML==5.4.3; extra == "test"
26
+ Requires-Dist: pytest-ordering==0.6; extra == "test"
27
+ Requires-Dist: pylint==2.12.*; extra == "test"
28
+ Requires-Dist: sseclient-py<1.9.0,>=1.7.0; extra == "test"
29
+ Requires-Dist: Werkzeug==2.0.1; extra == "test"
24
30
  Requires-Dist: Django==3.2.4; extra == "test"
25
- Requires-Dist: pyyaml<6.1.0,>=5.4.0; extra == "test"
31
+ Requires-Dist: types-requests==2.25.0; extra == "test"
32
+ Requires-Dist: pytest-cov==2.12.1; extra == "test"
26
33
  Requires-Dist: aioresponses==0.7.*; extra == "test"
27
- Requires-Dist: pylint==2.12.*; extra == "test"
28
- Requires-Dist: types-python-dateutil==2.8.2; extra == "test"
29
- Requires-Dist: freezegun==1.1.0; extra == "test"
30
- Requires-Dist: wheel==0.36.2; extra == "test"
34
+ Requires-Dist: pytest-asyncio==0.21.*; extra == "test"
35
+ Requires-Dist: twine==3.4.1; extra == "test"
36
+ Requires-Dist: aiohttp<4.0.0,>=3.8.0; extra == "test"
31
37
  Requires-Dist: requests<3.0.0,>=2.25; extra == "test"
32
38
  Requires-Dist: flake8==4.0.1; extra == "test"
33
- Requires-Dist: pytest-cov==2.12.1; extra == "test"
34
- Requires-Dist: types-requests==2.25.0; extra == "test"
35
- Requires-Dist: sseclient-py<1.9.0,>=1.7.0; extra == "test"
39
+ Requires-Dist: pytest-pythonpath==0.7.3; extra == "test"
36
40
  Requires-Dist: mypy==0.991; extra == "test"
37
- Requires-Dist: twine==3.4.1; extra == "test"
38
- Requires-Dist: types-PyYAML==5.4.3; extra == "test"
39
- Requires-Dist: Werkzeug==2.0.1; extra == "test"
40
- Requires-Dist: pytest-ordering==0.6; extra == "test"
41
- Requires-Dist: pytest-asyncio==0.21.*; extra == "test"
42
41
  Requires-Dist: pytest-django==4.4.0; extra == "test"
43
- Requires-Dist: aiohttp<4.0.0,>=3.8.0; extra == "test"
42
+ Requires-Dist: freezegun==1.1.0; extra == "test"
43
+ Requires-Dist: pyyaml<6.1.0,>=5.4.0; extra == "test"
44
44
  Dynamic: author
45
45
  Dynamic: author-email
46
46
  Dynamic: classifier
@@ -48,7 +48,7 @@ class DataFile:
48
48
  configuration: Dict[str, Any], segments: Dict[int, Segment], cdi: CustomDataInfo
49
49
  ) -> Dict[str, FeatureFlag]:
50
50
  return {
51
- (ff := FeatureFlag(jobj, segments, cdi)).feature_key: ff # pylint: disable=C0103
51
+ (ff := FeatureFlag(jobj, segments, cdi)).feature_key: ff
52
52
  for jobj in configuration.get("featureFlags") or []
53
53
  }
54
54
 
@@ -44,7 +44,7 @@ class Conversion(Data, DuplicationSafeSendableBase):
44
44
  self.__goal_id = goal_id
45
45
  self.__revenue = revenue
46
46
  self.__negative = negative
47
- self.__metadata = metadata
47
+ self._metadata = metadata
48
48
 
49
49
  @property
50
50
  def goal_id(self) -> int:
@@ -64,7 +64,7 @@ class Conversion(Data, DuplicationSafeSendableBase):
64
64
  @property
65
65
  def metadata(self) -> Optional[Iterable[CustomData]]:
66
66
  """Returns metadata"""
67
- return self.__metadata
67
+ return self._metadata
68
68
 
69
69
  @property
70
70
  def data_type(self) -> DataType:
@@ -97,5 +97,5 @@ class Conversion(Data, DuplicationSafeSendableBase):
97
97
  f"Conversion{{goal_id:{self.__goal_id},"
98
98
  f"revenue:{self.__revenue},"
99
99
  f"negative:{self.__negative},"
100
- f"metadata:{StringUtils.object_to_string(self.__metadata)}}}"
100
+ f"metadata:{StringUtils.object_to_string(self._metadata)}}}"
101
101
  )
@@ -11,6 +11,7 @@ class CustomData(Data, DuplicationUnsafeSendableBase):
11
11
  """Custom data"""
12
12
 
13
13
  EVENT_TYPE = "customData"
14
+ UNDEFINED_INDEX = -1
14
15
 
15
16
  def __init__(self, index_or_name: Union[int, str], *args: str, overwrite=True) -> None:
16
17
  """
@@ -29,7 +30,7 @@ class CustomData(Data, DuplicationUnsafeSendableBase):
29
30
  self.__index = index_or_name
30
31
  self._name = None
31
32
  else:
32
- self.__index = -1
33
+ self.__index = self.UNDEFINED_INDEX
33
34
  self._name = index_or_name
34
35
  self.__values = args
35
36
  self.__overwrite = overwrite
@@ -41,7 +42,7 @@ class CustomData(Data, DuplicationUnsafeSendableBase):
41
42
  return custom_data
42
43
 
43
44
  @property
44
- def id(self) -> int: # pylint: disable=C0103
45
+ def id(self) -> int:
45
46
  """
46
47
  Deprecated. Please use `index` instead.
47
48
 
@@ -3,7 +3,7 @@ import collections
3
3
  import time
4
4
  from typing import Any, Dict, Iterator, List, Optional
5
5
  from kameleoon.configuration.custom_data_info import CustomDataInfo
6
- from kameleoon.data import CustomData
6
+ from kameleoon.data import Conversion, CustomData
7
7
  from kameleoon.data.mapping_identifier import MappingIdentifier
8
8
  from kameleoon.data.manager.visitor import Visitor
9
9
  from kameleoon.data.manager.visitor_slot import VisitorSlot
@@ -77,9 +77,10 @@ class VisitorManager:
77
77
  data_to_add: List[Any] = [None] * len(args)
78
78
  for i, data in enumerate(args):
79
79
  if isinstance(data, CustomData):
80
- data_to_add[i] = self.__process_custom_data(visitor_code, visitor, custom_data_info, data)
81
- else:
82
- data_to_add[i] = data
80
+ data = self.__process_custom_data(visitor_code, visitor, custom_data_info, data)
81
+ elif isinstance(data, Conversion):
82
+ data = self.__process_conversion(data, custom_data_info)
83
+ data_to_add[i] = data
83
84
  visitor.add_data(*data_to_add)
84
85
  KameleoonLogger.debug("RETURN: VisitorManager.add_data(visitor_code: %s, args: %s) -> (visitor)",
85
86
  visitor_code, args)
@@ -89,11 +90,11 @@ class VisitorManager:
89
90
  self, visitor_code: str, visitor: Visitor, custom_data_info: CustomDataInfo, custom_data: CustomData
90
91
  ) -> Optional[CustomData]:
91
92
  """Processes custom data, potentially modifying or mapping it based on certain conditions."""
92
- if custom_data.name is not None:
93
- cd_index = custom_data_info.get_custom_data_index_by_name(custom_data.name)
94
- if cd_index is None:
95
- return None
96
- custom_data = custom_data._named_to_indexed(cd_index)
93
+ if mapped_cd := self.__try_map_custom_data_index_by_name(custom_data, custom_data_info):
94
+ custom_data = mapped_cd
95
+ else:
96
+ KameleoonLogger.error("%s is invalid and will be ignored", custom_data)
97
+ return None
97
98
  # We shouldn't send custom data with local only type
98
99
  if custom_data_info.is_local_only(custom_data.index):
99
100
  custom_data.mark_as_sent()
@@ -113,6 +114,28 @@ class VisitorManager:
113
114
  return MappingIdentifier(custom_data)
114
115
  return custom_data
115
116
 
117
+ @staticmethod
118
+ def __process_conversion(conversion: Conversion, cdi: CustomDataInfo) -> Conversion:
119
+ if conversion.metadata:
120
+ metadata = []
121
+ for cd in conversion.metadata:
122
+ mapped_cd = VisitorManager.__try_map_custom_data_index_by_name(cd, cdi)
123
+ if mapped_cd:
124
+ metadata.append(mapped_cd)
125
+ else:
126
+ KameleoonLogger.warning("Conversion metadata %s is invalid", cd)
127
+ conversion._metadata = metadata
128
+ return conversion
129
+
130
+ @staticmethod
131
+ def __try_map_custom_data_index_by_name(custom_data: CustomData, cdi: CustomDataInfo) -> Optional[CustomData]:
132
+ if custom_data.index != CustomData.UNDEFINED_INDEX:
133
+ return custom_data
134
+ if custom_data.name is None:
135
+ return None
136
+ cd_index = cdi.get_custom_data_index_by_name(custom_data.name)
137
+ return custom_data._named_to_indexed(cd_index) if cd_index is not None else None
138
+
116
139
  def __purge(self) -> None:
117
140
  KameleoonLogger.debug("CALL: VisitorManager.__purge()")
118
141
  expired_time = time.time() - self.__expiration_period
@@ -13,7 +13,7 @@ class Personalization(BaseData):
13
13
  self.__variation_id = variation_id
14
14
 
15
15
  @property
16
- def id(self) -> int: # pylint: disable=C0103
16
+ def id(self) -> int:
17
17
  """Returns personalization ID"""
18
18
  return self.__id
19
19
 
@@ -13,7 +13,7 @@ class TargetedSegment(BaseData, DuplicationUnsafeSendableBase):
13
13
  self.__id = id_
14
14
 
15
15
  @property
16
- def id(self) -> int: # pylint: disable=C0103
16
+ def id(self) -> int:
17
17
  """Returns the segment ID."""
18
18
  return self.__id
19
19
 
@@ -16,7 +16,7 @@ def get_size(obj) -> float:
16
16
  return sum([sys.getsizeof(v) + sys.getsizeof(k) for k, v in obj.items()])
17
17
 
18
18
 
19
- E = TypeVar('E', bound=Enum) # pylint: disable=C0103
19
+ E = TypeVar('E', bound=Enum)
20
20
 
21
21
 
22
22
  def enum_from_literal(literal: str, enum_type: Type[E], default_value: E) -> E:
@@ -7,7 +7,7 @@ from kameleoon.network.service_initialize_context import ServiceInitializeContex
7
7
  from kameleoon.network.services.service import Service
8
8
 
9
9
 
10
- S = TypeVar("S", bound=Service) # pylint: disable=C0103
10
+ S = TypeVar("S", bound=Service)
11
11
 
12
12
 
13
13
  class NetworkManager:
@@ -4,7 +4,7 @@ from typing import Optional, Tuple
4
4
 
5
5
  from kameleoon.logging.kameleoon_logger import KameleoonLogger
6
6
 
7
- version_info = (3, 16, 2)
7
+ version_info = (3, 16, 3)
8
8
  __version__ = ".".join(str(v) for v in version_info) # uses in scripts
9
9
 
10
10
 
@@ -3,8 +3,8 @@
3
3
  from typing import TypeVar, Generic, Optional
4
4
 
5
5
 
6
- K = TypeVar("K") # pylint: disable=C0103
7
- V = TypeVar("V") # pylint: disable=C0103
6
+ K = TypeVar("K")
7
+ V = TypeVar("V")
8
8
 
9
9
 
10
10
  class Cache(Generic[K, V]):
@@ -6,7 +6,7 @@ from typing import Any, TypeVar, Union, Dict, Optional
6
6
 
7
7
  from kameleoon.data.data import Data
8
8
 
9
- T = TypeVar("T", bound=Data) # pylint: disable=C0103
9
+ T = TypeVar("T", bound=Data)
10
10
 
11
11
 
12
12
  class TargetingConditionType(Enum):
@@ -14,7 +14,6 @@ class TimeElapsedSinceVisitCondition(NumberCondition):
14
14
  super().__init__(json_condition, "countInMillis")
15
15
  self.__is_first_visit = self.type == TargetingConditionType.FIRST_VISIT.name
16
16
 
17
- # pylint: disable=C0103
18
17
  def check(self, data: Any) -> bool:
19
18
  visitor_visits, ok = VisitorVisits.get_visitor_visits(data)
20
19
  return ok and (self._condition_value is not None) and self.__check(visitor_visits)
@@ -12,7 +12,6 @@ class VisitNumberTotalCondition(NumberCondition):
12
12
  def __init__(self, json_condition: Dict[str, Union[str, int, Any]]):
13
13
  super().__init__(json_condition, "visitCount")
14
14
 
15
- # pylint: disable=C0103
16
15
  def check(self, data: Any) -> bool:
17
16
  visitor_visits, ok = VisitorVisits.get_visitor_visits(data)
18
17
  if ok and (self._condition_value is not None):
@@ -25,7 +25,6 @@ class VisitorNewReturnCondition(TargetingCondition):
25
25
  except KeyError as ex:
26
26
  KameleoonLogger.error("%s has wrong JSON structure: %s", self.__class__, ex)
27
27
 
28
- # pylint: disable=C0103
29
28
  def check(self, data: Any) -> bool:
30
29
  visitor_visits, ok = VisitorVisits.get_visitor_visits(data)
31
30
  if ok:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kameleoon-client-python
3
- Version: 3.16.2
3
+ Version: 3.16.3
4
4
  Summary: Kameleoon Client Python Software Development Kit.
5
5
  Home-page: https://developers.kameleoon.com/python-sdk.html
6
6
  Author: Kameleoon
@@ -20,27 +20,27 @@ Requires-Dist: requests<3.0.0,>=2.25
20
20
  Requires-Dist: sseclient-py<1.9.0,>=1.7.0
21
21
  Requires-Dist: aiohttp<4.0.0,>=3.8.0
22
22
  Provides-Extra: test
23
- Requires-Dist: pytest-pythonpath==0.7.3; extra == "test"
23
+ Requires-Dist: wheel==0.36.2; extra == "test"
24
+ Requires-Dist: types-python-dateutil==2.8.2; extra == "test"
25
+ Requires-Dist: types-PyYAML==5.4.3; extra == "test"
26
+ Requires-Dist: pytest-ordering==0.6; extra == "test"
27
+ Requires-Dist: pylint==2.12.*; extra == "test"
28
+ Requires-Dist: sseclient-py<1.9.0,>=1.7.0; extra == "test"
29
+ Requires-Dist: Werkzeug==2.0.1; extra == "test"
24
30
  Requires-Dist: Django==3.2.4; extra == "test"
25
- Requires-Dist: pyyaml<6.1.0,>=5.4.0; extra == "test"
31
+ Requires-Dist: types-requests==2.25.0; extra == "test"
32
+ Requires-Dist: pytest-cov==2.12.1; extra == "test"
26
33
  Requires-Dist: aioresponses==0.7.*; extra == "test"
27
- Requires-Dist: pylint==2.12.*; extra == "test"
28
- Requires-Dist: types-python-dateutil==2.8.2; extra == "test"
29
- Requires-Dist: freezegun==1.1.0; extra == "test"
30
- Requires-Dist: wheel==0.36.2; extra == "test"
34
+ Requires-Dist: pytest-asyncio==0.21.*; extra == "test"
35
+ Requires-Dist: twine==3.4.1; extra == "test"
36
+ Requires-Dist: aiohttp<4.0.0,>=3.8.0; extra == "test"
31
37
  Requires-Dist: requests<3.0.0,>=2.25; extra == "test"
32
38
  Requires-Dist: flake8==4.0.1; extra == "test"
33
- Requires-Dist: pytest-cov==2.12.1; extra == "test"
34
- Requires-Dist: types-requests==2.25.0; extra == "test"
35
- Requires-Dist: sseclient-py<1.9.0,>=1.7.0; extra == "test"
39
+ Requires-Dist: pytest-pythonpath==0.7.3; extra == "test"
36
40
  Requires-Dist: mypy==0.991; extra == "test"
37
- Requires-Dist: twine==3.4.1; extra == "test"
38
- Requires-Dist: types-PyYAML==5.4.3; extra == "test"
39
- Requires-Dist: Werkzeug==2.0.1; extra == "test"
40
- Requires-Dist: pytest-ordering==0.6; extra == "test"
41
- Requires-Dist: pytest-asyncio==0.21.*; extra == "test"
42
41
  Requires-Dist: pytest-django==4.4.0; extra == "test"
43
- Requires-Dist: aiohttp<4.0.0,>=3.8.0; extra == "test"
42
+ Requires-Dist: freezegun==1.1.0; extra == "test"
43
+ Requires-Dist: pyyaml<6.1.0,>=5.4.0; extra == "test"
44
44
  Dynamic: author
45
45
  Dynamic: author-email
46
46
  Dynamic: classifier
@@ -4,24 +4,24 @@ sseclient-py<1.9.0,>=1.7.0
4
4
  aiohttp<4.0.0,>=3.8.0
5
5
 
6
6
  [test]
7
- pytest-pythonpath==0.7.3
7
+ wheel==0.36.2
8
+ types-python-dateutil==2.8.2
9
+ types-PyYAML==5.4.3
10
+ pytest-ordering==0.6
11
+ pylint==2.12.*
12
+ sseclient-py<1.9.0,>=1.7.0
13
+ Werkzeug==2.0.1
8
14
  Django==3.2.4
9
- pyyaml<6.1.0,>=5.4.0
15
+ types-requests==2.25.0
16
+ pytest-cov==2.12.1
10
17
  aioresponses==0.7.*
11
- pylint==2.12.*
12
- types-python-dateutil==2.8.2
13
- freezegun==1.1.0
14
- wheel==0.36.2
18
+ pytest-asyncio==0.21.*
19
+ twine==3.4.1
20
+ aiohttp<4.0.0,>=3.8.0
15
21
  requests<3.0.0,>=2.25
16
22
  flake8==4.0.1
17
- pytest-cov==2.12.1
18
- types-requests==2.25.0
19
- sseclient-py<1.9.0,>=1.7.0
23
+ pytest-pythonpath==0.7.3
20
24
  mypy==0.991
21
- twine==3.4.1
22
- types-PyYAML==5.4.3
23
- Werkzeug==2.0.1
24
- pytest-ordering==0.6
25
- pytest-asyncio==0.21.*
26
25
  pytest-django==4.4.0
27
- aiohttp<4.0.0,>=3.8.0
26
+ freezegun==1.1.0
27
+ pyyaml<6.1.0,>=5.4.0