Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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:

# `reddit-v2-events` is a Reddit internal package used for emitting exposure events
$ pip install reddit-experiments reddit-v2-events>=2.8.2

Add the client to your application's Baseplate context:

 from event_utils.v2_event_utils import ExperimentLogger
 from reddit_decider import decider_client_from_config

 decider = decider_client_from_config(
     app_config=app_config,
     event_logger=ExperimentLogger(),
     request_field_extractor=decider_field_extractor,
 )
 baseplate.add_to_context("decider", decider)

and use it in request:

def my_method(request):
   if request.decider.get_variant("foo") == "bar":
       pass

See the documentation for more information (documentation builds can be found here) .

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 fmt

The 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 in build/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.

Release files for reddit-experiments 1.11.0rc4

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

Source distribution (sdist)

Source distribution for reddit-experiments 1.11.0rc4
File Size Uploaded
reddit_experiments-1.11.0rc4.tar.gz 1.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for reddit-experiments 1.11.0rc4
File Interpreter ABI Platform
reddit_experiments-1.11.0rc4-py3-none-any.whl Python 3 none any Details

Total release size: 1.5 MB

Release files / reddit_experiments-1.11.0rc4.tar.gz

Download URL reddit_experiments-1.11.0rc4.tar.gz
Size 1.4 MB
Tags Source
SHA-256 checksum
How to use checksums
fce4438a59a65cf0b52facbd1dedc0009865308c284946078eb6fd82d7674f40
BLAKE2b-256 checksum
How to use checksums
b9828cd10fe1b7a75528cfdbc2d4cb2d8de624dd042975fca033a6755463efb9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.12.1.2 requests/2.32.4 setuptools/47.3.0 requests-toolbelt/1.0.0 tqdm/4.70.1 CPython/3.8.18

Release files / reddit_experiments-1.11.0rc4-py3-none-any.whl

Download URL reddit_experiments-1.11.0rc4-py3-none-any.whl
Size 39.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dbe0db56a737de4b500145433c8f04305fa061343649fd6700f801005c3871e9
BLAKE2b-256 checksum
How to use checksums
9a06cb65b661e32653158067f807e913ebb454678cca833d1d6165183712671a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.12.1.2 requests/2.32.4 setuptools/47.3.0 requests-toolbelt/1.0.0 tqdm/4.70.1 CPython/3.8.18

Release history Release notifications | RSS feed

This release

1.11.0rc4 This release

2 release files

1.10.0

2 release files

1.9.0

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.14

2 release files

1.3.13

2 release files

1.3.12

2 release files

1.3.11

2 release files

1.3.9

2 release files

1.3.8

2 release files

1.3.7

2 release files

1.3.6

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.13

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

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