Python SDK for VWO server-side A/B Testing
Project description
⚠️ [DEPRECATED] VWO Python SDK
⚠️ This project is no longer actively developed. ⚠️
✅ We are only fixing critical bugs and security issues.
❌ No new features, enhancements, or non-critical updates will be added.
Switch to VWO Feature Management & Experimentation(FME) – The Better Alternative! 🚀
VWO’s FME product empowers teams to seamlessly test, release, optimize, and roll back features across their entire tech stack while minimizing risk and maximizing business impact.
💡 Need Help? For migration assistance or any questions, contact us at support@vwo.com
This open source library allows you to A/B Test your Website at server-side.
Requirements
- Works with Python: 2.7 onwards. Python 3 is also supported.
Installation
It's recommended you use virtualenv to create isolated Python environments.
pip install vwo-python-sdk
Basic usage
Importing and Instantiation
import vwo
settings_file = vwo.get_settings_file(account_id, sdk_key)
vwo_client_instance = vwo.launch(settings_file)
API usage
# activate API
variation_name = vwo_client_instance.activate(ab_campaign_key, user_id)
# get_variation_name API
variation_name = vwo_client_instance.get_variation_name(ab_campaign_key, user_id)
# track API
vwo_client_instance.track(ab_campaign_key, user_id, ab_campaign_goal_identifeir, revenue_value)
Log Level - pass log_level to SDK
import vwo
from vwo import LogLevels
settings_file = vwo.get_settings_file(account_id, sdk_key)
vwo_client_instance = vwo.launch(settings_file, log_level=LogLevels.DEBUG)
Custom Logger - implement your own logger method
import vwo
class CustomLogger:
def log(self, level, message):
print(level, message)
# ...write to file or database or integrate with any third-party service
settings_file = vwo.get_settings_file(account_id, sdk_key)
vwo_client_instance = vwo.launch(settings_file, logger = CustomLogger())
User Storage Service
import vwo
from vwo import logger
class user_storage(UserStorage):
def get(self, user_id, campaign_key):
# ...code here for getting data
# return data
def set(self, user_storage_data):
# ...code to persist data
us = user_storage()
settings_file = vwo.get_settings_file(account_id, sdk_key)
vwo_client_instance = vwo.launch(settings_file, user_storage = us)
Documentation
Refer Official VWO Documentation
Local development
python setup.py develop
Running Unit Tests
python setup.py test
Demo Python application
Third-party Resources and Credits
Refer third-party-attributions.txt
Authors
- Main Contributor - Shravan Chaudhary
- Repo health maintainer - Varun Malhotra(@s0ftvar)
Changelog
Refer CHANGELOG.md
Contributing
Please go through our contributing guidelines
Code of Conduct
License
Copyright 2019-2022 Wingify Software Pvt. Ltd.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file vwo_python_sdk-1.68.2.tar.gz.
File metadata
- Download URL: vwo_python_sdk-1.68.2.tar.gz
- Upload date:
- Size: 56.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e667ad801c04a317afffcf44641f1cf5fc84d722d42a73e941ca356cd0e3b3d9
|
|
| MD5 |
d09402df9dae987a10b55e97290f7887
|
|
| BLAKE2b-256 |
959875696ed284030ee447859a32a8b3580c06ba938c2fceb1a9a0f7c51d0573
|