Utilities for randomizing A/B tests
Project description
GetCohorts
Allocate users in your experiments to a cohort using our random, idempotent resource.
curl http://api.getcohorts.com/v1/cohorts \
-X GET \
-d '{"identifier": "user1", "experiment": "homepage-test"}'
The endpoint will randomly assign the user user1
to a cohort for the experiment homepage-test
, and is gauranteed to always assign the same user to the same cohort for the same experiment
.
Development
Clone this repo.
git clone https://github.com/tjwaterman99/getcohorts.git
Install the package's dependencies, and install getcohorts
in editable mode.
pip install -r requirements.txt
pip install --editable .
To run the webserver, install the Heroku cli.
sudo snap install --clasic heroku
heroku local
The webserver will run on port 8000
.
Testing
Run the tests with pytest
pytest
You can run the github CI workflows locally if you have act installed. You'll also need to create a file .secrets
that contains deployment secrets for the staging environments.
# .secrets
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
DOCS_S3_BUCKET=...
PYPI_USERNAME=...
PYPI_REPOSITORY_URL=...
PYPI_ACCESS_TOKEN=...
Then run the Github workflows.
sudo act --secret-file .secrets
Documentation
Build the docs with sphinx-autobuild. The site is available at 0.0.0.0:8000
.
sphinx-autobuild docs docs/_build
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
Built Distribution
Hashes for getcohorts-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da1ced053e43694819da7c21fef960ef3a0842cede818e27f056194b56c088f1 |
|
MD5 | 86d7f4d6d4dcedcfb93828d9afecf5e2 |
|
BLAKE2b-256 | 74d9c01d851d84268d6213cb8f973e66d4be9108964894acdabf4fd8fa741410 |