experiments.py
Experiments allow us to determine the impact of changes we make. This library
helps you run and track them in Baseplate.py services.
Documentation: https://reddit-experiments.readthedocs.io/
Usage
Install the library:
$ pip install reddit-experimentsAdd the client to your application's Baseplate context:
baseplate.configure_context(
{
...
"experiments": ExperimentsClient(event_logger),
...
}
)and use it in request:
def my_method(request):
if request.experiments.variant("foo") == "bar":
passSee the documentation for more information.
Development
A Dockerfile is provided to get a development environment running. To use it,
build the base Docker image:
$ docker build -t experiments .And then fire up the environment and use the provided Makefile targets to do
common tasks:
$ docker run -it -v $PWD:/src -w /src experiments
$ make fmtThe following make targets are provided:
fmt: Apply automatic formatting to the source code.lint: Run linters on the code.test: Run the test suite.docs: Build the docs. Output can be found inbuild/html/.
Note: some tests are skipped by default locally because they are quite slow.
Enable these by setting CI=true in the environment: CI=true make test.