Releases: wingify/vwo-fme-python-sdk
Release list
Version 1.60.0
- Added support for
campaignVariationsegmentation operator to evaluate web testing campaign assignments. Context can now passplatformVariables.webTestingCampaigns(as a JSON object or JSON string) to target users based on their web testing campaign and variation assignments.
Version 1.55.0
- Added user tracking support: sends a
vwo_feTrackUsageevent when user tracking is enabled for the account and no variation-shown impression was dispatched for the evaluation.
Version 1.50.0
This release introduces Wingify as the primary SDK branding and a new npm package namespace, while keeping existing VWO integrations fully supported on vwo-fme-node-sdk.
Version 1.21.1
- Fixed polling not detecting settings changes from the server when
poll_intervalis set.
Version 1.21.0
- Added support for holdout groups to exclude users from features based on segmentation and traffic allocation.
Version 1.20.1
- Fixed SDK usage statistics not being sent when event batching is enabled
Version 1.20.0
- Added support for custom bucketing seed via
bucketingSeedin the context. This allows users to bucket by a shared identifier instead of the individual user ID, ensuring all users within the same group receive the same variation
Version 1.19.0
-
Added support to use the context
idas the visitor UUID instead of auto-generating one. You can read the visitor UUID from the flag result viaflag.get_uuid()(e.g. to pass to the web client).Example usage:
from vwo import init # Initialize the SDK vwo_client = init({ "account_id": "123456", "sdk_key": "32-alpha-numeric-sdk-key", }) # Default: SDK generates a UUID from id and account context_with_generated_uuid = {"id": "user-123"} flag1 = vwo_client.get_flag("feature-key", context_with_generated_uuid) # Use your own UUID (e.g. from web client) by passing a valid web UUID as id context_with_custom_uuid = { "id": "D7E2EAA667909A2DB8A6371FF0975C2A5", # your existing UUID } flag2 = vwo_client.get_flag("feature-key", context_with_custom_uuid) # Get the UUID from the flag result (e.g. to pass to web client) uuid = flag1.get_uuid() print("Visitor UUID:", uuid)
Version 1.18.0
Added
-
Added session management capabilities to enable integration with VWO's web client testing campaigns. The SDK now automatically generates and manages session IDs to connect server-side feature flag decisions with client-side user sessions.
Example usage:
from vwo import init options = { 'sdk_key': '32-alpha-numeric-sdk-key', 'account_id': '123456', } vwo_client = init(options) # Session ID is automatically generated if not provided context = {'id': 'user-123'} flag = vwo_client.get_flag('feature-key', context) # Access the session ID to pass to web client for session recording session_id = flag.get_session_id() print(f"Session ID for web client: {session_id}")
You can also explicitly set a session ID to match a web client session:
from vwo import init vwo_client = init(options) context = { 'id': 'user-123', 'session_id': 1697123456 # Custom session ID matching web client } flag = vwo_client.get_flag('feature-key', context)
This enhancement enables seamless integration between server-side feature flag decisions and client-side session recording, allowing for comprehensive user behavior analysis across both server and client environments.
Version 1.17.0
Added
- Added support for redirecting all network calls through a custom proxy URL. This feature allows users to route all SDK network requests (settings, tracking, etc.) through their own proxy server.
options = {
'sdk_key': '32-alpha-numeric-sdk-key', # SDK Key
'account_id': '123456', # VWO Account ID
'proxy_url': 'https://custom.proxy.com'
}
vwo_client = init(options)Note: If both gateway_service and proxy_url are provided, the SDK will give preference to the gateway_service for all network requests.