Skip to main content

Bullet Train Client

The SDK clients for Python https://bullet-train.io/. Bullet Train allows you to manage feature flags and remote config across multiple projects, environments and organisations.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See running in production for notes on how to deploy the project on a live system.

Installing

VIA pip

pip install bullet-train

Usage

Retrieving feature flags for your project

For full documentation visit https://docs.bullet-train.io

from bullet_train import BulletTrain;

bt = BulletTrain(environment_id="<YOUR_ENVIRONMENT_KEY>")

if bt.has_feature("header", '<My User Id>'):
  if bt.feature_enabled("header"):
    # Show my awesome cool new feature to the world

if bt.has_feature("header"):
  if bt.feature_enabled("header"):
    # Show my awesome cool new feature to the world

value = bt.get_value("header", '<My User Id>')

value = bt.get_value("header")

bt.set_trait("accept-cookies", "true", "ben@bullet-train.io"))
bt.get_trait("accept-cookies", "ben@bullet-train.io"))

Available Options

Property Description Required Default Value
environment_id Defines which project environment you wish to get flags for. example ACME Project - Staging. YES None
api Use this property to define where you're getting feature flags from, e.g. if you're self hosting. NO https://api.bullet-train.io/api/

Available Functions

Function Description
has_feature(key) Get the value of a particular feature e.g. bt.has_feature("powerUserFeature") // true
has_feature(key, user_id) Get the value of a particular feature for a user e.g. bt.has_feature("powerUserFeature", 1234) // true
get_value(key) Get the value of a particular feature e.g. bt.get_value("font_size") // 10
get_value(key, userId) Get the value of a particular feature for a specified user e.g. bt.get_value("font_size", 1234) // 15
get_flags() Trigger a manual fetch of the environment features, returns a list of flag objects, see below for returned data
get_flags_for_user(1234) Trigger a manual fetch of the environment features with a given user id, returns a list of flag objects, see below for returned data

Identifying users

Identifying users allows you to target specific users from the Bullet Train dashboard. You can include an optional user identifier as part of the has_feature and get_value methods to retrieve unique user flags and variables.

Flags data structure

Field Description Type
id Internal id of feature state Integer
enabled Whether feature is enabled or not Boolean
environment Internal ID of environment Integer
feature_state_value Value of the feature Any - determined based on data input on bullet-train.io.
feature Feature object - see below for details Object

Feature data structure

Field Description Type
id Internal id of feature Integer
name Name of the feature (sometimes referred to as key or ID) String
description Description of the feature String
type Feature Type. Can be FLAG or CONFIG String
created_date Date feature was created Datetime
inital_value The initial / default value set for all feature states on creation String
project Internal ID of the associated project Integer

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Getting Help

If you encounter a bug or feature request we would like to hear about it. Before you submit an issue please search existing issues in order to prevent duplicates.

Get in touch

If you have any questions about our projects you can email projects@solidstategroup.com.

Website

Documentation

Code Examples

Youtube Tutorials

Metadata

Release files for bullet-train 1.0.5

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

Source distribution (sdist)

Source distribution for bullet-train 1.0.5
File Size Uploaded
bullet-train-1.0.5.tar.gz 4.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bullet-train 1.0.5
File Interpreter ABI Platform
bullet_train-1.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 10.0 kB

Release files / bullet-train-1.0.5.tar.gz

Download URL bullet-train-1.0.5.tar.gz
Size 4.8 kB
Tags Source
SHA-256 checksum
How to use checksums
f229f7f544edab0122cc027e488fd037f814421c42bc0ce7df10d89216a593d0
BLAKE2b-256 checksum
How to use checksums
01abe14e7788f5980116556ca34df6594673e802b526d1741e6257e499e675c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.0

Release files / bullet_train-1.0.5-py3-none-any.whl

Download URL bullet_train-1.0.5-py3-none-any.whl
Size 5.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
223a9c9f51a55f01de4ac0d2a60b04f0b7ab830b0bd1881593f7be5de0c1e0bb
BLAKE2b-256 checksum
How to use checksums
eaccb4ad0d6336e94fa00ab37463359391229c90aa6ad72ea58b9147c1e4ce11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.0

Release history Release notifications | RSS feed

This release

1.0.5 This release

2 release files

1.0.4

3 release files

1.0.2

3 release files

1.0.1

3 release files

1.0.0

3 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