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.0.tar.gz (4.8 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for Sixpack-client-1.1.0.tar.gz
Algorithm Hash digest
SHA256 0c8596e0b2fc3a56f1b747b71a7679fc3f4ce335b2967a01224641b075455081
MD5 0c278aeee2829dc565f402d557f56ae8
BLAKE2b-256 d94681f549c75e0d9242378de1b7f09ae103fd2fc7c3eefab89c64663ba4f2a5

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