This PR adds posthog's local eval support. The posthog python sdk essentially downloads all the feature flags for a project periodically and when you ask it if a flag is enabled for a user, it calculates that locally based on the person_properties passed in.
This is a backwards-incompatible change, as it replaces the existing is_enabled method in the PosthogAPIClient class.
This also adds the posthog SDK as a dependency of this project. I'm not sure the "right" way to do this sort of thing in poetry/python, where you probably want the codebase upstream to define which version of the posthog client they have in their own project, but you still need some posthog sdk in this project.
This PR adds posthog's local eval support. The posthog python sdk essentially downloads all the feature flags for a project periodically and when you ask it if a flag is enabled for a user, it calculates that locally based on the
person_properties
passed in.This is a backwards-incompatible change, as it replaces the existing
is_enabled
method in thePosthogAPIClient
class.This also adds the posthog SDK as a dependency of this project. I'm not sure the "right" way to do this sort of thing in poetry/python, where you probably want the codebase upstream to define which version of the posthog client they have in their own project, but you still need some posthog sdk in this project.