featureflow-python-sdk
Python SDK for the featureflow feature management platform
Get your Featureflow account at featureflow.io
Get Started
The easiest way to get started is to follow the Featureflow quick start guides
Installation
The SDK is available on PyPI as featureflow-sdk.
You can either add it as a dependency or install it globally.
python -m pip install featureflow-sdk
Usage
Create one Featureflow client for the lifetime of your application and share it.
The constructor starts background threads that poll Featureflow for flag configuration
and batch evaluation events back to the server. Constructing a client per request (or
per evaluation) spawns new threads and re-downloads your flags every time — create it
once at startup, then call evaluate() on that single instance as often as you like;
evaluation is local and cheap.
import os
from featureflow import Featureflow, User
# Once, at application startup. Use your server environment key (sdk-srv-env-...).
featureflow = Featureflow(os.environ["FEATUREFLOW_SERVER_KEY"])
def show_my_feature(user_id):
user = User(key=user_id, attributes={"tier": "gold"})
if featureflow.evaluate("my-cool-feature", user).isOn():
print("I'm enabled")
In a web application, create the client at startup and reuse it across requests — see examples/server for how the Flask example does exactly this.
For multivariate flags, check a specific variant or read the evaluated value:
evaluated = featureflow.evaluate("checkout-flow", user)
if evaluated.is_("variant-b"):
...
print(evaluated.value()) # e.g. "variant-b", or "off"
Naming your application
Optionally tag this workload with an application name so the Featureflow dashboard can attribute SDK usage and flag evaluations to it (Admin → SDKs, and the "Evaluated by" panel on each feature's statistics tab):
featureflow = Featureflow(
os.environ["FEATUREFLOW_SERVER_KEY"],
application="checkout-api",
)
The name is a slug — lowercase letters, numbers, ., _ and -, at most 64
characters. An invalid value is dropped with a warning and no tag is sent. The
FEATUREFLOW_APPLICATION environment variable is used when the option is not set in
code.
Example server
See examples/server for a small Flask app you can run locally to manually test evaluations against your Featureflow account from a browser.
Release files for featureflow-sdk 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| featureflow_sdk-0.3.0.tar.gz | 17.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| featureflow_sdk-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.7 kB
Release files / featureflow_sdk-0.3.0.tar.gz
| Download URL | featureflow_sdk-0.3.0.tar.gz |
|---|---|
| Size | 17.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f13b0c6ba22a77c6428b1739dc78466046c0c2ab5d3fc84c8a03f42aa474aaf3
|
|
BLAKE2b-256 checksum How to use checksums |
85d068e7c8b47f9fb2813a18e7432f90d17b41e6814602faf6a79ef62546e37d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 13, 2026.
Transparency logRelease files / featureflow_sdk-0.3.0-py3-none-any.whl
| Download URL | featureflow_sdk-0.3.0-py3-none-any.whl |
|---|---|
| Size | 15.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ec83d6dc50786d59192237c415b59363cf334ee36cba01623f432991197634d3
|
|
BLAKE2b-256 checksum How to use checksums |
1b59efae9864be50276e9ec50ff91db6ef1b929efca749a66acc1715294020fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 13, 2026.
Transparency log