This is a Python client for Unleash. It strives to Client Specifications 1.0 (though as this project is still very much a work in progress!).
What it supports:
- Default activation strategies using 32-bit Murmerhash3
- Client registration
- Periodically fetching feature flags
- Caching of feature-flag provisioning
- Periodically sending metrics
What it doesn't:
- Custom strategies
Read more about the Unleash project here.
Check out the project documentation here.
Check out the package on Pypi!
pip install UnleashClient
from UnleashClient import UnleashClient
client = UnleashClient("https://unleash.herokuapp.com", "My Program")
client.initialize_client()
To clean up gracefully:
client.destroy()
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 | {} |
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)