Skip to content

Conversation

@matthewelwell
Copy link
Contributor

@matthewelwell matthewelwell commented Jan 14, 2022

This PR contains a full rewrite of the Python client to allow for client side evaluation. As part of this work, I have also added the possibility for providing a list of default flags when initiating the client.

Some general design decisions:

  1. The client only exposes 2 methods, one to get an environments flags and another to get the flags for an identity (which also can optionally persist a list of traits).
  2. The client returns a Flags class, from which, users can access specific flags and their state / value. This means that users will have to write a little more code to get the value of a given flag, however, it will only make a single API request to do so (for users not using client side evaluation).

Options for extension:

  1. Caching
  2. At the moment, defaults are only used when the API request is successful but the feature doesn't exist. We should extend this to allow the defaults to be used when the API requests are failing.

@matthewelwell matthewelwell force-pushed the feature/rewrite-for-client-side-eval branch from b5f4be7 to fc58955 Compare January 14, 2022 09:33
@matthewelwell matthewelwell force-pushed the feature/rewrite-for-client-side-eval branch from fc58955 to b2ec6d4 Compare January 24, 2022 17:44
@matthewelwell matthewelwell force-pushed the feature/rewrite-for-client-side-eval branch from b2ec6d4 to 663b9a2 Compare January 25, 2022 15:24
@matthewelwell matthewelwell force-pushed the feature/rewrite-for-client-side-eval branch from e25c496 to e0de11d Compare January 25, 2022 17:00
@matthewelwell matthewelwell force-pushed the feature/rewrite-for-client-side-eval branch from e0de11d to 3c1f55d Compare January 25, 2022 17:13
@matthewelwell matthewelwell force-pushed the feature/rewrite-for-client-side-eval branch from f519324 to 4bd5a61 Compare January 25, 2022 18:08
@matthewelwell matthewelwell force-pushed the feature/rewrite-for-client-side-eval branch from d294751 to 395b73d Compare January 26, 2022 10:26
@matthewelwell matthewelwell changed the title WIP: Feature/rewrite for client side eval Feature/rewrite for client side eval Jan 26, 2022
@matthewelwell matthewelwell changed the base branch from main to release/3.0.0 February 8, 2022 16:41
@matthewelwell matthewelwell merged commit ff243ca into release/3.0.0 Feb 8, 2022
@matthewelwell matthewelwell deleted the feature/rewrite-for-client-side-eval branch February 8, 2022 16:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants