Skip to main content

ABToast is an A/B Testing app that is developed in django.

Project description

# ABToast

ABToast is a simple A/B Testing app that is developed in django. This app implements the Django Session functionality to achieve the goal.

### Installation

ABToast requires [Django]( to run.

Install ABToast from pip
$ pip install django-abtoast
OR, Get ABToast locally
$ git clone ABToast

# Django Default Apps
# ABToast
Add ABToast.middleware.ABMiddleware to the project middlewares
# Custom Middleware
Migrate the database and create admin account
$ python makemigrations
$ python migrate
$ python createsuperuser
Now Create your own new Tests in the Database
Note: You can also create New Experiment and Tests from the Django Admin Panel
from datetime import datetime
from dateutil.relativedelta import relativedelta

from ABToast.models import Experiment, Test

# Starting the Experiment from today
start_date =
# End Date for the Experiment
# Experiment runs for two months
end_date = start_date + relativedelta(months=+2)

# Initial Traffic Redirect for the first variant
initial_traffic = 50 # 50%

# Create an Experiment
exp = Experiment.objects.create(name="Homepage Test", template_name="registrations/signup.html", goal="registrations/success", start=start_date, end=end_date, is_active=True)

# Create two variations of the homepage.
# Currently User can only create two Test instances for a particular Experiment
# which means currently user can run A/B Testing on only two variants of a Page
# One Test for the original template
Test.objects.create(template_name="registrations/signup.html", experiment=exp)

# Other Test for the New Variant
Test.objects.create(template_name="registrations/new_signup.html", experiment=exp)
Now You can run A/B Test on a view
def home(request, template_name="registrations/signup.html"):
template_name =
except TemplateDoesNotExist:
return render_to_response(template_name)
### Development

Want to contribute? Great!

Do the necessary changes that you feel and send a pull request.

### Todos

- [ ] Multivariate Testing
- [ ] Add Graphical Information
- [ ] Add Bayesian Formula for the Conversion Rates



**Free Software, Hell Yeah!**

Project details

Download files

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

Files for django-abtoast, version 1.2.0
Filename, size File type Python version Upload date Hashes
Filename, size django_abtoast-1.2.0-py2-none-any.whl (8.9 kB) File type Wheel Python version 2.7 Upload date Hashes View hashes
Filename, size django-abtoast-1.2.0.tar.gz (4.5 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page