This open source library allows you to A/B Test your Website at server-side.
- Works with Python: 3.6 onwards.
It's recommended you use virtualenv to create isolated Python environments.
pip install vwo-fme-python-sdk
from vwo import init
options = {
'sdk_key': '32-alpha-numeric-sdk-key', # SDK Key
'account_id': '123456' # VWO Account ID
}
vwo_client = init(options)
# set user context
user_context = {'id': 'unique_user_id'}
# returns a flag object
get_flag = vwo_client.get_flag('feature_key', user_context)
# check if flag is enabled
is_enabled = get_flag.is_enabled()
# get varible
int_var = get_flag.get_variable('int_variable_key', 'default_value')
# track event
vwo_client.track_event('event_name', user_context, event_properties)
# set attribute
vwo_client.set_attribute('attribute_key', 'attribute_value', user_context)
- Storage
from vwo import StorageConnector
class UserStorage(StorageConnector):
def get(self, key: str, user_id: str):
return client_db.get(f"{key}_{user_id}")
def set(self, value: dict):
key = f"{value.get('featureKey')}_{value.get('user')}"
client_db[key] = {
'rolloutKey': value.get('rolloutKey'),
'rolloutVariationId': value.get('rolloutVariationId'),
'rolloutId': value.get('rolloutId'),
'experimentKey': value.get('experimentKey'),
'experimentVariationId': value.get('experimentVariationId'),
'experimentId': value.get('experimentId'),
}
return True
options = {
'sdk_key': '32-alpha-numeric-sdk-key', # SDK Key
'account_id': '123456', # VWO Account ID
'storage': UserStorage()
}
vwo_client = init(options)
- Log messages
from vwo import LogLevelEnum
options = {
'sdk_key': '32-alpha-numeric-sdk-key', # SDK Key
'account_id': '123456', # VWO Account ID
'logger': {
'level': LogLevelEnum.DEBUG,
'prefix': 'VWO-FME-PYTHON-SDK'
}
}
vwo_client = init(options)
- Polling support
options = {
'sdk_key': '32-alpha-numeric-sdk-key', # SDK Key
'account_id': '123456', # VWO Account ID
'poll_interval': 5000 # in milliseconds
}
vwo_client = init(options)
python setup.py develop
python setup.py test
Refer CHANGELOG.md
Please go through our contributing guidelines
Copyright 2024 Wingify Software Pvt. Ltd.