Molasses

Python SDK#

A Python SDK for Molasses. It allows you to evaluate a user's status for a feature. It also helps simplify logging events for A/B testing.

Molasses uses polling to check if you have updated features. Once initialized, it takes microseconds to evaluate if a user is active.

Install#

1
pip install molasses

Usage#

Initialization#

Start by initializing the client with an APIKey. This begins the polling for any feature updates. The updates happen every 15 seconds.

python
1
from molasses import MolassesClient
2
3
client = MolassesClient("test_key")

If you decide not to track analytics events (experiment started, experiment success) you can turn them off by setting the send_events field to False

python
1
client = MolassesClient("test_key", send_events=False)

Check if feature is active#

You can call is_active with the key name and optionally a user’s information. The id field is used to determine whether a user is part of a percentage of users. If you have other constraints based on user params you can pass those in the params field.

python
1
client.is_active("FOO_TEST", {
2
"id":"foo",
3
"params":{
4
"isBetaUser":"false",
5
"isScaredUser":"false"
6
}
7
})

You can check if a feature is active for a user who is anonymous by just calling is_active with the key. You won’t be able to do percentage roll outs or track that user’s behavior.

python
1
client.is_active("TEST_FEATURE_FOR_USER")

Experiments#

To track whether an experiment was successful you can call experiment_success. experiment_success takes the feature’s name, any additional parameters for the event and the user.

python
1
client.experiment_success("GOOGLE_SSO",{
2
"version": "v2.3.0"
3
},{
4
"id":"foo",
5
"params":{
6
"isBetaUser":"false",
7
"isScaredUser":"false"
8
}
9
})

Example#

python
1
from molasses import MolassesClient
2
3
client = MolassesClient("test_key")
4
5
if client.is_active('NEW_CHECKOUT'):
6
print "we are a go"
7
else:
8
print "we are a no go"
Python SDK