superposition_provider
Project description
Superposition Provider
Superposition provider is an openfeature provider that works with Superposition to fetch feature flags, configurations, and experiment variants from a Superposition server, store it in-memory and do configuration resolutions based on dynamic contexts. Read the docs for more details.
Installation
Install the provider
pip install openfeature-sdk
pip install superposition-provider
Note: You will need to boot up Superposition before running the client code. Check the docs on how to get started with Superposition.
Initialization
To initialize the Superposition provider, you need to create a configuration. Create the provider object and then, you can set the provider using OpenFeature's API.
from openfeature import api
from superposition_provider.provider import SuperpositionProvider
from superposition_provider.types import ExperimentationOptions, SuperpositionProviderOptions, PollingStrategy
config_options = SuperpositionProviderOptions(
endpoint="http://localhost:8080",
token="api-token",
org_id="localorg",
workspace_id="test",
refresh_strategy=PollingStrategy(
interval=5, # Poll every 5 seconds
timeout=3 # Timeout after 3 seconds
),
fallback_config=None,
evaluation_cache_options=None,
experimentation_options=ExperimentationOptions(
refresh_strategy=PollingStrategy(
interval=5, # Poll every 5 seconds
timeout=3 # Timeout after 3 seconds
)
)
)
provider = SuperpositionProvider(provider_options=config_options)
# Initialize provider
await provider.initialize(context=ctx)
api.set_provider(provider)
Usage
Once the provider is initialized, you can evaluate feature flags and configurations using the OpenFeature client.
client = api.get_client()
ctx = EvaluationContext(
targeting_key="25", # Using a targeting key for experiment variant decider
attributes={'d1': 'd1'}
)
bool_val = client.get_boolean_details(
flag_key="bool",
default_value=True,
evaluation_context=ctx
)
# Note: If you want the whole config, you can directly use the provider itself
resp = provider.resolve_all_config_details({}, ctx)
print(f"Response for all config: {resp}")
print("Successfully resolved boolean flag details:", bool_val)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file superposition_provider-0.94.5-py3-none-any.whl.
File metadata
- Download URL: superposition_provider-0.94.5-py3-none-any.whl
- Upload date:
- Size: 4.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ab3c81823ce62bc9640cb6246ab11eceff79685a710c0896ad51b2c02d21253
|
|
| MD5 |
ebdfbdf32381113bf43182c63f7881ad
|
|
| BLAKE2b-256 |
fc6658decf4b61f31fafa1f1956d1b9e7c18da242a3a7ecbce1f50b2646cebc1
|