Python client for the Unleash feature toggle system!
Project description
unleash-client-python
This is the Python client for Unleash. It implements Client Specifications 1.0 and checks compliance based on spec in unleash/client-specifications
What it supports:
- Default activation strategies using 32-bit Murmerhash3
- Custom strategies
- Full client lifecycle:
- Client registers with Unleash server
- Client periodically fetches feature toggles and stores to on-disk cache
- Client periodically sends metrics to Unleash Server
Check out the project documentation here.
Installation
Check out the package on Pypi!
pip install UnleashClient
Usage
Initialization
from UnleashClient import UnleashClient
client = UnleashClient("https://unleash.herokuapp.com/api", "My Program")
client.initialize_client()
To clean up gracefully:
client.destroy()
Arguments
Argument | Description | Required? | Type | Default Value |
---|---|---|---|---|
url | Unleash server URL | Y | String | N/A |
app_name | Name of your program | Y | String | N/A |
instance_id | Unique ID for your program | N | String | unleash-client-python |
refresh_interval | How often the unleash client should check for configuration changes. | N | Integer | 15 |
metrics_interval | How often the unleash client should send metrics to server. | N | Integer | 60 |
disable_metrics | Disables sending metrics to Unleash server. | N | Boolean | F |
custom_headers | Custom headers to send to Unleash. | N | Dictionary | {} |
custom_strategies | Custom strategies you'd like UnleashClient to support. | N | Dictionary | {} |
Checking if a feature is enabled
A check of a simple toggle:
client.is_enabled("My Toggle")
Specifying a default value:
client.is_enabled("My Toggle", default_value=True)
Supplying application context:
app_context = {"userId": "test@email.com"}
client.is_enabled("User ID Toggle", app_context)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
UnleashClient-2.2.1.tar.gz
(16.4 kB
view hashes)
Built Distribution
Close
Hashes for UnleashClient-2.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7bca873d5b640d409b04c172abf51dde7dfc5c5e9aa07d3e890dadccf4b618f8 |
|
MD5 | 6f77409832629e6d43b02687a2a1f327 |
|
BLAKE2b-256 | 3cef24db1e511758b3d1b090d32969e85f7d189328bc93d8b1ff93de23f73789 |