Flask extension for unleash-client-python.
Project description
Flask-Unleash
Flask extension to make using Unleash that much easier! 🚦🚦🚦 This plugin makes integrating the Python Unleash client into quick and easy.
Pre-requisites
To try out Flask-Unleash, you'll need an instance of the Unleash server. You can either use:
- Spin up a stack in Docker Compose using unleash-docker
- Check out the demo at Unleash-Hosted
Quickstart
Install Flask-Unleash using pip.
pip install Flask-Unleash
Next, add Flask-Unleash to your code.
from flask import Flask
from flask_unleash import Unleash
app = Flask(__name__)
app.config["UNLEASH_URL"] = "http://localhost:4242/api"
app.config["UNLEASH_APP_NAME"] = "demoapp"
unleash = Unleash(app)
Now you can use the client to check feature flags
flag_value_1 = unleash.client.is_enabled("simple-feature")
# You can pass in a context object (https://unleash.github.io/docs/unleash_context) for more complex features.
context = {
'userId': 'hamster@hamster.com'
}
flag_value_2 = unleash.client.is_enabled("complex-feature", context)
Check out the demo app for a more real-life sample implementation.
Configuring Flask-Unleash
The following configuration values exist for Flask-Unleash.
Config | Description | Required? | Type | Default Value |
---|---|---|---|---|
UNLEASH_URL | Unleash server URL | Y | String | N/A |
UNLEASH_APP_NAME | Name of your program | Y | String | N/A |
UNLEASH_ENVIRONMENT | Environment of your service | Y | String | N/A |
UNLEASH_INSTANCE_ID | Unique ID for your program | N | String | unleash-client-python |
UNLEASH_REFRESH_INTERVAL | How often the unleash client should check for configuration changes. | N | Integer | 15 |
UNLEASH_METRIC_INTERVAL | How often the unleash client should send metrics to server. | N | Integer | 60 |
UNLEASH_DISABLE_METRICS | Disables sending metrics to Unleash server. | N | Boolean | F |
UNLEASH_DISABLE_REGISTRATION | Disables registration with Unleash server. | N | Boolean | F |
UNLEASH_CUSTOM_HEADERS | Custom headers to send to Unleash. | N | Dictionary | {} |
UNLEASH_CUSTOM_OPTIONS | Custom arguments for requests package. | N | Dictionary | {} |
UNLEASH_CUSTOM_STRATEGIES | Custom strategies you'd like UnleashClient to support. | N | Dictionary | {} |
UNLEASH_CACHE_DIRECTORY | Location of the cache directory. When unset, FCache will determine the location | N | Str | Unset |
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
flask_unleash-2.0.0.tar.gz
(5.2 kB
view hashes)
Built Distribution
Close
Hashes for flask_unleash-2.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6838f0ae25a05ff73365c6f2f67c8a6b524fe4897dd7b5f5b2e387204c341db1 |
|
MD5 | 83600e600793a190aed00ef8697ec030 |
|
BLAKE2b-256 | e2ad9c397edd47fb558d7ed17c2272ea9fc65bb288a23fc1619cbb05a2522824 |