sixpack: Run A/B Tests Across Multiple Languages

Summary
Sixpack is a self-hosted A/B-testing framework with an HTTP API that lets applications in different programming languages share experiment assignments and conversion data. It includes an optional dashboard for reviewing results.
At a glance
- Language
- Python
- License
- BSD-2-Clause
- Stars
- 1.8k
- Forks
- 179
- Added to OSRepos
- December 17, 2025
- Last analyzed
- October 3, 2026
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Overview
Sixpack is a server-side A/B-testing framework for teams whose applications use different programming languages. A central HTTP API assigns experiment alternatives consistently to a client ID and records conversions, so separate language-specific applications can participate in the same testing setup.
The project also provides an optional web dashboard for viewing experiment results, choosing winners, and editing descriptions. Its Python server uses Redis for storage. See the repository and project homepage for details.
Key Features
- Exposes experiment participation and conversion endpoints over HTTP GET requests.
- Uses a client ID to link a user's assigned alternative with later conversions.
- Selects alternatives deterministically so a client receives the same choice for an experiment.
- Creates experiments and KPIs automatically when they are first used.
- Supports multiple KPIs, traffic-fraction limits, and optional forced alternatives for testing.
- Offers an optional web dashboard to compare alternatives, select winners, and edit experiment descriptions.
- Includes a health-check endpoint and optional StatsD metrics.
- Lists client libraries for several languages, including Ruby, Python, JavaScript, PHP, iOS, Go, Perl, C#, and Java/Android.
Use Cases
- Product teams can test interface variants across web services written in multiple languages using one shared experiment service.
- Application developers can assign a consistent variant to a user and record a later conversion without implementing experiment storage themselves.
- Analysts and product owners can review experiment outcomes in the optional dashboard and select a winning alternative.
- Teams can gradually expose a test to a fraction of traffic before including more users.
Project Facts
- Language: Python
- License: BSD-2-Clause
- Stars: 1.8k
- Forks: 179
- Topics: none listed
- Archived: No
Getting Started
Install the Python package with pip install sixpack. Redis is required. For server configuration, launch instructions, and API details, see the README.
Considerations
- The server requires Redis 2.6 or later. The README lists Python 2.7 or later and notes that Python 3.0 was untested.
- The dashboard is optional and requires a configured secret key; it runs separately from the API server.
- Experiment names are not validated by the service, and the README warns that unrestricted names can grow the Redis keyspace. Add an appropriate whitelist if experiment creation needs to be constrained.
- The repository was last pushed on 2022-08-21, so assess current maintenance and compatibility before adopting it for a new deployment.
Source repository
Open the original repository on GitHub.
20 counted GitHub visits
Related repositories
Similar repositories that may be relevant next.

web-design: Create Consistent Web Pages with a Claude Code Skill
October 3, 2026
web-design is a Claude Code skill that turns product briefs, reference URLs, or screenshots into an editable design specification before generating web code. It is suited to developers and designers who want a repeatable, spec-led workflow for building consistent pages.

oomwoo: Build a DIY Robot Vacuum
October 2, 2026
OOMWOO is a planned, hackable robot vacuum built around Raspberry Pi, ROS2 and 2D LiDAR. It is aimed at makers who want to build and customize a locally controlled vacuum, but its hardware and build instructions are still in development.

shepherd: Supervise Agents with Reversible Execution Traces
October 2, 2026
Shepherd records agent work as inspectable, reversible execution traces and keeps changes as proposals for review. It is aimed at developers building systems that supervise, replay, or manage the work of other agents.

agent-anvil: Test AI Agent Tool Use in CI
October 1, 2026
Agent Anvil evaluates tool-using AI agents through scenario-based runs, trace checks, and optional semantic grading. It helps teams catch unsafe or incorrect tool behavior before it reaches production.