Skip to main content

Jinja2 A/B testing extension

Build status

This is an A/B testing extension for Jinja. It allows you to encode experiments in your templates and renders the experiment selected by the AB_EXPERIMENT environment variable. ‘control’ is the default experiment name if AB_EXPERIMENT is not specified!

To install:

pip install jinja-ab

Enable the extension in your code like this:

import os
import jinja_ab

env = Environment(
        loader=FilesystemLoader(),
        extensions=[jinja_ab.JinjaAbExperimentExtension],
    )

os.environ['AB_EXPERIMENT'] = 'v1'
template = env.get_template('index.html')
return template.render(context)

The template syntax is:

{% experiment control %}This is the control{% endexperiment %}
{% experiment v1 %}This is version 1{% endexperiment %}

Alternative syntax is also supported:

{% ab control %}This is the control{% endab %}
{% ab v1 %}This is version 1{% endab %}

You can also mix the two tags in a single template:

{% experiment control %}This is the control{% endexperiment %}
{% ab v1 %}This is version 1{% endab %}

Single and double quoted names are also supported!

NOTE: this extension deals with rendering the template string based on the value of AB_EXPERIMENT. It is up to you or your Jinja2 based tools to decide what to do with the result. At Mr. Senko we use this extension as part of the pelican-ab plugin.

Contributing

Source code and issue tracker are at https://github.com/MrSenko/jinja-ab

Commercial support

Mr. Senko provides commercial support for open source libraries, should you need it!

Metadata

Release files for jinja-ab 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jinja-ab 0.3.0
File Size Uploaded
jinja-ab-0.3.0.tar.gz 3.4 kB Details

Release files / jinja-ab-0.3.0.tar.gz

Download URL jinja-ab-0.3.0.tar.gz
Size 3.4 kB
Tags Source
SHA-256 checksum
How to use checksums
cd8d8c2c6cbaccd79b8dcd02a0d11496edb9d039a156ba69f5d6609e10c60a87
BLAKE2b-256 checksum
How to use checksums
cf87495edffe9291fab29b53aab0c5540ce0ff3dda744f9f73e6c53e2d6cde7f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.3.0 This release

1 release file

0.2.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page