Feature management for Python
Is your feature request related to a problem? Please describe.
We have defined a GitOps procedure to manage feature filters in AppConfiguration.
Every feature is deployed behind a Feature Flag.
For .NET services, we have implemented a Contextual Feature Filter to evaluate FeatureFlag based on user context and make the feature available for only a specific set of users/clients. Unfortunately, there is no support for Feature Flags in Python SDK and obviously no support for Feature Filters.
Describe the solution you'd like For Python SDK for App Configuration, we would like to have support for Contextual Feature Filters in the same way it is supported in .NET SDK. This is required to make a specific feature available for a specific set of users based on the context (for example user details in HttpContext)
Here are details from .NET SDK documentation.
Contextual feature filters implement the IContextualFeatureFilter<TContext> interface. These special feature filters can take advantage of the context that is passed in when IFeatureManager.IsEnabledAsync<TContext> is called. The TContext type parameter in IContextualFeatureFilter<TContext> describes what context type the filter is capable of handling. This allows the developer of a contextual feature filter to describe what is required of those who wish to utilize it. Since every type is a descendant of an object, a filter that implements IContextualFeatureFilter
Describe alternatives you've considered An alternative is to implement this functionality by ourselves. But this feature is required for everybody who will be using FeatureFlags in AppConfiguration.
@leonids2005
@leonids2005, thanks for the feedback. They are valid points.
We'd love to bring the feature parity to Python but the work is not trivial. It's in our backlog and may not be available anytime soon. I think this issue will help us to track the customer demands and help our future prioritization.
Does this mean it won;t be done anytime soon? its a shame because I do not think this is really huge amount of work. Disappointing :(