Skip to main content

Python client for Sixpack, an A/B testing framework under active development at SeatGeek

Project description

Python client library for SeatGeak’s Sixpack ab testing framework.

Installation

First install in your virtual environment:

$ pip install sixpack-client

Usage

Basic example:

from sixpack.sixpack import Session

session = Session()

# Participate in a test (creates the test if necessary)
session.participate("new-test", ["alternative-1", "alternative-2"])

# Convert
session.convert("new-test")

Each session has a client_id associated with it that must be preserved across requests. Here’s what the first request might look like:

session = Session()
resp = session.participate("new-test", ["alternative-1", "alternative-2"])
set_cookie_in_your_web_framework("sixpack-id", session.client_id)

You can then make decisions in your application based on resp[‘alternative’][‘name’]:

session = Session()
resp = session.participate("new-test", ["alt-1", "alt-2"])
if resp["alternative"]["name"] == "alt-1":
    set_variable_in_view("new-test-alternative", "alt-1")

For future requests, create the Session using the client_id stored in the cookie:

client_id = get_cookie_from_web_framework("sixpack-id")
session = Session(client_id=client_id)
session.convert("new-test")

Sessions can take an optional options dictionary that takes host and timeout as keys. This allows you to customize Sixpack’s location.:

options = {'host': 'http://mysixpacklocation.com'}
session = Session(client_id="123", options=options)

If Sixpack is unreachable or other errors occur, sixpack-py will provide the control alternative.

Contributing

  1. Fork it

  2. Create your feature branch (git checkout -b my-new-feature)

  3. Commit your changes (git commit -am ‘Added some feature’)

  4. Push to the branch (git push origin my-new-feature)

  5. Create new Pull Request

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Sixpack-client-1.1.1.tar.gz (4.8 kB view details)

Uploaded Source

File details

Details for the file Sixpack-client-1.1.1.tar.gz.

File metadata

File hashes

Hashes for Sixpack-client-1.1.1.tar.gz
Algorithm Hash digest
SHA256 0ac641cfd38723b8c220f09221b0025ad0d72ae30f49885f787aec2e6c0da1d8
MD5 7e6180d195bdea105464c6b4ac1da230
BLAKE2b-256 fc98ec006d4ad945ef92d278adbbfbe5d8a17fa10eb4d5956c7ea63e377c4422

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page