Evaluate Feature Flag Using LaunchDarkly
Evaluate a feature flag for a user using the LaunchDarkly API
Prerequisite You should have a LaunchDarkly account and have created a feature flag called dark-mode
that allows anyone with example.com
email address to true
, and everyone else to false
. Ensure you have an API key from LaunchDarkly and have it stored in a .env
file.
Introduction
This guide demonstrates how to evaluate a feature flag for a user using the LaunchDarkly API. You’ll learn how to set up your environment, configure your API key, and evaluate a feature flag.
Setup
Step 1: Install Required Packages
First, install the necessary packages using pip:
pip install launchdarkly-server-sdk python-dotenv
Step 2: Create a .env File
Create a .env
file in the project root with your LaunchDarkly API key:
LAUNCHDARKLY_API_KEY=your_launchdarkly_api_key
Evaluating a Feature Flag
Step 3: Create the Python Script
Create a Python script named launchdarkly-feature-flag.py
with the following content:
import os
import ldclient
from ldclient.config import Config
from ldclient.context import Context
from dotenv import load_dotenv
# Load environment variables from .env file
load_dotenv()
def evaluate_flag(sdk_key, feature_flag_key, user_email):
# Initialize LaunchDarkly client
ldclient.set_config(Config(sdk_key))
# Specify the user and email to LaunchDarkly as a Context
context = Context.builder(user_email).kind('user').set("email", user_email).build()
# Obtain the feature flag evaluated value
flag_value = ldclient.get().variation(feature_flag_key, context, False)
# Close the LaunchDarkly client
ldclient.get().close()
return flag_value
# Example usage
if __name__ == "__main__":
sdk_key = os.getenv("LAUNCHDARKLY_API_KEY")
feature_flag_key = "dark-mode"
user_email = "hello@example.com"
flag_status = evaluate_flag(sdk_key, feature_flag_key, user_email)
print(f"Feature flag '{feature_flag_key}' for user '{user_email}': {flag_status}")
Step 4: Run the Script
Ensure you have the .env
file in the same directory as the script. Then, execute the script:
python launchdarkly-feature-flag.py
Conclusion
You have successfully evaluated a feature flag for a user using the LaunchDarkly API! This guide provided a basic example to get you started. You can now expand on this by customizing the feature flag evaluation and handling different user contexts.