omni.flux.feature_flags.core
SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0
Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
- class omni.flux.feature_flags.core.FeatureFlag(key: str, settings_data: dict)
Bases:
object
- property default_attr: dict[str, None]
- destroy()
- property display_name: str
- property key: str
- property tooltip: str
- property value: bool
- class omni.flux.feature_flags.core.FeatureFlagsCore
Bases:
object
- feature_flags_changed(callback: callable) list[carb.settings._settings.SubscriptionId]
A context manager to subscribe and unsubscribe from the feature_flags_changed events automatically.
Since the subscription will be cleaned up automatically when the context manager exits, this is not viable for long-running code, but can be useful in short-lived scripts.
- Parameters
callback – The callback to executed when the event is triggered.
- Returns
A list of subscription IDs created when subscribing to the events.
- get_all_flags() list[omni.flux.feature_flags.core.items.FeatureFlag]
Get all the feature flags defined in the /exts/omni.flux.feature_flags.core/flags settings.
This method will also clean up any residual persistent feature flag setting after transient definitions are removed.
- Returns
A list of FeatureFlag objects for every feature flag defined in the settings.
- get_flag(feature_flag_key: str) omni.flux.feature_flags.core.items.FeatureFlag
Get a feature flag object, given its key
- Parameters
feature_flag_key – The key used in the settings to identify the feature flag
- Raises
ValueError – If the feature flag with the given key is not found in the settings.
- Returns
A FeatureFlag object of the feature flag requested
- is_enabled(feature_flag_key: str) bool
Whether a requested feature flag is enabled or not.
- Parameters
feature_flag_key – The key used in the settings to identify the feature flag
- Raises
ValueError – If the feature flag with the given key is not found in the settings.
- Returns
True if a feature flag is enabled, False otherwise.
- set_enabled(feature_flag_key: str, value: bool)
Set the requested feature flag’s value to the given value.
- Parameters
feature_flag_key – The key used in the settings to identify the feature flag
value – Whether the feature flag should be enabled or disabled.
- set_enabled_all(value: bool)
Set all the available feature flags’ values to the given value.
- Parameters
value – Whether the feature flags should be enabled or disabled.
- subscribe_feature_flags_changed(callback: callable) list[carb.settings._settings.SubscriptionId]
Subscribe to changes to any of the feature flags’ values.
- Parameters
callback – The callback function to be called when a feature flag’s value changes.
- Returns
A list of subscription IDs to use when unsubscribing.
- unsubscribe_feature_flags_changed(subscription_ids: list[carb.settings._settings.SubscriptionId])
Unsubscribe from the feature_flags_changed events.
- Parameters
subscription_ids – A list of subscription IDs to unsubscribe from