Skip to main content

ConfigDirector OpenFeature Python Server Provider

CI PyPI

OpenFeature Python server provider for ConfigDirector, remote config and feature flags with typed values, JSON Schema validation, and safe renames of live flags. It wraps the ConfigDirector Python server SDK and requires Python 3.10 or newer.

Install

pip install configdirector-openfeature-server-provider

The OpenFeature Python SDK (openfeature-sdk) and the ConfigDirector Python server SDK come with it as dependencies.

Retrieve a value

from configdirector_openfeature import ConfigDirectorProvider
from openfeature import api

# The server SDK key is a secret. Do not commit it to your source code.
api.set_provider_and_wait(ConfigDirectorProvider("YOUR-SERVER-SDK-KEY"))
client = api.get_client()

new_checkout = client.get_boolean_value("new-checkout", False)

set_provider_and_wait needs openfeature-sdk 0.10 or newer. On an older version use api.set_provider, which waits for the provider to initialize there.

The provider accepts the same metadata, connection, logger, log_level, and telemetry options as the server SDK's create_client.

Evaluation context

The OpenFeature evaluation context maps onto the ConfigDirector context used by targeting rules:

OpenFeature ConfigDirector
targeting_key, or failing that an id attribute id
name attribute name
traits attribute, a mapping traits
anonymous attribute, a boolean anonymous
from openfeature.evaluation_context import EvaluationContext

context = EvaluationContext("user-123", {"name": "Ada", "traits": {"plan": "pro"}})
new_checkout = client.get_boolean_value("new-checkout", False, context)

Evaluation details

Outcome reason error_code
A value was evaluated TARGETING_MATCH, with the value's id as the variant
The config has no value DEFAULT
No config has that key ERROR FLAG_NOT_FOUND
The value does not match the requested type ERROR TYPE_MISMATCH
No config state has been received yet ERROR PROVIDER_NOT_READY

If the first config state does not arrive within the configured timeout, initialization still completes and evaluations return their defaults. The provider keeps connecting, and emits PROVIDER_READY once config state arrives. It emits PROVIDER_CONFIGURATION_CHANGED, with the keys that changed, whenever configs are updated.

Documentation

Refer to the official documentation for the OpenFeature Python provider.

There is also a quickstart guide for ConfigDirector and any of our SDKs.

Sample apps

samples/configdirector-openfeature-server-provider/ holds small, runnable applications built on this provider. Start with flask:

cd samples/configdirector-openfeature-server-provider/flask
uv run flask --app app run --port 3600

Getting Help

Release files for configdirector-openfeature-server-provider 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for configdirector-openfeature-server-provider 1.0.0
File Size Uploaded
configdirector_openfeature_server_provider-1.0.0.tar.gz 6.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for configdirector-openfeature-server-provider 1.0.0
File Interpreter ABI Platform
configdirector_openfeature_server_provider-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 15.7 kB

Release files / configdirector_openfeature_server_provider-1.0.0.tar.gz

Download URL configdirector_openfeature_server_provider-1.0.0.tar.gz
Size 6.8 kB
Tags Source
SHA-256 checksum
How to use checksums
4b0332c71b7bde205676ae127d30f1c935d6bb38bba94b03e4d0693f0c16881e
BLAKE2b-256 checksum
How to use checksums
b9906b7b7ee8baf2a5a283cb19503b8f37c5d1fb15ff4e2242a7a8e90a023ab7
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 Sep 21, 2026.

Transparency log

Release files / configdirector_openfeature_server_provider-1.0.0-py3-none-any.whl

Download URL configdirector_openfeature_server_provider-1.0.0-py3-none-any.whl
Size 8.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6636cc9a10613bce1441d6e778ab1cc506ab4824ea3c67cea9e3533e8cf10836
BLAKE2b-256 checksum
How to use checksums
37c4a9abe93f45e769d5e36d531eab19e83ef913dde79585aac7f40beaeef009
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 Sep 21, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page