feat: add analytics_url to send flag analytics to a different host#215
Open
adamvialpando wants to merge 3 commits into
Open
feat: add analytics_url to send flag analytics to a different host#215adamvialpando wants to merge 3 commits into
adamvialpando wants to merge 3 commits into
Conversation
When the SDK evaluates flags through an Edge Proxy, the analytics POST built from api_url hits a path the proxy does not handle and events are silently dropped. Setting analytics_url overrides just the analytics endpoint, so analytics can be sent to the core Flagsmith API while evaluations keep going through the proxy. When analytics_url is unset, the SDK still derives the endpoint from api_url + /analytics/flags/, so existing setups are unaffected. Closes #213
for more information, see https://pre-commit.ci
90c2f21 to
77e99d4
Compare
Extract _ensure_trailing_slash to bring Flagsmith.__init__ back under the flake8 C901 limit that pre-commit.ci flagged. Add an integration test for the default analytics endpoint, and filter both analytics tests by exact URL so they no longer depend on the global session's cross-test traffic.
92af2a0 to
5c6d316
Compare
khvn26
reviewed
Jun 18, 2026
khvn26
left a comment
Member
There was a problem hiding this comment.
Just one comment. Otherwise, a great (and cheap!) addition; IMO, all server-side SDKs should have them.
| For full documentation visit | ||
| [https://docs.flagsmith.com/clients/server-side?language=python](https://docs.flagsmith.com/clients/server-side?language=python). | ||
|
|
||
| ### Sending flag analytics to a different host than evaluations |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds an
analytics_urlparameter to theFlagsmithclient so flag analytics can be posted to a different host from where evaluations happen.The Edge Proxy doesn't handle the analytics endpoint, so customers running the Python SDK in local eval mode behind the proxy with
enable_analytics=Truewere silently dropping every analytics POST. Settinganalytics_urloverrides only the analytics endpoint and leaves evaluations going throughapi_urlas before. Whenanalytics_urlis unset the SDK keeps deriving the endpoint fromapi_url + /analytics/flags/, so nothing changes for existing setups. This mirrors the pattern the Node SDK already exposes viaanalyticsUrl.Closes #213