Skip to content
Packages Examples Agents Blog Get started

Config section: features
Env prefix: ORI_FEATURES__
Config model: FeatureFlagsConfig

KeyTypeDefaultEnv varDescription
enabledboolTrueORI_FEATURES__ENABLEDEnable the features subsystem
cache_ttlint300ORI_FEATURES__CACHE_TTLCache TTL for flag evaluations (seconds; 0 = disabled)
default_enabledboolFalseORI_FEATURES__DEFAULT_ENABLEDDefault when flag not found
flag_env_prefixstr"ORI_FLAG_"ORI_FEATURES__FLAG_ENV_PREFIXEnv prefix for EnvProvider
initial_flags`dict[str, boolFlagmapping]`{}
features:
enabled: true
cache_ttl: 60
default_enabled: false
flag_env_prefix: ORI_FLAG_
initial_flags:
new_checkout: true
dark_mode: false
experimental_search:
type: percentage
enabled: true
percentage: 25
search_experiment:
type: variant
enabled: true
variants:
control: 50
ranked: 50
default_variant: control

Each initial_flags value may be a legacy boolean, a Flag instance in Python configuration, or a YAML-friendly mapping with a type, enabled, and type-specific fields such as percentage, user_attributes, or variants.

Env var override form:

Terminal window
export ORI_FEATURES__CACHE_TTL=0
export ORI_FEATURES__INITIAL_FLAGS='{"new_checkout":true}'

When using EnvProvider, flags are read from environment variables with the configured prefix:

Terminal window
export ORI_FLAG_NEW_CHECKOUT=true
export ORI_FLAG_DARK_MODE=false