<!-- # hard line break macro for HTML -->

# fiftyone.operators

* [fiftyone.operators.cache](fiftyone.operators.cache.md)
  * [fiftyone.operators.cache.decorator](fiftyone.operators.cache.decorator.md)
    * [`execution_cache()`](fiftyone.operators.cache.decorator.md#fiftyone.operators.cache.decorator.execution_cache)
  * [fiftyone.operators.cache.ephemeral](fiftyone.operators.cache.ephemeral.md)
    * [`get_ephemeral_cache()`](fiftyone.operators.cache.ephemeral.md#fiftyone.operators.cache.ephemeral.get_ephemeral_cache)
    * [`clear_all_ephemeral_caches()`](fiftyone.operators.cache.ephemeral.md#fiftyone.operators.cache.ephemeral.clear_all_ephemeral_caches)
  * [fiftyone.operators.cache.serialization](fiftyone.operators.cache.serialization.md)
    * [`auto_serialize()`](fiftyone.operators.cache.serialization.md#fiftyone.operators.cache.serialization.auto_serialize)
    * [`auto_deserialize()`](fiftyone.operators.cache.serialization.md#fiftyone.operators.cache.serialization.auto_deserialize)
  * [fiftyone.operators.cache.utils](fiftyone.operators.cache.utils.md)
    * [`resolve_cache_info()`](fiftyone.operators.cache.utils.md#fiftyone.operators.cache.utils.resolve_cache_info)
  * [Module contents](fiftyone.operators.cache.md#module-fiftyone.operators.cache)
    * [`execution_cache()`](fiftyone.operators.cache.md#fiftyone.operators.cache.execution_cache)
* [fiftyone.operators.store](fiftyone.operators.store.md)
  * [fiftyone.operators.store.clone](fiftyone.operators.store.clone.md)
    * [`register_cloneable_store()`](fiftyone.operators.store.clone.md#fiftyone.operators.store.clone.register_cloneable_store)
    * [`clone_execution_stores()`](fiftyone.operators.store.clone.md#fiftyone.operators.store.clone.clone_execution_stores)
  * [fiftyone.operators.store.models](fiftyone.operators.store.models.md)
    * [`KeyPolicy`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy)
      * [`KeyPolicy.PERSIST`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.PERSIST)
      * [`KeyPolicy.EVICT`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.EVICT)
      * [`KeyPolicy.encode()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.encode)
      * [`KeyPolicy.replace()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.replace)
      * [`KeyPolicy.split()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.split)
      * [`KeyPolicy.rsplit()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.rsplit)
      * [`KeyPolicy.join()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.join)
      * [`KeyPolicy.capitalize()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.capitalize)
      * [`KeyPolicy.casefold()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.casefold)
      * [`KeyPolicy.title()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.title)
      * [`KeyPolicy.center()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.center)
      * [`KeyPolicy.count()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.count)
      * [`KeyPolicy.expandtabs()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.expandtabs)
      * [`KeyPolicy.find()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.find)
      * [`KeyPolicy.partition()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.partition)
      * [`KeyPolicy.index()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.index)
      * [`KeyPolicy.ljust()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.ljust)
      * [`KeyPolicy.lower()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.lower)
      * [`KeyPolicy.lstrip()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.lstrip)
      * [`KeyPolicy.rfind()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.rfind)
      * [`KeyPolicy.rindex()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.rindex)
      * [`KeyPolicy.rjust()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.rjust)
      * [`KeyPolicy.rstrip()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.rstrip)
      * [`KeyPolicy.rpartition()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.rpartition)
      * [`KeyPolicy.splitlines()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.splitlines)
      * [`KeyPolicy.strip()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.strip)
      * [`KeyPolicy.swapcase()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.swapcase)
      * [`KeyPolicy.translate()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.translate)
      * [`KeyPolicy.upper()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.upper)
      * [`KeyPolicy.startswith()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.startswith)
      * [`KeyPolicy.endswith()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.endswith)
      * [`KeyPolicy.removeprefix()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.removeprefix)
      * [`KeyPolicy.removesuffix()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.removesuffix)
      * [`KeyPolicy.isascii()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.isascii)
      * [`KeyPolicy.islower()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.islower)
      * [`KeyPolicy.isupper()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.isupper)
      * [`KeyPolicy.istitle()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.istitle)
      * [`KeyPolicy.isspace()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.isspace)
      * [`KeyPolicy.isdecimal()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.isdecimal)
      * [`KeyPolicy.isdigit()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.isdigit)
      * [`KeyPolicy.isnumeric()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.isnumeric)
      * [`KeyPolicy.isalpha()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.isalpha)
      * [`KeyPolicy.isalnum()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.isalnum)
      * [`KeyPolicy.isidentifier()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.isidentifier)
      * [`KeyPolicy.isprintable()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.isprintable)
      * [`KeyPolicy.zfill()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.zfill)
      * [`KeyPolicy.format()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.format)
      * [`KeyPolicy.format_map()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.format_map)
      * [`KeyPolicy.maketrans()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyPolicy.maketrans)
    * [`KeyDocument`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyDocument)
      * [`KeyDocument.store_name`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyDocument.store_name)
      * [`KeyDocument.key`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyDocument.key)
      * [`KeyDocument.value`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyDocument.value)
      * [`KeyDocument.dataset_id`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyDocument.dataset_id)
      * [`KeyDocument.created_at`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyDocument.created_at)
      * [`KeyDocument.updated_at`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyDocument.updated_at)
      * [`KeyDocument.expires_at`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyDocument.expires_at)
      * [`KeyDocument.policy`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyDocument.policy)
      * [`KeyDocument.get_expiration()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyDocument.get_expiration)
      * [`KeyDocument.from_dict()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyDocument.from_dict)
      * [`KeyDocument.to_mongo_dict()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.KeyDocument.to_mongo_dict)
    * [`StoreDocument`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.StoreDocument)
      * [`StoreDocument.key`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.StoreDocument.key)
      * [`StoreDocument.value`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.StoreDocument.value)
      * [`StoreDocument.metadata`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.StoreDocument.metadata)
      * [`StoreDocument.dataset_id`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.StoreDocument.dataset_id)
      * [`StoreDocument.expires_at`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.StoreDocument.expires_at)
      * [`StoreDocument.from_dict()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.StoreDocument.from_dict)
      * [`StoreDocument.get_expiration()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.StoreDocument.get_expiration)
      * [`StoreDocument.policy`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.StoreDocument.policy)
      * [`StoreDocument.to_mongo_dict()`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.StoreDocument.to_mongo_dict)
      * [`StoreDocument.updated_at`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.StoreDocument.updated_at)
      * [`StoreDocument.store_name`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.StoreDocument.store_name)
      * [`StoreDocument.created_at`](fiftyone.operators.store.models.md#fiftyone.operators.store.models.StoreDocument.created_at)
  * [fiftyone.operators.store.notification_service](fiftyone.operators.store.notification_service.md)
    * [`ChangeStreamNotificationService`](fiftyone.operators.store.notification_service.md#fiftyone.operators.store.notification_service.ChangeStreamNotificationService)
      * [`ChangeStreamNotificationService.subscribe()`](fiftyone.operators.store.notification_service.md#fiftyone.operators.store.notification_service.ChangeStreamNotificationService.subscribe)
      * [`ChangeStreamNotificationService.unsubscribe()`](fiftyone.operators.store.notification_service.md#fiftyone.operators.store.notification_service.ChangeStreamNotificationService.unsubscribe)
      * [`ChangeStreamNotificationService.unsubscribe_all()`](fiftyone.operators.store.notification_service.md#fiftyone.operators.store.notification_service.ChangeStreamNotificationService.unsubscribe_all)
      * [`ChangeStreamNotificationService.notify()`](fiftyone.operators.store.notification_service.md#fiftyone.operators.store.notification_service.ChangeStreamNotificationService.notify)
      * [`ChangeStreamNotificationService.start()`](fiftyone.operators.store.notification_service.md#fiftyone.operators.store.notification_service.ChangeStreamNotificationService.start)
      * [`ChangeStreamNotificationService.stop()`](fiftyone.operators.store.notification_service.md#fiftyone.operators.store.notification_service.ChangeStreamNotificationService.stop)
    * [`MongoChangeStreamNotificationService`](fiftyone.operators.store.notification_service.md#fiftyone.operators.store.notification_service.MongoChangeStreamNotificationService)
      * [`MongoChangeStreamNotificationService.subscribe()`](fiftyone.operators.store.notification_service.md#fiftyone.operators.store.notification_service.MongoChangeStreamNotificationService.subscribe)
      * [`MongoChangeStreamNotificationService.unsubscribe()`](fiftyone.operators.store.notification_service.md#fiftyone.operators.store.notification_service.MongoChangeStreamNotificationService.unsubscribe)
      * [`MongoChangeStreamNotificationService.unsubscribe_all()`](fiftyone.operators.store.notification_service.md#fiftyone.operators.store.notification_service.MongoChangeStreamNotificationService.unsubscribe_all)
      * [`MongoChangeStreamNotificationService.start()`](fiftyone.operators.store.notification_service.md#fiftyone.operators.store.notification_service.MongoChangeStreamNotificationService.start)
      * [`MongoChangeStreamNotificationService.notify()`](fiftyone.operators.store.notification_service.md#fiftyone.operators.store.notification_service.MongoChangeStreamNotificationService.notify)
      * [`MongoChangeStreamNotificationService.stop()`](fiftyone.operators.store.notification_service.md#fiftyone.operators.store.notification_service.MongoChangeStreamNotificationService.stop)
    * [`MongoChangeStreamNotificationServiceLifecycleManager`](fiftyone.operators.store.notification_service.md#fiftyone.operators.store.notification_service.MongoChangeStreamNotificationServiceLifecycleManager)
      * [`MongoChangeStreamNotificationServiceLifecycleManager.start_in_dedicated_thread()`](fiftyone.operators.store.notification_service.md#fiftyone.operators.store.notification_service.MongoChangeStreamNotificationServiceLifecycleManager.start_in_dedicated_thread)
      * [`MongoChangeStreamNotificationServiceLifecycleManager.stop()`](fiftyone.operators.store.notification_service.md#fiftyone.operators.store.notification_service.MongoChangeStreamNotificationServiceLifecycleManager.stop)
    * [`is_notification_service_disabled()`](fiftyone.operators.store.notification_service.md#fiftyone.operators.store.notification_service.is_notification_service_disabled)
  * [fiftyone.operators.store.service](fiftyone.operators.store.service.md)
    * [`ExecutionStoreService`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService)
      * [`ExecutionStoreService.create_store()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.create_store)
      * [`ExecutionStoreService.clear_cache()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.clear_cache)
      * [`ExecutionStoreService.get_store()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.get_store)
      * [`ExecutionStoreService.list_stores()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.list_stores)
      * [`ExecutionStoreService.count_stores()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.count_stores)
      * [`ExecutionStoreService.has_store()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.has_store)
      * [`ExecutionStoreService.delete_store()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.delete_store)
      * [`ExecutionStoreService.set_key()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.set_key)
      * [`ExecutionStoreService.set_cache_key()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.set_cache_key)
      * [`ExecutionStoreService.set_key_if_absent()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.set_key_if_absent)
      * [`ExecutionStoreService.compare_and_set_key()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.compare_and_set_key)
      * [`ExecutionStoreService.has_key()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.has_key)
      * [`ExecutionStoreService.get_key()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.get_key)
      * [`ExecutionStoreService.delete_key()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.delete_key)
      * [`ExecutionStoreService.update_ttl()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.update_ttl)
      * [`ExecutionStoreService.list_keys()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.list_keys)
      * [`ExecutionStoreService.count_keys()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.count_keys)
      * [`ExecutionStoreService.cleanup()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.cleanup)
      * [`ExecutionStoreService.has_store_global()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.has_store_global)
      * [`ExecutionStoreService.list_stores_global()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.list_stores_global)
      * [`ExecutionStoreService.count_stores_global()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.count_stores_global)
      * [`ExecutionStoreService.delete_store_global()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.delete_store_global)
      * [`ExecutionStoreService.subscribe()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.subscribe)
      * [`ExecutionStoreService.unsubscribe()`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService.unsubscribe)
  * [fiftyone.operators.store.store](fiftyone.operators.store.store.md)
    * [`ExecutionStore`](fiftyone.operators.store.store.md#fiftyone.operators.store.store.ExecutionStore)
      * [`ExecutionStore.create()`](fiftyone.operators.store.store.md#fiftyone.operators.store.store.ExecutionStore.create)
      * [`ExecutionStore.list_stores()`](fiftyone.operators.store.store.md#fiftyone.operators.store.store.ExecutionStore.list_stores)
      * [`ExecutionStore.get()`](fiftyone.operators.store.store.md#fiftyone.operators.store.store.ExecutionStore.get)
      * [`ExecutionStore.set()`](fiftyone.operators.store.store.md#fiftyone.operators.store.store.ExecutionStore.set)
      * [`ExecutionStore.set_cache()`](fiftyone.operators.store.store.md#fiftyone.operators.store.store.ExecutionStore.set_cache)
      * [`ExecutionStore.set_if_absent()`](fiftyone.operators.store.store.md#fiftyone.operators.store.store.ExecutionStore.set_if_absent)
      * [`ExecutionStore.compare_and_set()`](fiftyone.operators.store.store.md#fiftyone.operators.store.store.ExecutionStore.compare_and_set)
      * [`ExecutionStore.delete()`](fiftyone.operators.store.store.md#fiftyone.operators.store.store.ExecutionStore.delete)
      * [`ExecutionStore.has()`](fiftyone.operators.store.store.md#fiftyone.operators.store.store.ExecutionStore.has)
      * [`ExecutionStore.clear()`](fiftyone.operators.store.store.md#fiftyone.operators.store.store.ExecutionStore.clear)
      * [`ExecutionStore.clear_cache()`](fiftyone.operators.store.store.md#fiftyone.operators.store.store.ExecutionStore.clear_cache)
      * [`ExecutionStore.update_ttl()`](fiftyone.operators.store.store.md#fiftyone.operators.store.store.ExecutionStore.update_ttl)
      * [`ExecutionStore.update_policy()`](fiftyone.operators.store.store.md#fiftyone.operators.store.store.ExecutionStore.update_policy)
      * [`ExecutionStore.get_metadata()`](fiftyone.operators.store.store.md#fiftyone.operators.store.store.ExecutionStore.get_metadata)
      * [`ExecutionStore.list_keys()`](fiftyone.operators.store.store.md#fiftyone.operators.store.store.ExecutionStore.list_keys)
      * [`ExecutionStore.subscribe()`](fiftyone.operators.store.store.md#fiftyone.operators.store.store.ExecutionStore.subscribe)
      * [`ExecutionStore.unsubscribe()`](fiftyone.operators.store.store.md#fiftyone.operators.store.store.ExecutionStore.unsubscribe)
  * [fiftyone.operators.store.subscription_registry](fiftyone.operators.store.subscription_registry.md)
    * [`LocalSubscriptionRegistry`](fiftyone.operators.store.subscription_registry.md#fiftyone.operators.store.subscription_registry.LocalSubscriptionRegistry)
      * [`LocalSubscriptionRegistry.subscribe()`](fiftyone.operators.store.subscription_registry.md#fiftyone.operators.store.subscription_registry.LocalSubscriptionRegistry.subscribe)
      * [`LocalSubscriptionRegistry.unsubscribe()`](fiftyone.operators.store.subscription_registry.md#fiftyone.operators.store.subscription_registry.LocalSubscriptionRegistry.unsubscribe)
      * [`LocalSubscriptionRegistry.unsubscribe_all()`](fiftyone.operators.store.subscription_registry.md#fiftyone.operators.store.subscription_registry.LocalSubscriptionRegistry.unsubscribe_all)
      * [`LocalSubscriptionRegistry.empty_subscribers()`](fiftyone.operators.store.subscription_registry.md#fiftyone.operators.store.subscription_registry.LocalSubscriptionRegistry.empty_subscribers)
      * [`LocalSubscriptionRegistry.get_subscribers()`](fiftyone.operators.store.subscription_registry.md#fiftyone.operators.store.subscription_registry.LocalSubscriptionRegistry.get_subscribers)
    * [`InLocalMemorySubscriptionRegistry`](fiftyone.operators.store.subscription_registry.md#fiftyone.operators.store.subscription_registry.InLocalMemorySubscriptionRegistry)
      * [`InLocalMemorySubscriptionRegistry.subscribe()`](fiftyone.operators.store.subscription_registry.md#fiftyone.operators.store.subscription_registry.InLocalMemorySubscriptionRegistry.subscribe)
      * [`InLocalMemorySubscriptionRegistry.unsubscribe()`](fiftyone.operators.store.subscription_registry.md#fiftyone.operators.store.subscription_registry.InLocalMemorySubscriptionRegistry.unsubscribe)
      * [`InLocalMemorySubscriptionRegistry.unsubscribe_all()`](fiftyone.operators.store.subscription_registry.md#fiftyone.operators.store.subscription_registry.InLocalMemorySubscriptionRegistry.unsubscribe_all)
      * [`InLocalMemorySubscriptionRegistry.get_subscribers()`](fiftyone.operators.store.subscription_registry.md#fiftyone.operators.store.subscription_registry.InLocalMemorySubscriptionRegistry.get_subscribers)
      * [`InLocalMemorySubscriptionRegistry.empty_subscribers()`](fiftyone.operators.store.subscription_registry.md#fiftyone.operators.store.subscription_registry.InLocalMemorySubscriptionRegistry.empty_subscribers)
  * [fiftyone.operators.store.transient_jobs](fiftyone.operators.store.transient_jobs.md)
    * [`TransientJobCoordinator`](fiftyone.operators.store.transient_jobs.md#fiftyone.operators.store.transient_jobs.TransientJobCoordinator)
      * [`TransientJobCoordinator.create()`](fiftyone.operators.store.transient_jobs.md#fiftyone.operators.store.transient_jobs.TransientJobCoordinator.create)
      * [`TransientJobCoordinator.get()`](fiftyone.operators.store.transient_jobs.md#fiftyone.operators.store.transient_jobs.TransientJobCoordinator.get)
      * [`TransientJobCoordinator.claim()`](fiftyone.operators.store.transient_jobs.md#fiftyone.operators.store.transient_jobs.TransientJobCoordinator.claim)
      * [`TransientJobCoordinator.heartbeat()`](fiftyone.operators.store.transient_jobs.md#fiftyone.operators.store.transient_jobs.TransientJobCoordinator.heartbeat)
      * [`TransientJobCoordinator.set_progress()`](fiftyone.operators.store.transient_jobs.md#fiftyone.operators.store.transient_jobs.TransientJobCoordinator.set_progress)
      * [`TransientJobCoordinator.request_cancel()`](fiftyone.operators.store.transient_jobs.md#fiftyone.operators.store.transient_jobs.TransientJobCoordinator.request_cancel)
      * [`TransientJobCoordinator.cancel()`](fiftyone.operators.store.transient_jobs.md#fiftyone.operators.store.transient_jobs.TransientJobCoordinator.cancel)
      * [`TransientJobCoordinator.complete()`](fiftyone.operators.store.transient_jobs.md#fiftyone.operators.store.transient_jobs.TransientJobCoordinator.complete)
      * [`TransientJobCoordinator.fail()`](fiftyone.operators.store.transient_jobs.md#fiftyone.operators.store.transient_jobs.TransientJobCoordinator.fail)
      * [`TransientJobCoordinator.fail_expired()`](fiftyone.operators.store.transient_jobs.md#fiftyone.operators.store.transient_jobs.TransientJobCoordinator.fail_expired)
    * [`TransientJobAlreadyExists`](fiftyone.operators.store.transient_jobs.md#fiftyone.operators.store.transient_jobs.TransientJobAlreadyExists)
      * [`TransientJobAlreadyExists.add_note()`](fiftyone.operators.store.transient_jobs.md#fiftyone.operators.store.transient_jobs.TransientJobAlreadyExists.add_note)
      * [`TransientJobAlreadyExists.args`](fiftyone.operators.store.transient_jobs.md#fiftyone.operators.store.transient_jobs.TransientJobAlreadyExists.args)
      * [`TransientJobAlreadyExists.with_traceback()`](fiftyone.operators.store.transient_jobs.md#fiftyone.operators.store.transient_jobs.TransientJobAlreadyExists.with_traceback)
    * [`TransientJobConflict`](fiftyone.operators.store.transient_jobs.md#fiftyone.operators.store.transient_jobs.TransientJobConflict)
      * [`TransientJobConflict.add_note()`](fiftyone.operators.store.transient_jobs.md#fiftyone.operators.store.transient_jobs.TransientJobConflict.add_note)
      * [`TransientJobConflict.args`](fiftyone.operators.store.transient_jobs.md#fiftyone.operators.store.transient_jobs.TransientJobConflict.args)
      * [`TransientJobConflict.with_traceback()`](fiftyone.operators.store.transient_jobs.md#fiftyone.operators.store.transient_jobs.TransientJobConflict.with_traceback)
  * [Module contents](fiftyone.operators.store.md#module-fiftyone.operators.store)
    * [`ExecutionStoreService`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService)
      * [`ExecutionStoreService.create_store()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.create_store)
      * [`ExecutionStoreService.clear_cache()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.clear_cache)
      * [`ExecutionStoreService.get_store()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.get_store)
      * [`ExecutionStoreService.list_stores()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.list_stores)
      * [`ExecutionStoreService.count_stores()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.count_stores)
      * [`ExecutionStoreService.has_store()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.has_store)
      * [`ExecutionStoreService.delete_store()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.delete_store)
      * [`ExecutionStoreService.set_key()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.set_key)
      * [`ExecutionStoreService.set_cache_key()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.set_cache_key)
      * [`ExecutionStoreService.set_key_if_absent()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.set_key_if_absent)
      * [`ExecutionStoreService.compare_and_set_key()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.compare_and_set_key)
      * [`ExecutionStoreService.has_key()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.has_key)
      * [`ExecutionStoreService.get_key()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.get_key)
      * [`ExecutionStoreService.delete_key()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.delete_key)
      * [`ExecutionStoreService.update_ttl()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.update_ttl)
      * [`ExecutionStoreService.list_keys()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.list_keys)
      * [`ExecutionStoreService.count_keys()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.count_keys)
      * [`ExecutionStoreService.cleanup()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.cleanup)
      * [`ExecutionStoreService.has_store_global()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.has_store_global)
      * [`ExecutionStoreService.list_stores_global()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.list_stores_global)
      * [`ExecutionStoreService.count_stores_global()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.count_stores_global)
      * [`ExecutionStoreService.delete_store_global()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.delete_store_global)
      * [`ExecutionStoreService.subscribe()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.subscribe)
      * [`ExecutionStoreService.unsubscribe()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStoreService.unsubscribe)
    * [`ExecutionStore`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStore)
      * [`ExecutionStore.create()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStore.create)
      * [`ExecutionStore.list_stores()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStore.list_stores)
      * [`ExecutionStore.get()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStore.get)
      * [`ExecutionStore.set()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStore.set)
      * [`ExecutionStore.set_cache()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStore.set_cache)
      * [`ExecutionStore.set_if_absent()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStore.set_if_absent)
      * [`ExecutionStore.compare_and_set()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStore.compare_and_set)
      * [`ExecutionStore.delete()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStore.delete)
      * [`ExecutionStore.has()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStore.has)
      * [`ExecutionStore.clear()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStore.clear)
      * [`ExecutionStore.clear_cache()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStore.clear_cache)
      * [`ExecutionStore.update_ttl()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStore.update_ttl)
      * [`ExecutionStore.update_policy()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStore.update_policy)
      * [`ExecutionStore.get_metadata()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStore.get_metadata)
      * [`ExecutionStore.list_keys()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStore.list_keys)
      * [`ExecutionStore.subscribe()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStore.subscribe)
      * [`ExecutionStore.unsubscribe()`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStore.unsubscribe)
    * [`TransientJobAlreadyExists`](fiftyone.operators.store.md#fiftyone.operators.store.TransientJobAlreadyExists)
      * [`TransientJobAlreadyExists.add_note()`](fiftyone.operators.store.md#fiftyone.operators.store.TransientJobAlreadyExists.add_note)
      * [`TransientJobAlreadyExists.args`](fiftyone.operators.store.md#fiftyone.operators.store.TransientJobAlreadyExists.args)
      * [`TransientJobAlreadyExists.with_traceback()`](fiftyone.operators.store.md#fiftyone.operators.store.TransientJobAlreadyExists.with_traceback)
    * [`TransientJobConflict`](fiftyone.operators.store.md#fiftyone.operators.store.TransientJobConflict)
      * [`TransientJobConflict.add_note()`](fiftyone.operators.store.md#fiftyone.operators.store.TransientJobConflict.add_note)
      * [`TransientJobConflict.args`](fiftyone.operators.store.md#fiftyone.operators.store.TransientJobConflict.args)
      * [`TransientJobConflict.with_traceback()`](fiftyone.operators.store.md#fiftyone.operators.store.TransientJobConflict.with_traceback)
    * [`TransientJobCoordinator`](fiftyone.operators.store.md#fiftyone.operators.store.TransientJobCoordinator)
      * [`TransientJobCoordinator.create()`](fiftyone.operators.store.md#fiftyone.operators.store.TransientJobCoordinator.create)
      * [`TransientJobCoordinator.get()`](fiftyone.operators.store.md#fiftyone.operators.store.TransientJobCoordinator.get)
      * [`TransientJobCoordinator.claim()`](fiftyone.operators.store.md#fiftyone.operators.store.TransientJobCoordinator.claim)
      * [`TransientJobCoordinator.heartbeat()`](fiftyone.operators.store.md#fiftyone.operators.store.TransientJobCoordinator.heartbeat)
      * [`TransientJobCoordinator.set_progress()`](fiftyone.operators.store.md#fiftyone.operators.store.TransientJobCoordinator.set_progress)
      * [`TransientJobCoordinator.request_cancel()`](fiftyone.operators.store.md#fiftyone.operators.store.TransientJobCoordinator.request_cancel)
      * [`TransientJobCoordinator.cancel()`](fiftyone.operators.store.md#fiftyone.operators.store.TransientJobCoordinator.cancel)
      * [`TransientJobCoordinator.complete()`](fiftyone.operators.store.md#fiftyone.operators.store.TransientJobCoordinator.complete)
      * [`TransientJobCoordinator.fail()`](fiftyone.operators.store.md#fiftyone.operators.store.TransientJobCoordinator.fail)
      * [`TransientJobCoordinator.fail_expired()`](fiftyone.operators.store.md#fiftyone.operators.store.TransientJobCoordinator.fail_expired)
    * [`StoreDocument`](fiftyone.operators.store.md#fiftyone.operators.store.StoreDocument)
      * [`StoreDocument.key`](fiftyone.operators.store.md#fiftyone.operators.store.StoreDocument.key)
      * [`StoreDocument.value`](fiftyone.operators.store.md#fiftyone.operators.store.StoreDocument.value)
      * [`StoreDocument.metadata`](fiftyone.operators.store.md#fiftyone.operators.store.StoreDocument.metadata)
      * [`StoreDocument.dataset_id`](fiftyone.operators.store.md#fiftyone.operators.store.StoreDocument.dataset_id)
      * [`StoreDocument.expires_at`](fiftyone.operators.store.md#fiftyone.operators.store.StoreDocument.expires_at)
      * [`StoreDocument.from_dict()`](fiftyone.operators.store.md#fiftyone.operators.store.StoreDocument.from_dict)
      * [`StoreDocument.get_expiration()`](fiftyone.operators.store.md#fiftyone.operators.store.StoreDocument.get_expiration)
      * [`StoreDocument.policy`](fiftyone.operators.store.md#fiftyone.operators.store.StoreDocument.policy)
      * [`StoreDocument.to_mongo_dict()`](fiftyone.operators.store.md#fiftyone.operators.store.StoreDocument.to_mongo_dict)
      * [`StoreDocument.updated_at`](fiftyone.operators.store.md#fiftyone.operators.store.StoreDocument.updated_at)
      * [`StoreDocument.store_name`](fiftyone.operators.store.md#fiftyone.operators.store.StoreDocument.store_name)
      * [`StoreDocument.created_at`](fiftyone.operators.store.md#fiftyone.operators.store.StoreDocument.created_at)
    * [`KeyDocument`](fiftyone.operators.store.md#fiftyone.operators.store.KeyDocument)
      * [`KeyDocument.store_name`](fiftyone.operators.store.md#fiftyone.operators.store.KeyDocument.store_name)
      * [`KeyDocument.key`](fiftyone.operators.store.md#fiftyone.operators.store.KeyDocument.key)
      * [`KeyDocument.value`](fiftyone.operators.store.md#fiftyone.operators.store.KeyDocument.value)
      * [`KeyDocument.dataset_id`](fiftyone.operators.store.md#fiftyone.operators.store.KeyDocument.dataset_id)
      * [`KeyDocument.created_at`](fiftyone.operators.store.md#fiftyone.operators.store.KeyDocument.created_at)
      * [`KeyDocument.updated_at`](fiftyone.operators.store.md#fiftyone.operators.store.KeyDocument.updated_at)
      * [`KeyDocument.expires_at`](fiftyone.operators.store.md#fiftyone.operators.store.KeyDocument.expires_at)
      * [`KeyDocument.policy`](fiftyone.operators.store.md#fiftyone.operators.store.KeyDocument.policy)
      * [`KeyDocument.get_expiration()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyDocument.get_expiration)
      * [`KeyDocument.from_dict()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyDocument.from_dict)
      * [`KeyDocument.to_mongo_dict()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyDocument.to_mongo_dict)
    * [`KeyPolicy`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy)
      * [`KeyPolicy.PERSIST`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.PERSIST)
      * [`KeyPolicy.EVICT`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.EVICT)
      * [`KeyPolicy.encode()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.encode)
      * [`KeyPolicy.replace()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.replace)
      * [`KeyPolicy.split()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.split)
      * [`KeyPolicy.rsplit()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.rsplit)
      * [`KeyPolicy.join()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.join)
      * [`KeyPolicy.capitalize()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.capitalize)
      * [`KeyPolicy.casefold()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.casefold)
      * [`KeyPolicy.title()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.title)
      * [`KeyPolicy.center()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.center)
      * [`KeyPolicy.count()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.count)
      * [`KeyPolicy.expandtabs()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.expandtabs)
      * [`KeyPolicy.find()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.find)
      * [`KeyPolicy.partition()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.partition)
      * [`KeyPolicy.index()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.index)
      * [`KeyPolicy.ljust()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.ljust)
      * [`KeyPolicy.lower()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.lower)
      * [`KeyPolicy.lstrip()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.lstrip)
      * [`KeyPolicy.rfind()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.rfind)
      * [`KeyPolicy.rindex()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.rindex)
      * [`KeyPolicy.rjust()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.rjust)
      * [`KeyPolicy.rstrip()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.rstrip)
      * [`KeyPolicy.rpartition()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.rpartition)
      * [`KeyPolicy.splitlines()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.splitlines)
      * [`KeyPolicy.strip()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.strip)
      * [`KeyPolicy.swapcase()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.swapcase)
      * [`KeyPolicy.translate()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.translate)
      * [`KeyPolicy.upper()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.upper)
      * [`KeyPolicy.startswith()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.startswith)
      * [`KeyPolicy.endswith()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.endswith)
      * [`KeyPolicy.removeprefix()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.removeprefix)
      * [`KeyPolicy.removesuffix()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.removesuffix)
      * [`KeyPolicy.isascii()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.isascii)
      * [`KeyPolicy.islower()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.islower)
      * [`KeyPolicy.isupper()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.isupper)
      * [`KeyPolicy.istitle()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.istitle)
      * [`KeyPolicy.isspace()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.isspace)
      * [`KeyPolicy.isdecimal()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.isdecimal)
      * [`KeyPolicy.isdigit()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.isdigit)
      * [`KeyPolicy.isnumeric()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.isnumeric)
      * [`KeyPolicy.isalpha()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.isalpha)
      * [`KeyPolicy.isalnum()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.isalnum)
      * [`KeyPolicy.isidentifier()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.isidentifier)
      * [`KeyPolicy.isprintable()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.isprintable)
      * [`KeyPolicy.zfill()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.zfill)
      * [`KeyPolicy.format()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.format)
      * [`KeyPolicy.format_map()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.format_map)
      * [`KeyPolicy.maketrans()`](fiftyone.operators.store.md#fiftyone.operators.store.KeyPolicy.maketrans)

* [fiftyone.operators.categories](fiftyone.operators.categories.md)
  * [`Categories`](fiftyone.operators.categories.md#fiftyone.operators.categories.Categories)
    * [`Categories.IMPORT`](fiftyone.operators.categories.md#fiftyone.operators.categories.Categories.IMPORT)
    * [`Categories.CURATE`](fiftyone.operators.categories.md#fiftyone.operators.categories.Categories.CURATE)
    * [`Categories.ANALYZE`](fiftyone.operators.categories.md#fiftyone.operators.categories.Categories.ANALYZE)
    * [`Categories.CUSTOM`](fiftyone.operators.categories.md#fiftyone.operators.categories.Categories.CUSTOM)
* [fiftyone.operators.constants](fiftyone.operators.constants.md)
  * [`ViewTarget`](fiftyone.operators.constants.md#fiftyone.operators.constants.ViewTarget)
    * [`ViewTarget.BASE_VIEW`](fiftyone.operators.constants.md#fiftyone.operators.constants.ViewTarget.BASE_VIEW)
    * [`ViewTarget.CURRENT_VIEW`](fiftyone.operators.constants.md#fiftyone.operators.constants.ViewTarget.CURRENT_VIEW)
    * [`ViewTarget.DATASET`](fiftyone.operators.constants.md#fiftyone.operators.constants.ViewTarget.DATASET)
    * [`ViewTarget.DATASET_VIEW`](fiftyone.operators.constants.md#fiftyone.operators.constants.ViewTarget.DATASET_VIEW)
    * [`ViewTarget.SELECTED_LABELS`](fiftyone.operators.constants.md#fiftyone.operators.constants.ViewTarget.SELECTED_LABELS)
    * [`ViewTarget.SELECTED_SAMPLES`](fiftyone.operators.constants.md#fiftyone.operators.constants.ViewTarget.SELECTED_SAMPLES)
    * [`ViewTarget.CUSTOM_VIEW_TARGET`](fiftyone.operators.constants.md#fiftyone.operators.constants.ViewTarget.CUSTOM_VIEW_TARGET)
    * [`ViewTarget.values()`](fiftyone.operators.constants.md#fiftyone.operators.constants.ViewTarget.values)
* [fiftyone.operators.decorators](fiftyone.operators.decorators.md)
  * [`coroutine_timeout()`](fiftyone.operators.decorators.md#fiftyone.operators.decorators.coroutine_timeout)
  * [`timeout()`](fiftyone.operators.decorators.md#fiftyone.operators.decorators.timeout)
  * [`raise_timeout_error()`](fiftyone.operators.decorators.md#fiftyone.operators.decorators.raise_timeout_error)
  * [`plugins_cache()`](fiftyone.operators.decorators.md#fiftyone.operators.decorators.plugins_cache)
  * [`dir_state()`](fiftyone.operators.decorators.md#fiftyone.operators.decorators.dir_state)
* [fiftyone.operators.delegated](fiftyone.operators.delegated.md)
  * [`DelegatedOperationService`](fiftyone.operators.delegated.md#fiftyone.operators.delegated.DelegatedOperationService)
    * [`DelegatedOperationService.queue_operation()`](fiftyone.operators.delegated.md#fiftyone.operators.delegated.DelegatedOperationService.queue_operation)
    * [`DelegatedOperationService.set_progress()`](fiftyone.operators.delegated.md#fiftyone.operators.delegated.DelegatedOperationService.set_progress)
    * [`DelegatedOperationService.set_running()`](fiftyone.operators.delegated.md#fiftyone.operators.delegated.DelegatedOperationService.set_running)
    * [`DelegatedOperationService.set_scheduled()`](fiftyone.operators.delegated.md#fiftyone.operators.delegated.DelegatedOperationService.set_scheduled)
    * [`DelegatedOperationService.set_queued()`](fiftyone.operators.delegated.md#fiftyone.operators.delegated.DelegatedOperationService.set_queued)
    * [`DelegatedOperationService.set_completed()`](fiftyone.operators.delegated.md#fiftyone.operators.delegated.DelegatedOperationService.set_completed)
    * [`DelegatedOperationService.set_failed()`](fiftyone.operators.delegated.md#fiftyone.operators.delegated.DelegatedOperationService.set_failed)
    * [`DelegatedOperationService.set_pinned()`](fiftyone.operators.delegated.md#fiftyone.operators.delegated.DelegatedOperationService.set_pinned)
    * [`DelegatedOperationService.set_label()`](fiftyone.operators.delegated.md#fiftyone.operators.delegated.DelegatedOperationService.set_label)
    * [`DelegatedOperationService.archive_operation()`](fiftyone.operators.delegated.md#fiftyone.operators.delegated.DelegatedOperationService.archive_operation)
    * [`DelegatedOperationService.unarchive_operation()`](fiftyone.operators.delegated.md#fiftyone.operators.delegated.DelegatedOperationService.unarchive_operation)
    * [`DelegatedOperationService.delete_operation()`](fiftyone.operators.delegated.md#fiftyone.operators.delegated.DelegatedOperationService.delete_operation)
    * [`DelegatedOperationService.delete_for_dataset()`](fiftyone.operators.delegated.md#fiftyone.operators.delegated.DelegatedOperationService.delete_for_dataset)
    * [`DelegatedOperationService.rerun_operation()`](fiftyone.operators.delegated.md#fiftyone.operators.delegated.DelegatedOperationService.rerun_operation)
    * [`DelegatedOperationService.get_queued_operations()`](fiftyone.operators.delegated.md#fiftyone.operators.delegated.DelegatedOperationService.get_queued_operations)
    * [`DelegatedOperationService.get_scheduled_operations()`](fiftyone.operators.delegated.md#fiftyone.operators.delegated.DelegatedOperationService.get_scheduled_operations)
    * [`DelegatedOperationService.get_running_operations()`](fiftyone.operators.delegated.md#fiftyone.operators.delegated.DelegatedOperationService.get_running_operations)
    * [`DelegatedOperationService.get()`](fiftyone.operators.delegated.md#fiftyone.operators.delegated.DelegatedOperationService.get)
    * [`DelegatedOperationService.list_operations()`](fiftyone.operators.delegated.md#fiftyone.operators.delegated.DelegatedOperationService.list_operations)
    * [`DelegatedOperationService.execute_queued_operations()`](fiftyone.operators.delegated.md#fiftyone.operators.delegated.DelegatedOperationService.execute_queued_operations)
    * [`DelegatedOperationService.count()`](fiftyone.operators.delegated.md#fiftyone.operators.delegated.DelegatedOperationService.count)
    * [`DelegatedOperationService.execute_operation()`](fiftyone.operators.delegated.md#fiftyone.operators.delegated.DelegatedOperationService.execute_operation)
* [fiftyone.operators.evaluation_metric](fiftyone.operators.evaluation_metric.md)
  * [`EvaluationMetricConfig`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetricConfig)
    * [`EvaluationMetricConfig.risk_level`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetricConfig.risk_level)
    * [`EvaluationMetricConfig.to_json()`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetricConfig.to_json)
  * [`EvaluationMetric`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetric)
    * [`EvaluationMetric.resolve_input()`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetric.resolve_input)
    * [`EvaluationMetric.parse_parameters()`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetric.parse_parameters)
    * [`EvaluationMetric.compute()`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetric.compute)
    * [`EvaluationMetric.get_fields()`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetric.get_fields)
    * [`EvaluationMetric.rename()`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetric.rename)
    * [`EvaluationMetric.cleanup()`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetric.cleanup)
    * [`EvaluationMetric.add_secrets()`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetric.add_secrets)
    * [`EvaluationMetric.builtin`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetric.builtin)
    * [`EvaluationMetric.config`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetric.config)
    * [`EvaluationMetric.execute()`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetric.execute)
    * [`EvaluationMetric.method_to_uri()`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetric.method_to_uri)
    * [`EvaluationMetric.name`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetric.name)
    * [`EvaluationMetric.resolve_delegation()`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetric.resolve_delegation)
    * [`EvaluationMetric.resolve_execution_options()`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetric.resolve_execution_options)
    * [`EvaluationMetric.resolve_output()`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetric.resolve_output)
    * [`EvaluationMetric.resolve_placement()`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetric.resolve_placement)
    * [`EvaluationMetric.resolve_run_name()`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetric.resolve_run_name)
    * [`EvaluationMetric.resolve_type()`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetric.resolve_type)
    * [`EvaluationMetric.risk_level`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetric.risk_level)
    * [`EvaluationMetric.to_json()`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetric.to_json)
    * [`EvaluationMetric.uri`](fiftyone.operators.evaluation_metric.md#fiftyone.operators.evaluation_metric.EvaluationMetric.uri)
* [fiftyone.operators.events](fiftyone.operators.events.md)
* [fiftyone.operators.executor](fiftyone.operators.executor.md)
  * [`ExecutionRunState`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionRunState)
    * [`ExecutionRunState.SCHEDULED`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionRunState.SCHEDULED)
    * [`ExecutionRunState.QUEUED`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionRunState.QUEUED)
    * [`ExecutionRunState.RUNNING`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionRunState.RUNNING)
    * [`ExecutionRunState.PROCESSING`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionRunState.PROCESSING)
    * [`ExecutionRunState.COMPLETED`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionRunState.COMPLETED)
    * [`ExecutionRunState.FAILED`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionRunState.FAILED)
    * [`ExecutionRunState.TERMINAL_STATES`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionRunState.TERMINAL_STATES)
  * [`InvocationRequest`](fiftyone.operators.executor.md#fiftyone.operators.executor.InvocationRequest)
    * [`InvocationRequest.to_json()`](fiftyone.operators.executor.md#fiftyone.operators.executor.InvocationRequest.to_json)
  * [`ExecutionProgress`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionProgress)
  * [`Executor`](fiftyone.operators.executor.md#fiftyone.operators.executor.Executor)
    * [`Executor.trigger()`](fiftyone.operators.executor.md#fiftyone.operators.executor.Executor.trigger)
    * [`Executor.log()`](fiftyone.operators.executor.md#fiftyone.operators.executor.Executor.log)
    * [`Executor.to_json()`](fiftyone.operators.executor.md#fiftyone.operators.executor.Executor.to_json)
  * [`execute_operator()`](fiftyone.operators.executor.md#fiftyone.operators.executor.execute_operator)
  * [`execute_or_delegate_operator()`](fiftyone.operators.executor.md#fiftyone.operators.executor.execute_or_delegate_operator)
  * [`prepare_operator_executor()`](fiftyone.operators.executor.md#fiftyone.operators.executor.prepare_operator_executor)
  * [`do_execute_operator()`](fiftyone.operators.executor.md#fiftyone.operators.executor.do_execute_operator)
  * [`do_execute_pipeline()`](fiftyone.operators.executor.md#fiftyone.operators.executor.do_execute_pipeline)
  * [`resolve_type()`](fiftyone.operators.executor.md#fiftyone.operators.executor.resolve_type)
  * [`resolve_type_with_context()`](fiftyone.operators.executor.md#fiftyone.operators.executor.resolve_type_with_context)
  * [`resolve_execution_options()`](fiftyone.operators.executor.md#fiftyone.operators.executor.resolve_execution_options)
  * [`resolve_placement()`](fiftyone.operators.executor.md#fiftyone.operators.executor.resolve_placement)
  * [`ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
    * [`ExecutionContext.dataset`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.dataset)
    * [`ExecutionContext.dataset_name`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.dataset_name)
    * [`ExecutionContext.dataset_id`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.dataset_id)
    * [`ExecutionContext.view`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.view)
    * [`ExecutionContext.target_view()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.target_view)
    * [`ExecutionContext.get_unavailable_view_targets()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.get_unavailable_view_targets)
    * [`ExecutionContext.view_target()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.view_target)
    * [`ExecutionContext.flatten_group_slices()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.flatten_group_slices)
    * [`ExecutionContext.get_group_slice_scopes()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.get_group_slice_scopes)
    * [`ExecutionContext.has_custom_view`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.has_custom_view)
    * [`ExecutionContext.spaces`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.spaces)
    * [`ExecutionContext.selected`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.selected)
    * [`ExecutionContext.selected_samples`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.selected_samples)
    * [`ExecutionContext.sample_selection_style`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.sample_selection_style)
    * [`ExecutionContext.label_selection_style`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.label_selection_style)
    * [`ExecutionContext.selected_labels`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.selected_labels)
    * [`ExecutionContext.extended_selection`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.extended_selection)
    * [`ExecutionContext.current_sample`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.current_sample)
    * [`ExecutionContext.active_fields`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.active_fields)
    * [`ExecutionContext.active_media_type`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.active_media_type)
    * [`ExecutionContext.user_id`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.user_id)
    * [`ExecutionContext.user_request_token`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.user_request_token)
    * [`ExecutionContext.panel_id`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.panel_id)
    * [`ExecutionContext.panel_state`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.panel_state)
    * [`ExecutionContext.panel`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.panel)
    * [`ExecutionContext.delegated`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.delegated)
    * [`ExecutionContext.requesting_delegated_execution`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.requesting_delegated_execution)
    * [`ExecutionContext.delegation_target`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.delegation_target)
    * [`ExecutionContext.results`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.results)
    * [`ExecutionContext.secrets`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.secrets)
    * [`ExecutionContext.ops`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.ops)
    * [`ExecutionContext.group_slice`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.group_slice)
    * [`ExecutionContext.num_distributed_tasks`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.num_distributed_tasks)
    * [`ExecutionContext.query_performance`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.query_performance)
    * [`ExecutionContext.prompt_id`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.prompt_id)
    * [`ExecutionContext.operator_uri`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.operator_uri)
    * [`ExecutionContext.prompt()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.prompt)
    * [`ExecutionContext.secret()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.secret)
    * [`ExecutionContext.resolve_secret_values()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.resolve_secret_values)
    * [`ExecutionContext.trigger()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.trigger)
    * [`ExecutionContext.log()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.log)
    * [`ExecutionContext.set_progress()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.set_progress)
    * [`ExecutionContext.store()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.store)
    * [`ExecutionContext.serialize()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.serialize)
    * [`ExecutionContext.to_dict()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.to_dict)
  * [`ExecutionResult`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionResult)
    * [`ExecutionResult.is_generator`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionResult.is_generator)
    * [`ExecutionResult.raise_exceptions()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionResult.raise_exceptions)
    * [`ExecutionResult.to_exception()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionResult.to_exception)
    * [`ExecutionResult.to_json()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionResult.to_json)
  * [`PipelineExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.PipelineExecutionContext)
    * [`PipelineExecutionContext.active`](fiftyone.operators.executor.md#fiftyone.operators.executor.PipelineExecutionContext.active)
    * [`PipelineExecutionContext.curr_stage_index`](fiftyone.operators.executor.md#fiftyone.operators.executor.PipelineExecutionContext.curr_stage_index)
    * [`PipelineExecutionContext.total_stages`](fiftyone.operators.executor.md#fiftyone.operators.executor.PipelineExecutionContext.total_stages)
    * [`PipelineExecutionContext.pipeline_errors`](fiftyone.operators.executor.md#fiftyone.operators.executor.PipelineExecutionContext.pipeline_errors)
    * [`PipelineExecutionContext.num_distributed_tasks`](fiftyone.operators.executor.md#fiftyone.operators.executor.PipelineExecutionContext.num_distributed_tasks)
  * [`ExecutionError`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionError)
    * [`ExecutionError.add_note()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionError.add_note)
    * [`ExecutionError.args`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionError.args)
    * [`ExecutionError.with_traceback()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionError.with_traceback)
  * [`ValidationError`](fiftyone.operators.executor.md#fiftyone.operators.executor.ValidationError)
    * [`ValidationError.to_json()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ValidationError.to_json)
  * [`ValidationContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ValidationContext)
    * [`ValidationContext.to_json()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ValidationContext.to_json)
    * [`ValidationContext.add_error()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ValidationContext.add_error)
    * [`ValidationContext.validate_enum()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ValidationContext.validate_enum)
    * [`ValidationContext.validate_list()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ValidationContext.validate_list)
    * [`ValidationContext.validate_property()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ValidationContext.validate_property)
    * [`ValidationContext.validate_object()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ValidationContext.validate_object)
    * [`ValidationContext.validate_primitive()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ValidationContext.validate_primitive)
    * [`ValidationContext.exists_or_non_required()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ValidationContext.exists_or_non_required)
  * [`ExecutionOptions`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionOptions)
    * [`ExecutionOptions.allow_immediate_execution`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionOptions.allow_immediate_execution)
    * [`ExecutionOptions.allow_delegated_execution`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionOptions.allow_delegated_execution)
    * [`ExecutionOptions.allow_distributed_execution`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionOptions.allow_distributed_execution)
    * [`ExecutionOptions.default_choice_to_delegated`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionOptions.default_choice_to_delegated)
    * [`ExecutionOptions.min_distributed_tasks`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionOptions.min_distributed_tasks)
    * [`ExecutionOptions.max_distributed_tasks`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionOptions.max_distributed_tasks)
    * [`ExecutionOptions.recommended_distributed_tasks`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionOptions.recommended_distributed_tasks)
    * [`ExecutionOptions.available_orchestrators`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionOptions.available_orchestrators)
    * [`ExecutionOptions.orchestrator_registration_enabled`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionOptions.orchestrator_registration_enabled)
    * [`ExecutionOptions.update()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionOptions.update)
    * [`ExecutionOptions.to_dict()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionOptions.to_dict)
* [fiftyone.operators.logging_utils](fiftyone.operators.logging_utils.md)
  * [`LineFlushedStdio`](fiftyone.operators.logging_utils.md#fiftyone.operators.logging_utils.LineFlushedStdio)
    * [`LineFlushedStdio.write()`](fiftyone.operators.logging_utils.md#fiftyone.operators.logging_utils.LineFlushedStdio.write)
    * [`LineFlushedStdio.flush()`](fiftyone.operators.logging_utils.md#fiftyone.operators.logging_utils.LineFlushedStdio.flush)
    * [`LineFlushedStdio.drain()`](fiftyone.operators.logging_utils.md#fiftyone.operators.logging_utils.LineFlushedStdio.drain)
* [fiftyone.operators.message](fiftyone.operators.message.md)
  * [`MessageType`](fiftyone.operators.message.md#fiftyone.operators.message.MessageType)
    * [`MessageType.SUCCESS`](fiftyone.operators.message.md#fiftyone.operators.message.MessageType.SUCCESS)
    * [`MessageType.ERROR`](fiftyone.operators.message.md#fiftyone.operators.message.MessageType.ERROR)
  * [`GeneratedMessage`](fiftyone.operators.message.md#fiftyone.operators.message.GeneratedMessage)
    * [`GeneratedMessage.to_json()`](fiftyone.operators.message.md#fiftyone.operators.message.GeneratedMessage.to_json)
    * [`GeneratedMessage.to_json_line()`](fiftyone.operators.message.md#fiftyone.operators.message.GeneratedMessage.to_json_line)
  * [`MessageMetadata`](fiftyone.operators.message.md#fiftyone.operators.message.MessageMetadata)
    * [`MessageMetadata.operation_type`](fiftyone.operators.message.md#fiftyone.operators.message.MessageMetadata.operation_type)
    * [`MessageMetadata.dataset_id`](fiftyone.operators.message.md#fiftyone.operators.message.MessageMetadata.dataset_id)
    * [`MessageMetadata.timestamp`](fiftyone.operators.message.md#fiftyone.operators.message.MessageMetadata.timestamp)
  * [`MessageData`](fiftyone.operators.message.md#fiftyone.operators.message.MessageData)
    * [`MessageData.key`](fiftyone.operators.message.md#fiftyone.operators.message.MessageData.key)
    * [`MessageData.value`](fiftyone.operators.message.md#fiftyone.operators.message.MessageData.value)
    * [`MessageData.metadata`](fiftyone.operators.message.md#fiftyone.operators.message.MessageData.metadata)
    * [`MessageData.from_dict()`](fiftyone.operators.message.md#fiftyone.operators.message.MessageData.from_dict)
    * [`MessageData.from_json()`](fiftyone.operators.message.md#fiftyone.operators.message.MessageData.from_json)
    * [`MessageData.to_dict()`](fiftyone.operators.message.md#fiftyone.operators.message.MessageData.to_dict)
    * [`MessageData.to_json()`](fiftyone.operators.message.md#fiftyone.operators.message.MessageData.to_json)
* [fiftyone.operators.operations](fiftyone.operators.operations.md)
  * [`build_register_panel_params()`](fiftyone.operators.operations.md#fiftyone.operators.operations.build_register_panel_params)
  * [`Operations`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations)
    * [`Operations.clone_selected_samples()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.clone_selected_samples)
    * [`Operations.clone_sample_field()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.clone_sample_field)
    * [`Operations.rename_sample_field()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.rename_sample_field)
    * [`Operations.clear_sample_field()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.clear_sample_field)
    * [`Operations.delete_selected_samples()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.delete_selected_samples)
    * [`Operations.delete_selected_labels()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.delete_selected_labels)
    * [`Operations.delete_sample_field()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.delete_sample_field)
    * [`Operations.print_stdout()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.print_stdout)
    * [`Operations.list_files()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.list_files)
    * [`Operations.reload_samples()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.reload_samples)
    * [`Operations.reload_dataset()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.reload_dataset)
    * [`Operations.clear_selected_samples()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.clear_selected_samples)
    * [`Operations.copy_view_as_json()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.copy_view_as_json)
    * [`Operations.view_from_json()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.view_from_json)
    * [`Operations.clear_panel_state()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.clear_panel_state)
    * [`Operations.clear_panel_data()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.clear_panel_data)
    * [`Operations.set_panel_state()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.set_panel_state)
    * [`Operations.set_panel_data()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.set_panel_data)
    * [`Operations.patch_panel_state()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.patch_panel_state)
    * [`Operations.patch_panel_data()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.patch_panel_data)
    * [`Operations.reduce_panel_state()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.reduce_panel_state)
    * [`Operations.apply_panel_state_path()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.apply_panel_state_path)
    * [`Operations.show_panel_output()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.show_panel_output)
    * [`Operations.open_panel()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.open_panel)
    * [`Operations.register_panel()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.register_panel)
    * [`Operations.open_all_panels()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.open_all_panels)
    * [`Operations.close_panel()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.close_panel)
    * [`Operations.close_all_panels()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.close_all_panels)
    * [`Operations.split_panel()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.split_panel)
    * [`Operations.open_dataset()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.open_dataset)
    * [`Operations.clear_view()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.clear_view)
    * [`Operations.clear_sidebar_filters()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.clear_sidebar_filters)
    * [`Operations.clear_all_stages()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.clear_all_stages)
    * [`Operations.refresh_colors()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.refresh_colors)
    * [`Operations.show_selected_samples()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.show_selected_samples)
    * [`Operations.convert_extended_selection_to_selected_samples()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.convert_extended_selection_to_selected_samples)
    * [`Operations.set_selected_samples()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.set_selected_samples)
    * [`Operations.set_sample_selection_style()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.set_sample_selection_style)
    * [`Operations.clear_sample_selection_style()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.clear_sample_selection_style)
    * [`Operations.set_label_selection_style()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.set_label_selection_style)
    * [`Operations.clear_label_selection_style()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.clear_label_selection_style)
    * [`Operations.set_view()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.set_view)
    * [`Operations.show_samples()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.show_samples)
    * [`Operations.console_log()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.console_log)
    * [`Operations.show_output()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.show_output)
    * [`Operations.set_progress()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.set_progress)
    * [`Operations.test_operator()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.test_operator)
    * [`Operations.set_selected_labels()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.set_selected_labels)
    * [`Operations.clear_selected_labels()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.clear_selected_labels)
    * [`Operations.notify()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.notify)
    * [`Operations.set_extended_selection()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.set_extended_selection)
    * [`Operations.set_spaces()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.set_spaces)
    * [`Operations.set_active_fields()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.set_active_fields)
    * [`Operations.clear_active_fields()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.clear_active_fields)
    * [`Operations.track_event()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.track_event)
    * [`Operations.set_panel_title()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.set_panel_title)
    * [`Operations.set_group_slice()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.set_group_slice)
    * [`Operations.open_sample()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.open_sample)
    * [`Operations.close_sample()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.close_sample)
    * [`Operations.show_sidebar()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.show_sidebar)
    * [`Operations.hide_sidebar()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.hide_sidebar)
    * [`Operations.toggle_sidebar()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.toggle_sidebar)
    * [`Operations.browser_download()`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations.browser_download)
* [fiftyone.operators.operator](fiftyone.operators.operator.md)
  * [`OperatorConfig`](fiftyone.operators.operator.md#fiftyone.operators.operator.OperatorConfig)
    * [`OperatorConfig.risk_level`](fiftyone.operators.operator.md#fiftyone.operators.operator.OperatorConfig.risk_level)
    * [`OperatorConfig.to_json()`](fiftyone.operators.operator.md#fiftyone.operators.operator.OperatorConfig.to_json)
  * [`Operator`](fiftyone.operators.operator.md#fiftyone.operators.operator.Operator)
    * [`Operator.name`](fiftyone.operators.operator.md#fiftyone.operators.operator.Operator.name)
    * [`Operator.uri`](fiftyone.operators.operator.md#fiftyone.operators.operator.Operator.uri)
    * [`Operator.builtin`](fiftyone.operators.operator.md#fiftyone.operators.operator.Operator.builtin)
    * [`Operator.config`](fiftyone.operators.operator.md#fiftyone.operators.operator.Operator.config)
    * [`Operator.risk_level`](fiftyone.operators.operator.md#fiftyone.operators.operator.Operator.risk_level)
    * [`Operator.resolve_delegation()`](fiftyone.operators.operator.md#fiftyone.operators.operator.Operator.resolve_delegation)
    * [`Operator.resolve_execution_options()`](fiftyone.operators.operator.md#fiftyone.operators.operator.Operator.resolve_execution_options)
    * [`Operator.execute()`](fiftyone.operators.operator.md#fiftyone.operators.operator.Operator.execute)
    * [`Operator.resolve_type()`](fiftyone.operators.operator.md#fiftyone.operators.operator.Operator.resolve_type)
    * [`Operator.resolve_input()`](fiftyone.operators.operator.md#fiftyone.operators.operator.Operator.resolve_input)
    * [`Operator.resolve_output()`](fiftyone.operators.operator.md#fiftyone.operators.operator.Operator.resolve_output)
    * [`Operator.resolve_placement()`](fiftyone.operators.operator.md#fiftyone.operators.operator.Operator.resolve_placement)
    * [`Operator.resolve_run_name()`](fiftyone.operators.operator.md#fiftyone.operators.operator.Operator.resolve_run_name)
    * [`Operator.method_to_uri()`](fiftyone.operators.operator.md#fiftyone.operators.operator.Operator.method_to_uri)
    * [`Operator.to_json()`](fiftyone.operators.operator.md#fiftyone.operators.operator.Operator.to_json)
    * [`Operator.add_secrets()`](fiftyone.operators.operator.md#fiftyone.operators.operator.Operator.add_secrets)
  * [`PipelineOperator`](fiftyone.operators.operator.md#fiftyone.operators.operator.PipelineOperator)
    * [`PipelineOperator.resolve_pipeline()`](fiftyone.operators.operator.md#fiftyone.operators.operator.PipelineOperator.resolve_pipeline)
    * [`PipelineOperator.add_secrets()`](fiftyone.operators.operator.md#fiftyone.operators.operator.PipelineOperator.add_secrets)
    * [`PipelineOperator.builtin`](fiftyone.operators.operator.md#fiftyone.operators.operator.PipelineOperator.builtin)
    * [`PipelineOperator.config`](fiftyone.operators.operator.md#fiftyone.operators.operator.PipelineOperator.config)
    * [`PipelineOperator.execute()`](fiftyone.operators.operator.md#fiftyone.operators.operator.PipelineOperator.execute)
    * [`PipelineOperator.method_to_uri()`](fiftyone.operators.operator.md#fiftyone.operators.operator.PipelineOperator.method_to_uri)
    * [`PipelineOperator.name`](fiftyone.operators.operator.md#fiftyone.operators.operator.PipelineOperator.name)
    * [`PipelineOperator.resolve_delegation()`](fiftyone.operators.operator.md#fiftyone.operators.operator.PipelineOperator.resolve_delegation)
    * [`PipelineOperator.resolve_execution_options()`](fiftyone.operators.operator.md#fiftyone.operators.operator.PipelineOperator.resolve_execution_options)
    * [`PipelineOperator.resolve_input()`](fiftyone.operators.operator.md#fiftyone.operators.operator.PipelineOperator.resolve_input)
    * [`PipelineOperator.resolve_output()`](fiftyone.operators.operator.md#fiftyone.operators.operator.PipelineOperator.resolve_output)
    * [`PipelineOperator.resolve_placement()`](fiftyone.operators.operator.md#fiftyone.operators.operator.PipelineOperator.resolve_placement)
    * [`PipelineOperator.resolve_run_name()`](fiftyone.operators.operator.md#fiftyone.operators.operator.PipelineOperator.resolve_run_name)
    * [`PipelineOperator.resolve_type()`](fiftyone.operators.operator.md#fiftyone.operators.operator.PipelineOperator.resolve_type)
    * [`PipelineOperator.risk_level`](fiftyone.operators.operator.md#fiftyone.operators.operator.PipelineOperator.risk_level)
    * [`PipelineOperator.to_json()`](fiftyone.operators.operator.md#fiftyone.operators.operator.PipelineOperator.to_json)
    * [`PipelineOperator.uri`](fiftyone.operators.operator.md#fiftyone.operators.operator.PipelineOperator.uri)
* [fiftyone.operators.panel](fiftyone.operators.panel.md)
  * [`PanelConfig`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelConfig)
    * [`PanelConfig.to_json()`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelConfig.to_json)
    * [`PanelConfig.risk_level`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelConfig.risk_level)
  * [`Panel`](fiftyone.operators.panel.md#fiftyone.operators.panel.Panel)
    * [`Panel.render()`](fiftyone.operators.panel.md#fiftyone.operators.panel.Panel.render)
    * [`Panel.resolve_input()`](fiftyone.operators.panel.md#fiftyone.operators.panel.Panel.resolve_input)
    * [`Panel.resolve_panel_config()`](fiftyone.operators.panel.md#fiftyone.operators.panel.Panel.resolve_panel_config)
    * [`Panel.on_startup()`](fiftyone.operators.panel.md#fiftyone.operators.panel.Panel.on_startup)
    * [`Panel.on_load()`](fiftyone.operators.panel.md#fiftyone.operators.panel.Panel.on_load)
    * [`Panel.execute()`](fiftyone.operators.panel.md#fiftyone.operators.panel.Panel.execute)
    * [`Panel.add_secrets()`](fiftyone.operators.panel.md#fiftyone.operators.panel.Panel.add_secrets)
    * [`Panel.builtin`](fiftyone.operators.panel.md#fiftyone.operators.panel.Panel.builtin)
    * [`Panel.config`](fiftyone.operators.panel.md#fiftyone.operators.panel.Panel.config)
    * [`Panel.method_to_uri()`](fiftyone.operators.panel.md#fiftyone.operators.panel.Panel.method_to_uri)
    * [`Panel.name`](fiftyone.operators.panel.md#fiftyone.operators.panel.Panel.name)
    * [`Panel.resolve_delegation()`](fiftyone.operators.panel.md#fiftyone.operators.panel.Panel.resolve_delegation)
    * [`Panel.resolve_execution_options()`](fiftyone.operators.panel.md#fiftyone.operators.panel.Panel.resolve_execution_options)
    * [`Panel.resolve_output()`](fiftyone.operators.panel.md#fiftyone.operators.panel.Panel.resolve_output)
    * [`Panel.resolve_placement()`](fiftyone.operators.panel.md#fiftyone.operators.panel.Panel.resolve_placement)
    * [`Panel.resolve_run_name()`](fiftyone.operators.panel.md#fiftyone.operators.panel.Panel.resolve_run_name)
    * [`Panel.resolve_type()`](fiftyone.operators.panel.md#fiftyone.operators.panel.Panel.resolve_type)
    * [`Panel.risk_level`](fiftyone.operators.panel.md#fiftyone.operators.panel.Panel.risk_level)
    * [`Panel.to_json()`](fiftyone.operators.panel.md#fiftyone.operators.panel.Panel.to_json)
    * [`Panel.uri`](fiftyone.operators.panel.md#fiftyone.operators.panel.Panel.uri)
  * [`WriteOnlyError`](fiftyone.operators.panel.md#fiftyone.operators.panel.WriteOnlyError)
    * [`WriteOnlyError.add_note()`](fiftyone.operators.panel.md#fiftyone.operators.panel.WriteOnlyError.add_note)
    * [`WriteOnlyError.args`](fiftyone.operators.panel.md#fiftyone.operators.panel.WriteOnlyError.args)
    * [`WriteOnlyError.with_traceback()`](fiftyone.operators.panel.md#fiftyone.operators.panel.WriteOnlyError.with_traceback)
  * [`PanelRefBase`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRefBase)
    * [`PanelRefBase.set()`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRefBase.set)
    * [`PanelRefBase.get()`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRefBase.get)
    * [`PanelRefBase.clear()`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRefBase.clear)
  * [`PanelRefState`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRefState)
    * [`PanelRefState.set()`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRefState.set)
    * [`PanelRefState.clear()`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRefState.clear)
    * [`PanelRefState.apply()`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRefState.apply)
    * [`PanelRefState.get()`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRefState.get)
  * [`PanelRefData`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRefData)
    * [`PanelRefData.set()`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRefData.set)
    * [`PanelRefData.get()`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRefData.get)
    * [`PanelRefData.clear()`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRefData.clear)
  * [`PanelRef`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRef)
    * [`PanelRef.data`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRef.data)
    * [`PanelRef.state`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRef.state)
    * [`PanelRef.id`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRef.id)
    * [`PanelRef.close()`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRef.close)
    * [`PanelRef.set_state()`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRef.set_state)
    * [`PanelRef.get_state()`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRef.get_state)
    * [`PanelRef.set_data()`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRef.set_data)
    * [`PanelRef.set_title()`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRef.set_title)
* [fiftyone.operators.permissions](fiftyone.operators.permissions.md)
  * [`ManagedOperators`](fiftyone.operators.permissions.md#fiftyone.operators.permissions.ManagedOperators)
    * [`ManagedOperators.has_operator()`](fiftyone.operators.permissions.md#fiftyone.operators.permissions.ManagedOperators.has_operator)
    * [`ManagedOperators.for_request()`](fiftyone.operators.permissions.md#fiftyone.operators.permissions.ManagedOperators.for_request)
  * [`PermissionedOperatorRegistry`](fiftyone.operators.permissions.md#fiftyone.operators.permissions.PermissionedOperatorRegistry)
    * [`PermissionedOperatorRegistry.can_execute()`](fiftyone.operators.permissions.md#fiftyone.operators.permissions.PermissionedOperatorRegistry.can_execute)
    * [`PermissionedOperatorRegistry.from_list_request()`](fiftyone.operators.permissions.md#fiftyone.operators.permissions.PermissionedOperatorRegistry.from_list_request)
    * [`PermissionedOperatorRegistry.from_exec_request()`](fiftyone.operators.permissions.md#fiftyone.operators.permissions.PermissionedOperatorRegistry.from_exec_request)
    * [`PermissionedOperatorRegistry.get_operator()`](fiftyone.operators.permissions.md#fiftyone.operators.permissions.PermissionedOperatorRegistry.get_operator)
    * [`PermissionedOperatorRegistry.list_errors()`](fiftyone.operators.permissions.md#fiftyone.operators.permissions.PermissionedOperatorRegistry.list_errors)
    * [`PermissionedOperatorRegistry.list_operators()`](fiftyone.operators.permissions.md#fiftyone.operators.permissions.PermissionedOperatorRegistry.list_operators)
    * [`PermissionedOperatorRegistry.operator_exists()`](fiftyone.operators.permissions.md#fiftyone.operators.permissions.PermissionedOperatorRegistry.operator_exists)
* [fiftyone.operators.registry](fiftyone.operators.registry.md)
  * [`get_operator()`](fiftyone.operators.registry.md#fiftyone.operators.registry.get_operator)
  * [`list_operators()`](fiftyone.operators.registry.md#fiftyone.operators.registry.list_operators)
  * [`operator_exists()`](fiftyone.operators.registry.md#fiftyone.operators.registry.operator_exists)
  * [`OperatorRegistry`](fiftyone.operators.registry.md#fiftyone.operators.registry.OperatorRegistry)
    * [`OperatorRegistry.list_operators()`](fiftyone.operators.registry.md#fiftyone.operators.registry.OperatorRegistry.list_operators)
    * [`OperatorRegistry.list_errors()`](fiftyone.operators.registry.md#fiftyone.operators.registry.OperatorRegistry.list_errors)
    * [`OperatorRegistry.operator_exists()`](fiftyone.operators.registry.md#fiftyone.operators.registry.OperatorRegistry.operator_exists)
    * [`OperatorRegistry.can_execute()`](fiftyone.operators.registry.md#fiftyone.operators.registry.OperatorRegistry.can_execute)
    * [`OperatorRegistry.get_operator()`](fiftyone.operators.registry.md#fiftyone.operators.registry.OperatorRegistry.get_operator)
* [fiftyone.operators.remote_notifier](fiftyone.operators.remote_notifier.md)
  * [`RemoteNotifier`](fiftyone.operators.remote_notifier.md#fiftyone.operators.remote_notifier.RemoteNotifier)
    * [`RemoteNotifier.broadcast_to_store()`](fiftyone.operators.remote_notifier.md#fiftyone.operators.remote_notifier.RemoteNotifier.broadcast_to_store)
  * [`SseNotifier`](fiftyone.operators.remote_notifier.md#fiftyone.operators.remote_notifier.SseNotifier)
    * [`SseNotifier.broadcast_to_store()`](fiftyone.operators.remote_notifier.md#fiftyone.operators.remote_notifier.SseNotifier.broadcast_to_store)
    * [`SseNotifier.get_event_source_response()`](fiftyone.operators.remote_notifier.md#fiftyone.operators.remote_notifier.SseNotifier.get_event_source_response)
    * [`SseNotifier.sync_current_state_for_client()`](fiftyone.operators.remote_notifier.md#fiftyone.operators.remote_notifier.SseNotifier.sync_current_state_for_client)
* [fiftyone.operators.server](fiftyone.operators.server.md)
  * [`get_operators()`](fiftyone.operators.server.md#fiftyone.operators.server.get_operators)
  * [`ListOperators`](fiftyone.operators.server.md#fiftyone.operators.server.ListOperators)
    * [`ListOperators.post()`](fiftyone.operators.server.md#fiftyone.operators.server.ListOperators.post)
    * [`ListOperators.dispatch()`](fiftyone.operators.server.md#fiftyone.operators.server.ListOperators.dispatch)
    * [`ListOperators.method_not_allowed()`](fiftyone.operators.server.md#fiftyone.operators.server.ListOperators.method_not_allowed)
  * [`ResolvePlacements`](fiftyone.operators.server.md#fiftyone.operators.server.ResolvePlacements)
    * [`ResolvePlacements.post()`](fiftyone.operators.server.md#fiftyone.operators.server.ResolvePlacements.post)
    * [`ResolvePlacements.dispatch()`](fiftyone.operators.server.md#fiftyone.operators.server.ResolvePlacements.dispatch)
    * [`ResolvePlacements.method_not_allowed()`](fiftyone.operators.server.md#fiftyone.operators.server.ResolvePlacements.method_not_allowed)
  * [`ExecuteOperator`](fiftyone.operators.server.md#fiftyone.operators.server.ExecuteOperator)
    * [`ExecuteOperator.post()`](fiftyone.operators.server.md#fiftyone.operators.server.ExecuteOperator.post)
    * [`ExecuteOperator.dispatch()`](fiftyone.operators.server.md#fiftyone.operators.server.ExecuteOperator.dispatch)
    * [`ExecuteOperator.method_not_allowed()`](fiftyone.operators.server.md#fiftyone.operators.server.ExecuteOperator.method_not_allowed)
  * [`create_response_generator()`](fiftyone.operators.server.md#fiftyone.operators.server.create_response_generator)
  * [`create_response_async_generator()`](fiftyone.operators.server.md#fiftyone.operators.server.create_response_async_generator)
  * [`create_permission_error()`](fiftyone.operators.server.md#fiftyone.operators.server.create_permission_error)
  * [`ExecuteOperatorAsGenerator`](fiftyone.operators.server.md#fiftyone.operators.server.ExecuteOperatorAsGenerator)
    * [`ExecuteOperatorAsGenerator.post()`](fiftyone.operators.server.md#fiftyone.operators.server.ExecuteOperatorAsGenerator.post)
    * [`ExecuteOperatorAsGenerator.dispatch()`](fiftyone.operators.server.md#fiftyone.operators.server.ExecuteOperatorAsGenerator.dispatch)
    * [`ExecuteOperatorAsGenerator.method_not_allowed()`](fiftyone.operators.server.md#fiftyone.operators.server.ExecuteOperatorAsGenerator.method_not_allowed)
  * [`ResolveType`](fiftyone.operators.server.md#fiftyone.operators.server.ResolveType)
    * [`ResolveType.post()`](fiftyone.operators.server.md#fiftyone.operators.server.ResolveType.post)
    * [`ResolveType.dispatch()`](fiftyone.operators.server.md#fiftyone.operators.server.ResolveType.dispatch)
    * [`ResolveType.method_not_allowed()`](fiftyone.operators.server.md#fiftyone.operators.server.ResolveType.method_not_allowed)
  * [`ResolveExecutionOptions`](fiftyone.operators.server.md#fiftyone.operators.server.ResolveExecutionOptions)
    * [`ResolveExecutionOptions.post()`](fiftyone.operators.server.md#fiftyone.operators.server.ResolveExecutionOptions.post)
    * [`ResolveExecutionOptions.dispatch()`](fiftyone.operators.server.md#fiftyone.operators.server.ResolveExecutionOptions.dispatch)
    * [`ResolveExecutionOptions.method_not_allowed()`](fiftyone.operators.server.md#fiftyone.operators.server.ResolveExecutionOptions.method_not_allowed)
  * [`SubscribeToExecutionStoreAsOperator`](fiftyone.operators.server.md#fiftyone.operators.server.SubscribeToExecutionStoreAsOperator)
    * [`SubscribeToExecutionStoreAsOperator.post()`](fiftyone.operators.server.md#fiftyone.operators.server.SubscribeToExecutionStoreAsOperator.post)
    * [`SubscribeToExecutionStoreAsOperator.dispatch()`](fiftyone.operators.server.md#fiftyone.operators.server.SubscribeToExecutionStoreAsOperator.dispatch)
    * [`SubscribeToExecutionStoreAsOperator.method_not_allowed()`](fiftyone.operators.server.md#fiftyone.operators.server.SubscribeToExecutionStoreAsOperator.method_not_allowed)
* [fiftyone.operators.sse](fiftyone.operators.sse.md)
  * [`SseOperatorConfig`](fiftyone.operators.sse.md#fiftyone.operators.sse.SseOperatorConfig)
    * [`SseOperatorConfig.risk_level`](fiftyone.operators.sse.md#fiftyone.operators.sse.SseOperatorConfig.risk_level)
    * [`SseOperatorConfig.to_json()`](fiftyone.operators.sse.md#fiftyone.operators.sse.SseOperatorConfig.to_json)
  * [`SseOperator`](fiftyone.operators.sse.md#fiftyone.operators.sse.SseOperator)
    * [`SseOperator.IS_SSE_OPERATOR`](fiftyone.operators.sse.md#fiftyone.operators.sse.SseOperator.IS_SSE_OPERATOR)
    * [`SseOperator.subscription_config`](fiftyone.operators.sse.md#fiftyone.operators.sse.SseOperator.subscription_config)
    * [`SseOperator.config`](fiftyone.operators.sse.md#fiftyone.operators.sse.SseOperator.config)
    * [`SseOperator.execute()`](fiftyone.operators.sse.md#fiftyone.operators.sse.SseOperator.execute)
    * [`SseOperator.add_secrets()`](fiftyone.operators.sse.md#fiftyone.operators.sse.SseOperator.add_secrets)
    * [`SseOperator.builtin`](fiftyone.operators.sse.md#fiftyone.operators.sse.SseOperator.builtin)
    * [`SseOperator.method_to_uri()`](fiftyone.operators.sse.md#fiftyone.operators.sse.SseOperator.method_to_uri)
    * [`SseOperator.name`](fiftyone.operators.sse.md#fiftyone.operators.sse.SseOperator.name)
    * [`SseOperator.resolve_delegation()`](fiftyone.operators.sse.md#fiftyone.operators.sse.SseOperator.resolve_delegation)
    * [`SseOperator.resolve_execution_options()`](fiftyone.operators.sse.md#fiftyone.operators.sse.SseOperator.resolve_execution_options)
    * [`SseOperator.resolve_input()`](fiftyone.operators.sse.md#fiftyone.operators.sse.SseOperator.resolve_input)
    * [`SseOperator.resolve_output()`](fiftyone.operators.sse.md#fiftyone.operators.sse.SseOperator.resolve_output)
    * [`SseOperator.resolve_placement()`](fiftyone.operators.sse.md#fiftyone.operators.sse.SseOperator.resolve_placement)
    * [`SseOperator.resolve_run_name()`](fiftyone.operators.sse.md#fiftyone.operators.sse.SseOperator.resolve_run_name)
    * [`SseOperator.resolve_type()`](fiftyone.operators.sse.md#fiftyone.operators.sse.SseOperator.resolve_type)
    * [`SseOperator.risk_level`](fiftyone.operators.sse.md#fiftyone.operators.sse.SseOperator.risk_level)
    * [`SseOperator.to_json()`](fiftyone.operators.sse.md#fiftyone.operators.sse.SseOperator.to_json)
    * [`SseOperator.uri`](fiftyone.operators.sse.md#fiftyone.operators.sse.SseOperator.uri)
* [fiftyone.operators.types](fiftyone.operators.types.md)
  * [`Pipeline`](fiftyone.operators.types.md#fiftyone.operators.types.Pipeline)
    * [`Pipeline.stages`](fiftyone.operators.types.md#fiftyone.operators.types.Pipeline.stages)
    * [`Pipeline.stage()`](fiftyone.operators.types.md#fiftyone.operators.types.Pipeline.stage)
    * [`Pipeline.from_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Pipeline.from_json)
    * [`Pipeline.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Pipeline.to_json)
  * [`PipelineRunInfo`](fiftyone.operators.types.md#fiftyone.operators.types.PipelineRunInfo)
    * [`PipelineRunInfo.active`](fiftyone.operators.types.md#fiftyone.operators.types.PipelineRunInfo.active)
    * [`PipelineRunInfo.expected_children`](fiftyone.operators.types.md#fiftyone.operators.types.PipelineRunInfo.expected_children)
    * [`PipelineRunInfo.stage_index`](fiftyone.operators.types.md#fiftyone.operators.types.PipelineRunInfo.stage_index)
    * [`PipelineRunInfo.child_errors`](fiftyone.operators.types.md#fiftyone.operators.types.PipelineRunInfo.child_errors)
    * [`PipelineRunInfo.from_json()`](fiftyone.operators.types.md#fiftyone.operators.types.PipelineRunInfo.from_json)
    * [`PipelineRunInfo.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.PipelineRunInfo.to_json)
  * [`PipelineStage`](fiftyone.operators.types.md#fiftyone.operators.types.PipelineStage)
    * [`PipelineStage.operator_uri`](fiftyone.operators.types.md#fiftyone.operators.types.PipelineStage.operator_uri)
    * [`PipelineStage.always_run`](fiftyone.operators.types.md#fiftyone.operators.types.PipelineStage.always_run)
    * [`PipelineStage.name`](fiftyone.operators.types.md#fiftyone.operators.types.PipelineStage.name)
    * [`PipelineStage.num_distributed_tasks`](fiftyone.operators.types.md#fiftyone.operators.types.PipelineStage.num_distributed_tasks)
    * [`PipelineStage.params`](fiftyone.operators.types.md#fiftyone.operators.types.PipelineStage.params)
    * [`PipelineStage.rerunnable`](fiftyone.operators.types.md#fiftyone.operators.types.PipelineStage.rerunnable)
    * [`PipelineStage.request_params_overrides`](fiftyone.operators.types.md#fiftyone.operators.types.PipelineStage.request_params_overrides)
    * [`PipelineStage.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.PipelineStage.to_json)
  * [`dedent()`](fiftyone.operators.types.md#fiftyone.operators.types.dedent)
  * [`BaseType`](fiftyone.operators.types.md#fiftyone.operators.types.BaseType)
    * [`BaseType.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.BaseType.to_json)
  * [`Void`](fiftyone.operators.types.md#fiftyone.operators.types.Void)
    * [`Void.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Void.to_json)
  * [`Object`](fiftyone.operators.types.md#fiftyone.operators.types.Object)
    * [`Object.add_property()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.add_property)
    * [`Object.get_property()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.get_property)
    * [`Object.define_property()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.define_property)
    * [`Object.str()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.str)
    * [`Object.bool()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.bool)
    * [`Object.int()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.int)
    * [`Object.float()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.float)
    * [`Object.enum()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.enum)
    * [`Object.list()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.list)
    * [`Object.obj()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.obj)
    * [`Object.file()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.file)
    * [`Object.uploaded_file()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.uploaded_file)
    * [`Object.view()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.view)
    * [`Object.loader()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.loader)
    * [`Object.btn()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.btn)
    * [`Object.img()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.img)
    * [`Object.message()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.message)
    * [`Object.grid()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.grid)
    * [`Object.dashboard()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.dashboard)
    * [`Object.plot()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.plot)
    * [`Object.h_stack()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.h_stack)
    * [`Object.v_stack()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.v_stack)
    * [`Object.menu()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.menu)
    * [`Object.btn_group()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.btn_group)
    * [`Object.md()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.md)
    * [`Object.media_player()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.media_player)
    * [`Object.arrow_nav()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.arrow_nav)
    * [`Object.map()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.map)
    * [`Object.oneof()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.oneof)
    * [`Object.tuple()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.tuple)
    * [`Object.tree()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.tree)
    * [`Object.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.clone)
    * [`Object.view_target()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.view_target)
    * [`Object.target_view()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.target_view)
    * [`Object.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Object.to_json)
  * [`Property`](fiftyone.operators.types.md#fiftyone.operators.types.Property)
    * [`Property.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Property.to_json)
  * [`ResolvableProperty`](fiftyone.operators.types.md#fiftyone.operators.types.ResolvableProperty)
    * [`ResolvableProperty.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ResolvableProperty.to_json)
  * [`String`](fiftyone.operators.types.md#fiftyone.operators.types.String)
    * [`String.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.String.to_json)
  * [`Boolean`](fiftyone.operators.types.md#fiftyone.operators.types.Boolean)
    * [`Boolean.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Boolean.to_json)
  * [`Number`](fiftyone.operators.types.md#fiftyone.operators.types.Number)
    * [`Number.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Number.to_json)
  * [`List`](fiftyone.operators.types.md#fiftyone.operators.types.List)
    * [`List.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.List.to_json)
  * [`SampleID`](fiftyone.operators.types.md#fiftyone.operators.types.SampleID)
    * [`SampleID.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.SampleID.to_json)
  * [`Enum`](fiftyone.operators.types.md#fiftyone.operators.types.Enum)
    * [`Enum.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Enum.to_json)
  * [`OneOf`](fiftyone.operators.types.md#fiftyone.operators.types.OneOf)
    * [`OneOf.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.OneOf.to_json)
  * [`Tuple`](fiftyone.operators.types.md#fiftyone.operators.types.Tuple)
    * [`Tuple.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Tuple.to_json)
  * [`Tree`](fiftyone.operators.types.md#fiftyone.operators.types.Tree)
    * [`Tree.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Tree.to_json)
  * [`Map`](fiftyone.operators.types.md#fiftyone.operators.types.Map)
    * [`Map.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Map.to_json)
  * [`File`](fiftyone.operators.types.md#fiftyone.operators.types.File)
    * [`File.add_property()`](fiftyone.operators.types.md#fiftyone.operators.types.File.add_property)
    * [`File.arrow_nav()`](fiftyone.operators.types.md#fiftyone.operators.types.File.arrow_nav)
    * [`File.bool()`](fiftyone.operators.types.md#fiftyone.operators.types.File.bool)
    * [`File.btn()`](fiftyone.operators.types.md#fiftyone.operators.types.File.btn)
    * [`File.btn_group()`](fiftyone.operators.types.md#fiftyone.operators.types.File.btn_group)
    * [`File.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.File.clone)
    * [`File.dashboard()`](fiftyone.operators.types.md#fiftyone.operators.types.File.dashboard)
    * [`File.define_property()`](fiftyone.operators.types.md#fiftyone.operators.types.File.define_property)
    * [`File.enum()`](fiftyone.operators.types.md#fiftyone.operators.types.File.enum)
    * [`File.file()`](fiftyone.operators.types.md#fiftyone.operators.types.File.file)
    * [`File.float()`](fiftyone.operators.types.md#fiftyone.operators.types.File.float)
    * [`File.get_property()`](fiftyone.operators.types.md#fiftyone.operators.types.File.get_property)
    * [`File.grid()`](fiftyone.operators.types.md#fiftyone.operators.types.File.grid)
    * [`File.h_stack()`](fiftyone.operators.types.md#fiftyone.operators.types.File.h_stack)
    * [`File.img()`](fiftyone.operators.types.md#fiftyone.operators.types.File.img)
    * [`File.int()`](fiftyone.operators.types.md#fiftyone.operators.types.File.int)
    * [`File.list()`](fiftyone.operators.types.md#fiftyone.operators.types.File.list)
    * [`File.loader()`](fiftyone.operators.types.md#fiftyone.operators.types.File.loader)
    * [`File.map()`](fiftyone.operators.types.md#fiftyone.operators.types.File.map)
    * [`File.md()`](fiftyone.operators.types.md#fiftyone.operators.types.File.md)
    * [`File.media_player()`](fiftyone.operators.types.md#fiftyone.operators.types.File.media_player)
    * [`File.menu()`](fiftyone.operators.types.md#fiftyone.operators.types.File.menu)
    * [`File.message()`](fiftyone.operators.types.md#fiftyone.operators.types.File.message)
    * [`File.obj()`](fiftyone.operators.types.md#fiftyone.operators.types.File.obj)
    * [`File.oneof()`](fiftyone.operators.types.md#fiftyone.operators.types.File.oneof)
    * [`File.plot()`](fiftyone.operators.types.md#fiftyone.operators.types.File.plot)
    * [`File.str()`](fiftyone.operators.types.md#fiftyone.operators.types.File.str)
    * [`File.target_view()`](fiftyone.operators.types.md#fiftyone.operators.types.File.target_view)
    * [`File.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.File.to_json)
    * [`File.tree()`](fiftyone.operators.types.md#fiftyone.operators.types.File.tree)
    * [`File.tuple()`](fiftyone.operators.types.md#fiftyone.operators.types.File.tuple)
    * [`File.uploaded_file()`](fiftyone.operators.types.md#fiftyone.operators.types.File.uploaded_file)
    * [`File.v_stack()`](fiftyone.operators.types.md#fiftyone.operators.types.File.v_stack)
    * [`File.view()`](fiftyone.operators.types.md#fiftyone.operators.types.File.view)
    * [`File.view_target()`](fiftyone.operators.types.md#fiftyone.operators.types.File.view_target)
  * [`UploadedFile`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile)
    * [`UploadedFile.add_property()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.add_property)
    * [`UploadedFile.arrow_nav()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.arrow_nav)
    * [`UploadedFile.bool()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.bool)
    * [`UploadedFile.btn()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.btn)
    * [`UploadedFile.btn_group()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.btn_group)
    * [`UploadedFile.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.clone)
    * [`UploadedFile.dashboard()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.dashboard)
    * [`UploadedFile.define_property()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.define_property)
    * [`UploadedFile.enum()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.enum)
    * [`UploadedFile.file()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.file)
    * [`UploadedFile.float()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.float)
    * [`UploadedFile.get_property()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.get_property)
    * [`UploadedFile.grid()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.grid)
    * [`UploadedFile.h_stack()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.h_stack)
    * [`UploadedFile.img()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.img)
    * [`UploadedFile.int()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.int)
    * [`UploadedFile.list()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.list)
    * [`UploadedFile.loader()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.loader)
    * [`UploadedFile.map()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.map)
    * [`UploadedFile.md()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.md)
    * [`UploadedFile.media_player()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.media_player)
    * [`UploadedFile.menu()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.menu)
    * [`UploadedFile.message()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.message)
    * [`UploadedFile.obj()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.obj)
    * [`UploadedFile.oneof()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.oneof)
    * [`UploadedFile.plot()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.plot)
    * [`UploadedFile.str()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.str)
    * [`UploadedFile.target_view()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.target_view)
    * [`UploadedFile.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.to_json)
    * [`UploadedFile.tree()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.tree)
    * [`UploadedFile.tuple()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.tuple)
    * [`UploadedFile.uploaded_file()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.uploaded_file)
    * [`UploadedFile.v_stack()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.v_stack)
    * [`UploadedFile.view()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.view)
    * [`UploadedFile.view_target()`](fiftyone.operators.types.md#fiftyone.operators.types.UploadedFile.view_target)
  * [`View`](fiftyone.operators.types.md#fiftyone.operators.types.View)
    * [`View.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.View.clone)
    * [`View.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.View.kwargs_to_json)
    * [`View.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.View.to_json)
  * [`InferredView`](fiftyone.operators.types.md#fiftyone.operators.types.InferredView)
    * [`InferredView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.InferredView.clone)
    * [`InferredView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.InferredView.kwargs_to_json)
    * [`InferredView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.InferredView.to_json)
  * [`Form`](fiftyone.operators.types.md#fiftyone.operators.types.Form)
    * [`Form.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Form.to_json)
    * [`Form.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.Form.clone)
    * [`Form.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Form.kwargs_to_json)
  * [`ReadOnlyView`](fiftyone.operators.types.md#fiftyone.operators.types.ReadOnlyView)
    * [`ReadOnlyView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.ReadOnlyView.clone)
    * [`ReadOnlyView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ReadOnlyView.kwargs_to_json)
    * [`ReadOnlyView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ReadOnlyView.to_json)
  * [`Choice`](fiftyone.operators.types.md#fiftyone.operators.types.Choice)
    * [`Choice.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.Choice.clone)
    * [`Choice.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Choice.to_json)
    * [`Choice.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Choice.kwargs_to_json)
  * [`Choices`](fiftyone.operators.types.md#fiftyone.operators.types.Choices)
    * [`Choices.choices`](fiftyone.operators.types.md#fiftyone.operators.types.Choices.choices)
    * [`Choices.values()`](fiftyone.operators.types.md#fiftyone.operators.types.Choices.values)
    * [`Choices.add_choice()`](fiftyone.operators.types.md#fiftyone.operators.types.Choices.add_choice)
    * [`Choices.append()`](fiftyone.operators.types.md#fiftyone.operators.types.Choices.append)
    * [`Choices.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.Choices.clone)
    * [`Choices.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Choices.to_json)
    * [`Choices.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Choices.kwargs_to_json)
  * [`RadioGroup`](fiftyone.operators.types.md#fiftyone.operators.types.RadioGroup)
    * [`RadioGroup.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.RadioGroup.to_json)
    * [`RadioGroup.add_choice()`](fiftyone.operators.types.md#fiftyone.operators.types.RadioGroup.add_choice)
    * [`RadioGroup.append()`](fiftyone.operators.types.md#fiftyone.operators.types.RadioGroup.append)
    * [`RadioGroup.choices`](fiftyone.operators.types.md#fiftyone.operators.types.RadioGroup.choices)
    * [`RadioGroup.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.RadioGroup.clone)
    * [`RadioGroup.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.RadioGroup.kwargs_to_json)
    * [`RadioGroup.values()`](fiftyone.operators.types.md#fiftyone.operators.types.RadioGroup.values)
  * [`Dropdown`](fiftyone.operators.types.md#fiftyone.operators.types.Dropdown)
    * [`Dropdown.add_choice()`](fiftyone.operators.types.md#fiftyone.operators.types.Dropdown.add_choice)
    * [`Dropdown.append()`](fiftyone.operators.types.md#fiftyone.operators.types.Dropdown.append)
    * [`Dropdown.choices`](fiftyone.operators.types.md#fiftyone.operators.types.Dropdown.choices)
    * [`Dropdown.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.Dropdown.clone)
    * [`Dropdown.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Dropdown.kwargs_to_json)
    * [`Dropdown.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Dropdown.to_json)
    * [`Dropdown.values()`](fiftyone.operators.types.md#fiftyone.operators.types.Dropdown.values)
  * [`Notice`](fiftyone.operators.types.md#fiftyone.operators.types.Notice)
    * [`Notice.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.Notice.clone)
    * [`Notice.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Notice.kwargs_to_json)
    * [`Notice.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Notice.to_json)
  * [`Header`](fiftyone.operators.types.md#fiftyone.operators.types.Header)
    * [`Header.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.Header.clone)
    * [`Header.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Header.kwargs_to_json)
    * [`Header.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Header.to_json)
  * [`Warning`](fiftyone.operators.types.md#fiftyone.operators.types.Warning)
    * [`Warning.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.Warning.clone)
    * [`Warning.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Warning.kwargs_to_json)
    * [`Warning.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Warning.to_json)
  * [`Error`](fiftyone.operators.types.md#fiftyone.operators.types.Error)
    * [`Error.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.Error.clone)
    * [`Error.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Error.kwargs_to_json)
    * [`Error.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Error.to_json)
  * [`Button`](fiftyone.operators.types.md#fiftyone.operators.types.Button)
    * [`Button.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Button.to_json)
    * [`Button.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.Button.clone)
    * [`Button.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Button.kwargs_to_json)
  * [`OperatorExecutionButtonView`](fiftyone.operators.types.md#fiftyone.operators.types.OperatorExecutionButtonView)
    * [`OperatorExecutionButtonView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.OperatorExecutionButtonView.clone)
    * [`OperatorExecutionButtonView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.OperatorExecutionButtonView.kwargs_to_json)
    * [`OperatorExecutionButtonView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.OperatorExecutionButtonView.to_json)
  * [`OneOfView`](fiftyone.operators.types.md#fiftyone.operators.types.OneOfView)
    * [`OneOfView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.OneOfView.to_json)
    * [`OneOfView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.OneOfView.clone)
    * [`OneOfView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.OneOfView.kwargs_to_json)
  * [`ListView`](fiftyone.operators.types.md#fiftyone.operators.types.ListView)
    * [`ListView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ListView.to_json)
    * [`ListView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.ListView.clone)
    * [`ListView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ListView.kwargs_to_json)
  * [`TupleView`](fiftyone.operators.types.md#fiftyone.operators.types.TupleView)
    * [`TupleView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.TupleView.to_json)
    * [`TupleView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.TupleView.clone)
    * [`TupleView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.TupleView.kwargs_to_json)
  * [`TreeSelectionView`](fiftyone.operators.types.md#fiftyone.operators.types.TreeSelectionView)
    * [`TreeSelectionView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.TreeSelectionView.to_json)
    * [`TreeSelectionView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.TreeSelectionView.clone)
    * [`TreeSelectionView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.TreeSelectionView.kwargs_to_json)
  * [`CodeView`](fiftyone.operators.types.md#fiftyone.operators.types.CodeView)
    * [`CodeView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.CodeView.to_json)
    * [`CodeView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.CodeView.clone)
    * [`CodeView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.CodeView.kwargs_to_json)
  * [`ColorView`](fiftyone.operators.types.md#fiftyone.operators.types.ColorView)
    * [`ColorView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ColorView.to_json)
    * [`ColorView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.ColorView.clone)
    * [`ColorView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ColorView.kwargs_to_json)
  * [`TabsView`](fiftyone.operators.types.md#fiftyone.operators.types.TabsView)
    * [`TabsView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.TabsView.to_json)
    * [`TabsView.add_choice()`](fiftyone.operators.types.md#fiftyone.operators.types.TabsView.add_choice)
    * [`TabsView.append()`](fiftyone.operators.types.md#fiftyone.operators.types.TabsView.append)
    * [`TabsView.choices`](fiftyone.operators.types.md#fiftyone.operators.types.TabsView.choices)
    * [`TabsView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.TabsView.clone)
    * [`TabsView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.TabsView.kwargs_to_json)
    * [`TabsView.values()`](fiftyone.operators.types.md#fiftyone.operators.types.TabsView.values)
  * [`JSONView`](fiftyone.operators.types.md#fiftyone.operators.types.JSONView)
    * [`JSONView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.JSONView.clone)
    * [`JSONView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.JSONView.kwargs_to_json)
    * [`JSONView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.JSONView.to_json)
  * [`AutocompleteView`](fiftyone.operators.types.md#fiftyone.operators.types.AutocompleteView)
    * [`AutocompleteView.add_choice()`](fiftyone.operators.types.md#fiftyone.operators.types.AutocompleteView.add_choice)
    * [`AutocompleteView.append()`](fiftyone.operators.types.md#fiftyone.operators.types.AutocompleteView.append)
    * [`AutocompleteView.choices`](fiftyone.operators.types.md#fiftyone.operators.types.AutocompleteView.choices)
    * [`AutocompleteView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.AutocompleteView.clone)
    * [`AutocompleteView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.AutocompleteView.kwargs_to_json)
    * [`AutocompleteView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.AutocompleteView.to_json)
    * [`AutocompleteView.values()`](fiftyone.operators.types.md#fiftyone.operators.types.AutocompleteView.values)
  * [`FileView`](fiftyone.operators.types.md#fiftyone.operators.types.FileView)
    * [`FileView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.FileView.clone)
    * [`FileView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.FileView.kwargs_to_json)
    * [`FileView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.FileView.to_json)
  * [`LinkView`](fiftyone.operators.types.md#fiftyone.operators.types.LinkView)
    * [`LinkView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.LinkView.to_json)
    * [`LinkView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.LinkView.clone)
    * [`LinkView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.LinkView.kwargs_to_json)
  * [`HiddenView`](fiftyone.operators.types.md#fiftyone.operators.types.HiddenView)
    * [`HiddenView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.HiddenView.clone)
    * [`HiddenView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.HiddenView.kwargs_to_json)
    * [`HiddenView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.HiddenView.to_json)
  * [`LoadingView`](fiftyone.operators.types.md#fiftyone.operators.types.LoadingView)
    * [`LoadingView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.LoadingView.clone)
    * [`LoadingView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.LoadingView.kwargs_to_json)
    * [`LoadingView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.LoadingView.to_json)
  * [`LoaderView`](fiftyone.operators.types.md#fiftyone.operators.types.LoaderView)
    * [`LoaderView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.LoaderView.to_json)
    * [`LoaderView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.LoaderView.clone)
    * [`LoaderView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.LoaderView.kwargs_to_json)
  * [`PillBadgeView`](fiftyone.operators.types.md#fiftyone.operators.types.PillBadgeView)
    * [`PillBadgeView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.PillBadgeView.clone)
    * [`PillBadgeView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.PillBadgeView.kwargs_to_json)
    * [`PillBadgeView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.PillBadgeView.to_json)
  * [`PlotlyView`](fiftyone.operators.types.md#fiftyone.operators.types.PlotlyView)
    * [`PlotlyView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.PlotlyView.to_json)
    * [`PlotlyView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.PlotlyView.clone)
    * [`PlotlyView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.PlotlyView.kwargs_to_json)
  * [`Placement`](fiftyone.operators.types.md#fiftyone.operators.types.Placement)
    * [`Placement.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Placement.to_json)
  * [`Places`](fiftyone.operators.types.md#fiftyone.operators.types.Places)
    * [`Places.SAMPLES_GRID_ACTIONS`](fiftyone.operators.types.md#fiftyone.operators.types.Places.SAMPLES_GRID_ACTIONS)
    * [`Places.SAMPLES_GRID_SECONDARY_ACTIONS`](fiftyone.operators.types.md#fiftyone.operators.types.Places.SAMPLES_GRID_SECONDARY_ACTIONS)
    * [`Places.SAMPLES_VIEWER_ACTIONS`](fiftyone.operators.types.md#fiftyone.operators.types.Places.SAMPLES_VIEWER_ACTIONS)
    * [`Places.EMBEDDINGS_ACTIONS`](fiftyone.operators.types.md#fiftyone.operators.types.Places.EMBEDDINGS_ACTIONS)
    * [`Places.HISTOGRAM_ACTIONS`](fiftyone.operators.types.md#fiftyone.operators.types.Places.HISTOGRAM_ACTIONS)
    * [`Places.MAP_ACTIONS`](fiftyone.operators.types.md#fiftyone.operators.types.Places.MAP_ACTIONS)
    * [`Places.MAP_SECONDARY_ACTIONS`](fiftyone.operators.types.md#fiftyone.operators.types.Places.MAP_SECONDARY_ACTIONS)
    * [`Places.DISPLAY_OPTIONS`](fiftyone.operators.types.md#fiftyone.operators.types.Places.DISPLAY_OPTIONS)
    * [`Places.HEADER_ACTIONS`](fiftyone.operators.types.md#fiftyone.operators.types.Places.HEADER_ACTIONS)
    * [`Places.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Places.to_json)
  * [`KeyValueView`](fiftyone.operators.types.md#fiftyone.operators.types.KeyValueView)
    * [`KeyValueView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.KeyValueView.clone)
    * [`KeyValueView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.KeyValueView.kwargs_to_json)
    * [`KeyValueView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.KeyValueView.to_json)
  * [`Column`](fiftyone.operators.types.md#fiftyone.operators.types.Column)
    * [`Column.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.Column.clone)
    * [`Column.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Column.to_json)
    * [`Column.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Column.kwargs_to_json)
  * [`Action`](fiftyone.operators.types.md#fiftyone.operators.types.Action)
    * [`Action.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.Action.clone)
    * [`Action.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Action.to_json)
    * [`Action.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Action.kwargs_to_json)
  * [`Tooltip`](fiftyone.operators.types.md#fiftyone.operators.types.Tooltip)
    * [`Tooltip.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.Tooltip.clone)
    * [`Tooltip.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Tooltip.to_json)
    * [`Tooltip.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Tooltip.kwargs_to_json)
  * [`TableView`](fiftyone.operators.types.md#fiftyone.operators.types.TableView)
    * [`TableView.keys()`](fiftyone.operators.types.md#fiftyone.operators.types.TableView.keys)
    * [`TableView.add_column()`](fiftyone.operators.types.md#fiftyone.operators.types.TableView.add_column)
    * [`TableView.add_row_action()`](fiftyone.operators.types.md#fiftyone.operators.types.TableView.add_row_action)
    * [`TableView.add_tooltip()`](fiftyone.operators.types.md#fiftyone.operators.types.TableView.add_tooltip)
    * [`TableView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.TableView.clone)
    * [`TableView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.TableView.to_json)
    * [`TableView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.TableView.kwargs_to_json)
  * [`MapView`](fiftyone.operators.types.md#fiftyone.operators.types.MapView)
    * [`MapView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.MapView.to_json)
    * [`MapView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.MapView.clone)
    * [`MapView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.MapView.kwargs_to_json)
  * [`ProgressView`](fiftyone.operators.types.md#fiftyone.operators.types.ProgressView)
    * [`ProgressView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ProgressView.to_json)
    * [`ProgressView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.ProgressView.clone)
    * [`ProgressView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ProgressView.kwargs_to_json)
  * [`ImageView`](fiftyone.operators.types.md#fiftyone.operators.types.ImageView)
    * [`ImageView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.ImageView.clone)
    * [`ImageView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ImageView.kwargs_to_json)
    * [`ImageView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ImageView.to_json)
  * [`AlertView`](fiftyone.operators.types.md#fiftyone.operators.types.AlertView)
    * [`AlertView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.AlertView.to_json)
    * [`AlertView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.AlertView.clone)
    * [`AlertView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.AlertView.kwargs_to_json)
  * [`ToastView`](fiftyone.operators.types.md#fiftyone.operators.types.ToastView)
    * [`ToastView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.ToastView.clone)
    * [`ToastView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ToastView.kwargs_to_json)
    * [`ToastView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ToastView.to_json)
  * [`CheckboxView`](fiftyone.operators.types.md#fiftyone.operators.types.CheckboxView)
    * [`CheckboxView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.CheckboxView.clone)
    * [`CheckboxView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.CheckboxView.kwargs_to_json)
    * [`CheckboxView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.CheckboxView.to_json)
  * [`ErrorView`](fiftyone.operators.types.md#fiftyone.operators.types.ErrorView)
    * [`ErrorView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.ErrorView.clone)
    * [`ErrorView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ErrorView.kwargs_to_json)
    * [`ErrorView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ErrorView.to_json)
  * [`HeaderView`](fiftyone.operators.types.md#fiftyone.operators.types.HeaderView)
    * [`HeaderView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.HeaderView.clone)
    * [`HeaderView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.HeaderView.kwargs_to_json)
    * [`HeaderView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.HeaderView.to_json)
  * [`ObjectView`](fiftyone.operators.types.md#fiftyone.operators.types.ObjectView)
    * [`ObjectView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.ObjectView.clone)
    * [`ObjectView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ObjectView.kwargs_to_json)
    * [`ObjectView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ObjectView.to_json)
  * [`RadioView`](fiftyone.operators.types.md#fiftyone.operators.types.RadioView)
    * [`RadioView.add_choice()`](fiftyone.operators.types.md#fiftyone.operators.types.RadioView.add_choice)
    * [`RadioView.append()`](fiftyone.operators.types.md#fiftyone.operators.types.RadioView.append)
    * [`RadioView.choices`](fiftyone.operators.types.md#fiftyone.operators.types.RadioView.choices)
    * [`RadioView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.RadioView.clone)
    * [`RadioView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.RadioView.kwargs_to_json)
    * [`RadioView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.RadioView.to_json)
    * [`RadioView.values()`](fiftyone.operators.types.md#fiftyone.operators.types.RadioView.values)
  * [`SwitchView`](fiftyone.operators.types.md#fiftyone.operators.types.SwitchView)
    * [`SwitchView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.SwitchView.clone)
    * [`SwitchView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.SwitchView.kwargs_to_json)
    * [`SwitchView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.SwitchView.to_json)
  * [`TextView`](fiftyone.operators.types.md#fiftyone.operators.types.TextView)
    * [`TextView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.TextView.clone)
    * [`TextView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.TextView.kwargs_to_json)
    * [`TextView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.TextView.to_json)
  * [`TextFieldView`](fiftyone.operators.types.md#fiftyone.operators.types.TextFieldView)
    * [`TextFieldView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.TextFieldView.to_json)
    * [`TextFieldView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.TextFieldView.clone)
    * [`TextFieldView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.TextFieldView.kwargs_to_json)
  * [`FieldView`](fiftyone.operators.types.md#fiftyone.operators.types.FieldView)
    * [`FieldView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.FieldView.clone)
    * [`FieldView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.FieldView.kwargs_to_json)
    * [`FieldView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.FieldView.to_json)
  * [`LazyFieldView`](fiftyone.operators.types.md#fiftyone.operators.types.LazyFieldView)
    * [`LazyFieldView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.LazyFieldView.to_json)
    * [`LazyFieldView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.LazyFieldView.clone)
    * [`LazyFieldView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.LazyFieldView.kwargs_to_json)
  * [`DropdownView`](fiftyone.operators.types.md#fiftyone.operators.types.DropdownView)
    * [`DropdownView.add_choice()`](fiftyone.operators.types.md#fiftyone.operators.types.DropdownView.add_choice)
    * [`DropdownView.append()`](fiftyone.operators.types.md#fiftyone.operators.types.DropdownView.append)
    * [`DropdownView.choices`](fiftyone.operators.types.md#fiftyone.operators.types.DropdownView.choices)
    * [`DropdownView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.DropdownView.clone)
    * [`DropdownView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.DropdownView.kwargs_to_json)
    * [`DropdownView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.DropdownView.to_json)
    * [`DropdownView.values()`](fiftyone.operators.types.md#fiftyone.operators.types.DropdownView.values)
  * [`DateTimeView`](fiftyone.operators.types.md#fiftyone.operators.types.DateTimeView)
    * [`DateTimeView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.DateTimeView.clone)
    * [`DateTimeView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.DateTimeView.kwargs_to_json)
    * [`DateTimeView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.DateTimeView.to_json)
  * [`LabelValueView`](fiftyone.operators.types.md#fiftyone.operators.types.LabelValueView)
    * [`LabelValueView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.LabelValueView.clone)
    * [`LabelValueView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.LabelValueView.kwargs_to_json)
    * [`LabelValueView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.LabelValueView.to_json)
  * [`PrimitiveView`](fiftyone.operators.types.md#fiftyone.operators.types.PrimitiveView)
    * [`PrimitiveView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.PrimitiveView.clone)
    * [`PrimitiveView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.PrimitiveView.kwargs_to_json)
    * [`PrimitiveView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.PrimitiveView.to_json)
  * [`SliderView`](fiftyone.operators.types.md#fiftyone.operators.types.SliderView)
    * [`SliderView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.SliderView.clone)
    * [`SliderView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.SliderView.kwargs_to_json)
    * [`SliderView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.SliderView.to_json)
  * [`TagsView`](fiftyone.operators.types.md#fiftyone.operators.types.TagsView)
    * [`TagsView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.TagsView.clone)
    * [`TagsView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.TagsView.kwargs_to_json)
    * [`TagsView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.TagsView.to_json)
  * [`Success`](fiftyone.operators.types.md#fiftyone.operators.types.Success)
    * [`Success.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.Success.clone)
    * [`Success.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Success.kwargs_to_json)
    * [`Success.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Success.to_json)
  * [`ButtonView`](fiftyone.operators.types.md#fiftyone.operators.types.ButtonView)
    * [`ButtonView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.ButtonView.clone)
    * [`ButtonView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ButtonView.kwargs_to_json)
    * [`ButtonView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ButtonView.to_json)
  * [`MarkdownView`](fiftyone.operators.types.md#fiftyone.operators.types.MarkdownView)
    * [`MarkdownView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.MarkdownView.clone)
    * [`MarkdownView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.MarkdownView.kwargs_to_json)
    * [`MarkdownView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.MarkdownView.to_json)
  * [`StatusButtonView`](fiftyone.operators.types.md#fiftyone.operators.types.StatusButtonView)
    * [`StatusButtonView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.StatusButtonView.clone)
    * [`StatusButtonView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.StatusButtonView.kwargs_to_json)
    * [`StatusButtonView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.StatusButtonView.to_json)
  * [`MediaPlayerView`](fiftyone.operators.types.md#fiftyone.operators.types.MediaPlayerView)
    * [`MediaPlayerView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.MediaPlayerView.clone)
    * [`MediaPlayerView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.MediaPlayerView.kwargs_to_json)
    * [`MediaPlayerView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.MediaPlayerView.to_json)
  * [`FileExplorerView`](fiftyone.operators.types.md#fiftyone.operators.types.FileExplorerView)
    * [`FileExplorerView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.FileExplorerView.clone)
    * [`FileExplorerView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.FileExplorerView.kwargs_to_json)
    * [`FileExplorerView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.FileExplorerView.to_json)
  * [`PromptView`](fiftyone.operators.types.md#fiftyone.operators.types.PromptView)
    * [`PromptView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.PromptView.clone)
    * [`PromptView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.PromptView.kwargs_to_json)
    * [`PromptView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.PromptView.to_json)
  * [`ViewTargetOptions`](fiftyone.operators.types.md#fiftyone.operators.types.ViewTargetOptions)
    * [`ViewTargetOptions.choices_view`](fiftyone.operators.types.md#fiftyone.operators.types.ViewTargetOptions.choices_view)
    * [`ViewTargetOptions.unavailable`](fiftyone.operators.types.md#fiftyone.operators.types.ViewTargetOptions.unavailable)
    * [`ViewTargetOptions.values()`](fiftyone.operators.types.md#fiftyone.operators.types.ViewTargetOptions.values)
    * [`ViewTargetOptions.available_values()`](fiftyone.operators.types.md#fiftyone.operators.types.ViewTargetOptions.available_values)
  * [`ViewTargetProperty`](fiftyone.operators.types.md#fiftyone.operators.types.ViewTargetProperty)
    * [`ViewTargetProperty.options`](fiftyone.operators.types.md#fiftyone.operators.types.ViewTargetProperty.options)
    * [`ViewTargetProperty.options`](fiftyone.operators.types.md#id0)
    * [`ViewTargetProperty.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ViewTargetProperty.to_json)
  * [`GridView`](fiftyone.operators.types.md#fiftyone.operators.types.GridView)
    * [`GridView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.GridView.to_json)
    * [`GridView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.GridView.clone)
    * [`GridView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.GridView.kwargs_to_json)
  * [`DashboardView`](fiftyone.operators.types.md#fiftyone.operators.types.DashboardView)
    * [`DashboardView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.DashboardView.to_json)
    * [`DashboardView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.DashboardView.clone)
    * [`DashboardView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.DashboardView.kwargs_to_json)
  * [`DrawerView`](fiftyone.operators.types.md#fiftyone.operators.types.DrawerView)
    * [`DrawerView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.DrawerView.clone)
    * [`DrawerView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.DrawerView.kwargs_to_json)
    * [`DrawerView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.DrawerView.to_json)
  * [`IconButtonView`](fiftyone.operators.types.md#fiftyone.operators.types.IconButtonView)
    * [`IconButtonView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.IconButtonView.clone)
    * [`IconButtonView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.IconButtonView.kwargs_to_json)
    * [`IconButtonView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.IconButtonView.to_json)
  * [`ModalView`](fiftyone.operators.types.md#fiftyone.operators.types.ModalView)
    * [`ModalView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.ModalView.clone)
    * [`ModalView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ModalView.kwargs_to_json)
    * [`ModalView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ModalView.to_json)
  * [`HStackView`](fiftyone.operators.types.md#fiftyone.operators.types.HStackView)
    * [`HStackView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.HStackView.clone)
    * [`HStackView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.HStackView.kwargs_to_json)
    * [`HStackView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.HStackView.to_json)
  * [`VStackView`](fiftyone.operators.types.md#fiftyone.operators.types.VStackView)
    * [`VStackView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.VStackView.to_json)
    * [`VStackView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.VStackView.clone)
    * [`VStackView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.VStackView.kwargs_to_json)
  * [`ButtonGroupView`](fiftyone.operators.types.md#fiftyone.operators.types.ButtonGroupView)
    * [`ButtonGroupView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ButtonGroupView.to_json)
    * [`ButtonGroupView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.ButtonGroupView.clone)
    * [`ButtonGroupView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ButtonGroupView.kwargs_to_json)
  * [`MenuView`](fiftyone.operators.types.md#fiftyone.operators.types.MenuView)
    * [`MenuView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.MenuView.to_json)
    * [`MenuView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.MenuView.clone)
    * [`MenuView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.MenuView.kwargs_to_json)
  * [`ArrowNavView`](fiftyone.operators.types.md#fiftyone.operators.types.ArrowNavView)
    * [`ArrowNavView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ArrowNavView.to_json)
    * [`ArrowNavView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.ArrowNavView.clone)
    * [`ArrowNavView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ArrowNavView.kwargs_to_json)
  * [`FrameLoaderView`](fiftyone.operators.types.md#fiftyone.operators.types.FrameLoaderView)
    * [`FrameLoaderView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.FrameLoaderView.clone)
    * [`FrameLoaderView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.FrameLoaderView.kwargs_to_json)
    * [`FrameLoaderView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.FrameLoaderView.to_json)
  * [`TimelineView`](fiftyone.operators.types.md#fiftyone.operators.types.TimelineView)
    * [`TimelineView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.TimelineView.clone)
    * [`TimelineView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.TimelineView.kwargs_to_json)
    * [`TimelineView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.TimelineView.to_json)
  * [`TimerView`](fiftyone.operators.types.md#fiftyone.operators.types.TimerView)
    * [`TimerView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.TimerView.clone)
    * [`TimerView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.TimerView.kwargs_to_json)
    * [`TimerView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.TimerView.to_json)
  * [`ComponentView`](fiftyone.operators.types.md#fiftyone.operators.types.ComponentView)
    * [`ComponentView.clone()`](fiftyone.operators.types.md#fiftyone.operators.types.ComponentView.clone)
    * [`ComponentView.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ComponentView.kwargs_to_json)
    * [`ComponentView.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.ComponentView.to_json)
  * [`Container`](fiftyone.operators.types.md#fiftyone.operators.types.Container)
    * [`Container.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Container.kwargs_to_json)
    * [`Container.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.Container.to_json)
  * [`PaperContainer`](fiftyone.operators.types.md#fiftyone.operators.types.PaperContainer)
    * [`PaperContainer.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.PaperContainer.to_json)
    * [`PaperContainer.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.PaperContainer.kwargs_to_json)
  * [`OutlinedContainer`](fiftyone.operators.types.md#fiftyone.operators.types.OutlinedContainer)
    * [`OutlinedContainer.kwargs_to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.OutlinedContainer.kwargs_to_json)
    * [`OutlinedContainer.to_json()`](fiftyone.operators.types.md#fiftyone.operators.types.OutlinedContainer.to_json)
  * [`RiskLevel`](fiftyone.operators.types.md#fiftyone.operators.types.RiskLevel)
    * [`RiskLevel.LOW`](fiftyone.operators.types.md#fiftyone.operators.types.RiskLevel.LOW)
    * [`RiskLevel.MEDIUM`](fiftyone.operators.types.md#fiftyone.operators.types.RiskLevel.MEDIUM)
    * [`RiskLevel.HIGH`](fiftyone.operators.types.md#fiftyone.operators.types.RiskLevel.HIGH)
    * [`RiskLevel.DANGEROUS`](fiftyone.operators.types.md#fiftyone.operators.types.RiskLevel.DANGEROUS)
* [fiftyone.operators.utils](fiftyone.operators.utils.md)
  * [`ProgressHandler`](fiftyone.operators.utils.md#fiftyone.operators.utils.ProgressHandler)
    * [`ProgressHandler.emit()`](fiftyone.operators.utils.md#fiftyone.operators.utils.ProgressHandler.emit)
    * [`ProgressHandler.acquire()`](fiftyone.operators.utils.md#fiftyone.operators.utils.ProgressHandler.acquire)
    * [`ProgressHandler.addFilter()`](fiftyone.operators.utils.md#fiftyone.operators.utils.ProgressHandler.addFilter)
    * [`ProgressHandler.close()`](fiftyone.operators.utils.md#fiftyone.operators.utils.ProgressHandler.close)
    * [`ProgressHandler.createLock()`](fiftyone.operators.utils.md#fiftyone.operators.utils.ProgressHandler.createLock)
    * [`ProgressHandler.filter()`](fiftyone.operators.utils.md#fiftyone.operators.utils.ProgressHandler.filter)
    * [`ProgressHandler.flush()`](fiftyone.operators.utils.md#fiftyone.operators.utils.ProgressHandler.flush)
    * [`ProgressHandler.format()`](fiftyone.operators.utils.md#fiftyone.operators.utils.ProgressHandler.format)
    * [`ProgressHandler.get_name()`](fiftyone.operators.utils.md#fiftyone.operators.utils.ProgressHandler.get_name)
    * [`ProgressHandler.handle()`](fiftyone.operators.utils.md#fiftyone.operators.utils.ProgressHandler.handle)
    * [`ProgressHandler.handleError()`](fiftyone.operators.utils.md#fiftyone.operators.utils.ProgressHandler.handleError)
    * [`ProgressHandler.name`](fiftyone.operators.utils.md#fiftyone.operators.utils.ProgressHandler.name)
    * [`ProgressHandler.release()`](fiftyone.operators.utils.md#fiftyone.operators.utils.ProgressHandler.release)
    * [`ProgressHandler.removeFilter()`](fiftyone.operators.utils.md#fiftyone.operators.utils.ProgressHandler.removeFilter)
    * [`ProgressHandler.setFormatter()`](fiftyone.operators.utils.md#fiftyone.operators.utils.ProgressHandler.setFormatter)
    * [`ProgressHandler.setLevel()`](fiftyone.operators.utils.md#fiftyone.operators.utils.ProgressHandler.setLevel)
    * [`ProgressHandler.set_name()`](fiftyone.operators.utils.md#fiftyone.operators.utils.ProgressHandler.set_name)
  * [`is_method_overridden()`](fiftyone.operators.utils.md#fiftyone.operators.utils.is_method_overridden)
  * [`is_new()`](fiftyone.operators.utils.md#fiftyone.operators.utils.is_new)
  * [`create_operator_response()`](fiftyone.operators.utils.md#fiftyone.operators.utils.create_operator_response)

## Module contents

FiftyOne operators.

Copyright 2017-2026, Voxel51, Inc.
<br/>
[voxel51.com](https://voxel51.com/)
<br/>
<br/>

**Classes:**

| [`Operator`](#fiftyone.operators.Operator)([_builtin])                                       | A FiftyOne operator.                                                                                                                                                                                                                                              |
|----------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [`OperatorConfig`](#fiftyone.operators.OperatorConfig)(name[, label, description, ...])      | A configuration for an operator.                                                                                                                                                                                                                                  |
| [`PipelineOperator`](#fiftyone.operators.PipelineOperator)([_builtin])                       | A FiftyOne pipeline operator.                                                                                                                                                                                                                                     |
| [`OperatorRegistry`](#fiftyone.operators.OperatorRegistry)([enabled])                        | Operator registry.                                                                                                                                                                                                                                                |
| [`ViewTarget`](#fiftyone.operators.ViewTarget)()                                             | Choices for target view that an operator should operate on                                                                                                                                                                                                        |
| [`EvaluationMetricConfig`](#fiftyone.operators.EvaluationMetricConfig)(name[, label, ...])   | Configuration class for evaluation metrics.                                                                                                                                                                                                                       |
| [`EvaluationMetric`](#fiftyone.operators.EvaluationMetric)([_builtin])                       | Base class for evaluation metric operators.                                                                                                                                                                                                                       |
| [`ExecutionContext`](#fiftyone.operators.ExecutionContext)([request_params, executor, ...])  | Represents the execution context of an operator.                                                                                                                                                                                                                  |
| [`ExecutionOptions`](#fiftyone.operators.ExecutionOptions)([...])                            | Represents the execution options of an operation.                                                                                                                                                                                                                 |
| [`ProgressHandler`](#fiftyone.operators.ProgressHandler)(ctx[, logger, level])               | A logging handler that reports all logging messages issued while the handler's context manager is active to the provided execution context's [`set_progress()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.set_progress) method. |
| [`Panel`](#fiftyone.operators.Panel)([_builtin])                                             | A panel.                                                                                                                                                                                                                                                          |
| [`PanelConfig`](#fiftyone.operators.PanelConfig)(name, label[, help_markdown, ...])          | Configuration for a panel.                                                                                                                                                                                                                                        |
| [`ExecutionStore`](#fiftyone.operators.ExecutionStore)(store_name, store_service[, ...])     | Execution store.                                                                                                                                                                                                                                                  |
| [`Categories`](#fiftyone.operators.Categories)(\*values)                                     |                                                                                                                                                                                                                                                                   |
| [`SseOperator`](#fiftyone.operators.SseOperator)([_builtin])                                 |                                                                                                                                                                                                                                                                   |
| [`SseOperatorConfig`](#fiftyone.operators.SseOperatorConfig)(name, label, store_name[, ...]) |                                                                                                                                                                                                                                                                   |

**Functions:**

| [`get_operator`](#fiftyone.operators.get_operator)(operator_uri[, enabled])            | Gets the operator with the given URI.                                                                                                 |
|----------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|
| [`list_operators`](#fiftyone.operators.list_operators)([enabled, builtin, type])       | Returns all available operators.                                                                                                      |
| [`operator_exists`](#fiftyone.operators.operator_exists)(operator_uri[, enabled])      | Checks if the given operator exists.                                                                                                  |
| [`execute_operator`](#fiftyone.operators.execute_operator)(operator_uri[, ctx])        | Executes the operator with the given name.                                                                                            |
| [`is_new`](#fiftyone.operators.is_new)(release_date[, days])                           | Determines if a feature is considered "new" based on its release date.                                                                |
| [`execution_cache`](#fiftyone.operators.execution_cache)([_func, residency, ttl, ...]) | Decorator for caching function results in an [`ExecutionStore`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStore). |

### *class* fiftyone.operators.Operator(\_builtin=False)

Bases: `object`

A FiftyOne operator.

Operators represent an operation and the details of how to execute it.

FiftyOne operators contain enough information for a user interface to
render a form or button allowing a user to execute the operation.

**Attributes:**

| [`name`](#fiftyone.operators.Operator.name)             |                                                                                                                  |
|---------------------------------------------------------|------------------------------------------------------------------------------------------------------------------|
| [`uri`](#fiftyone.operators.Operator.uri)               | The unique identifier of the operator: `plugin_name/operator_name`.                                              |
| [`builtin`](#fiftyone.operators.Operator.builtin)       | Whether the operator is builtin.                                                                                 |
| [`config`](#fiftyone.operators.Operator.config)         | The [`OperatorConfig`](#fiftyone.operators.OperatorConfig) for the operator.                                     |
| [`risk_level`](#fiftyone.operators.Operator.risk_level) | The effective risk level of the operator, which is used by guardrail systems of an agent to classify tool calls. |

**Methods:**

| [`resolve_delegation`](#fiftyone.operators.Operator.resolve_delegation)(ctx)               | Returns the resolved *forced* delegation flag.   |
|--------------------------------------------------------------------------------------------|--------------------------------------------------|
| [`resolve_execution_options`](#fiftyone.operators.Operator.resolve_execution_options)(ctx) | Returns the resolved execution options.          |
| [`execute`](#fiftyone.operators.Operator.execute)(ctx)                                     | Executes the operator.                           |
| [`resolve_type`](#fiftyone.operators.Operator.resolve_type)(ctx, type)                     | Returns the resolved input or output property.   |
| [`resolve_input`](#fiftyone.operators.Operator.resolve_input)(ctx)                         | Returns the resolved input property.             |
| [`resolve_output`](#fiftyone.operators.Operator.resolve_output)(ctx)                       | Returns the resolved output property.            |
| [`resolve_placement`](#fiftyone.operators.Operator.resolve_placement)(ctx)                 | Returns the resolved placement of the operator.  |
| [`resolve_run_name`](#fiftyone.operators.Operator.resolve_run_name)(ctx)                   | Returns the resolved run name of the operator.   |
| [`method_to_uri`](#fiftyone.operators.Operator.method_to_uri)(method_name)                 | Converts a method name to a URI.                 |
| [`to_json`](#fiftyone.operators.Operator.to_json)()                                        | Returns a JSON representation of the operator.   |
| [`add_secrets`](#fiftyone.operators.Operator.add_secrets)(secrets)                         | Adds secrets to the operator.                    |

#### *property* name

#### *property* uri

The unique identifier of the operator:
`plugin_name/operator_name`.

#### *property* builtin

Whether the operator is builtin.

#### *property* config

The [`OperatorConfig`](#fiftyone.operators.OperatorConfig) for the operator.

#### *property* risk_level

The effective risk level of the operator, which is used by guardrail
systems of an agent to classify tool calls.

#### resolve_delegation(ctx) → [bool](fiftyone.core.stages.md#fiftyone.core.stages.Exists.bool) | None

Returns the resolved *forced* delegation flag.

Subclasses can implement this method to decide if delegated execution
should be *forced* for the given operation.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  whether the operation should be delegated (True), run immediately
  (False), or None to defer to [`resolve_execution_options()`](#fiftyone.operators.Operator.resolve_execution_options) to
  specify the available options

#### resolve_execution_options(ctx)

Returns the resolved execution options.

Subclasses can implement this method to define the execution options
available for the operation.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a [`fiftyone.operators.executor.ExecutionOptions`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionOptions) instance

#### execute(ctx)

Executes the operator.

Subclasses must implement this method.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  JSON serializable data, or None

#### resolve_type(ctx, type)

Returns the resolved input or output property.

* **Parameters:**
  * **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
  * **type** – the type of property to resolve, either `"inputs"` or
    `"outputs"`
* **Returns:**
  a [`fiftyone.operators.types.Property`](fiftyone.operators.types.md#fiftyone.operators.types.Property), or None

#### resolve_input(ctx) → [Property](fiftyone.operators.types.md#fiftyone.operators.types.Property) | None

Returns the resolved input property.

Subclasses can implement this method to define the inputs to the
operator. This method should never be called directly. Instead
use [`resolve_type()`](#fiftyone.operators.Operator.resolve_type).

By default, this method is called once when the operator is created.
If the operator is dynamic, this method is called each time the input
changes.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a [`fiftyone.operators.types.Property`](fiftyone.operators.types.md#fiftyone.operators.types.Property), or None

#### resolve_output(ctx)

Returns the resolved output property.

Subclasses can implement this method to define the outputs of the
operator.

By default, this method is called once when the operator is created.
If the operator is dynamic, this method is called after the operator is
executed.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a [`fiftyone.operators.types.Property`](fiftyone.operators.types.md#fiftyone.operators.types.Property), or None

#### resolve_placement(ctx)

Returns the resolved placement of the operator.

Subclasses can implement this method to define the placement of the
operator.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a [`fiftyone.operators.types.Placement`](fiftyone.operators.types.md#fiftyone.operators.types.Placement), or None

#### resolve_run_name(ctx)

Returns the resolved run name of the operator.

Subclasses can implement this method to define the run name of the
operator.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a string, or None

#### method_to_uri(method_name)

Converts a method name to a URI.

* **Parameters:**
  **method_name** – the method name
* **Returns:**
  a URI

#### to_json()

Returns a JSON representation of the operator.

* **Returns:**
  a JSON dict

#### add_secrets(secrets)

Adds secrets to the operator.

* **Parameters:**
  **secrets** – a list of secrets

### *class* fiftyone.operators.OperatorConfig(name, label=None, description=None, dynamic=False, execute_as_generator=False, unlisted=False, on_startup=False, on_dataset_open=False, disable_schema_validation=False, delegation_target=None, icon=None, light_icon=None, dark_icon=None, allow_immediate_execution=True, allow_delegated_execution=False, default_choice_to_delegated=False, resolve_execution_options_on_change=None, allow_distributed_execution=False, rerunnable=True, risk_level=RiskLevel.DANGEROUS, view_target=True, \*\*kwargs)

Bases: `object`

A configuration for an operator.

* **Parameters:**
  * **name** – the name of the operator
  * **label** ([*name*](fiftyone.core.annotation.attributes.md#fiftyone.core.annotation.attributes.AttributeSpec.name)) – a label for the operator
  * **description** (*None*) – a description of the operator
  * **dynamic** (*False*) – whether the operator inputs and outputs should be
    resolved when the input/output changes
  * **execute_as_generator** (*False*) – whether the operator should be executed
    as a generator
  * **unlisted** (*False*) – whether the operator should be hidden from the
    Operator Browser
  * **on_startup** (*False*) – whether the operator should be executed on startup
  * **on_dataset_open** (*False*) – whether the operator should be executed on
    opening a dataset
  * **disable_schema_validation** (*False*) – whether the operator built-in schema
    validation should be disabled
  * **icon** (*None*) – icon to show for the operator in the Operator Browser
  * **light_icon** (*None*) – icon to show for the operator in the Operator Browser
    when the App is in the light mode
  * **dark_icon** (*None*) – icon to show for the operator in the Operator Browser
    when the App is in the dark mode
  * **allow_immediate_execution** (*True*) – whether the operator should allow
    immediate execution
  * **allow_delegated_execution** (*False*) – whether the operator should allow
    delegated execution
  * **default_choice_to_delegated** (*False*) – whether to default to delegated
    execution, if allowed
  * **resolve_execution_options_on_change** (*None*) – whether to resolve
    execution options dynamically when inputs change. By default, this
    behavior will match the `dynamic` setting
  * **allow_distributed_execution** (*False*) – whether the operator supports
    distributing delegated execution across parallel workers.
  * **rerunnable** (*True*) – whether the operator can be re-run
  * **risk_level** ([*RiskLevel.DANGEROUS*](fiftyone.operators.types.md#fiftyone.operators.types.RiskLevel.DANGEROUS)) – the declared `RiskLevel` for
    this operator is mainly used by guardrail systems of an agent to
    classify tool calls. If `None`, the operator defaults to
    `RiskLevel.DANGEROUS`

**Attributes:**

| [`risk_level`](#fiftyone.operators.OperatorConfig.risk_level)   | The declared `RiskLevel` for this operator.   |
|-----------------------------------------------------------------|-----------------------------------------------|

**Methods:**

| [`to_json`](#fiftyone.operators.OperatorConfig.to_json)()   |    |
|-------------------------------------------------------------|----|

#### *property* risk_level

The declared `RiskLevel` for this operator.

#### to_json()

### *class* fiftyone.operators.PipelineOperator(\_builtin=False)

Bases: [`Operator`](fiftyone.operators.operator.md#fiftyone.operators.operator.Operator)

A FiftyOne pipeline operator.

A pipeline operator represents a linear composition of other operators,
containing the details of how to create and execute the
[`fiftyone.operators.types.Pipeline`](fiftyone.operators.types.md#fiftyone.operators.types.Pipeline)

FiftyOne pipeline operators contain enough information for a user interface
to render a form or button allowing a user to execute the operation.

**Methods:**

| [`resolve_pipeline`](#fiftyone.operators.PipelineOperator.resolve_pipeline)(ctx)                   | Returns the resolved pipeline of the operator.                     |
|----------------------------------------------------------------------------------------------------|--------------------------------------------------------------------|
| [`add_secrets`](#fiftyone.operators.PipelineOperator.add_secrets)(secrets)                         | Adds secrets to the operator.                                      |
| [`execute`](#fiftyone.operators.PipelineOperator.execute)(ctx)                                     | Not used for pipeline operators; pipelines are executed via stages |
| [`method_to_uri`](#fiftyone.operators.PipelineOperator.method_to_uri)(method_name)                 | Converts a method name to a URI.                                   |
| [`resolve_delegation`](#fiftyone.operators.PipelineOperator.resolve_delegation)(ctx)               | Returns the resolved *forced* delegation flag.                     |
| [`resolve_execution_options`](#fiftyone.operators.PipelineOperator.resolve_execution_options)(ctx) | Returns the resolved execution options.                            |
| [`resolve_input`](#fiftyone.operators.PipelineOperator.resolve_input)(ctx)                         | Returns the resolved input property.                               |
| [`resolve_output`](#fiftyone.operators.PipelineOperator.resolve_output)(ctx)                       | Returns the resolved output property.                              |
| [`resolve_placement`](#fiftyone.operators.PipelineOperator.resolve_placement)(ctx)                 | Returns the resolved placement of the operator.                    |
| [`resolve_run_name`](#fiftyone.operators.PipelineOperator.resolve_run_name)(ctx)                   | Returns the resolved run name of the operator.                     |
| [`resolve_type`](#fiftyone.operators.PipelineOperator.resolve_type)(ctx, type)                     | Returns the resolved input or output property.                     |
| [`to_json`](#fiftyone.operators.PipelineOperator.to_json)()                                        | Returns a JSON representation of the operator.                     |

**Attributes:**

| [`builtin`](#fiftyone.operators.PipelineOperator.builtin)       | Whether the operator is builtin.                                                                                 |
|-----------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------|
| [`config`](#fiftyone.operators.PipelineOperator.config)         | The [`OperatorConfig`](#fiftyone.operators.OperatorConfig) for the operator.                                     |
| [`name`](#fiftyone.operators.PipelineOperator.name)             |                                                                                                                  |
| [`risk_level`](#fiftyone.operators.PipelineOperator.risk_level) | The effective risk level of the operator, which is used by guardrail systems of an agent to classify tool calls. |
| [`uri`](#fiftyone.operators.PipelineOperator.uri)               | The unique identifier of the operator: `plugin_name/operator_name`.                                              |

#### resolve_pipeline(ctx)

Returns the resolved pipeline of the operator.

Subclasses can implement this method to define the pipeline of the
operator.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a [`fiftyone.operators.types.Pipeline`](fiftyone.operators.types.md#fiftyone.operators.types.Pipeline),

#### add_secrets(secrets)

Adds secrets to the operator.

* **Parameters:**
  **secrets** – a list of secrets

#### *property* builtin

Whether the operator is builtin.

#### *property* config

The [`OperatorConfig`](#fiftyone.operators.OperatorConfig) for the operator.

#### execute(ctx)

Not used for pipeline operators; pipelines are executed via stages

#### method_to_uri(method_name)

Converts a method name to a URI.

* **Parameters:**
  **method_name** – the method name
* **Returns:**
  a URI

#### *property* name

#### resolve_delegation(ctx) → [bool](fiftyone.core.stages.md#fiftyone.core.stages.Exists.bool) | None

Returns the resolved *forced* delegation flag.

Subclasses can implement this method to decide if delegated execution
should be *forced* for the given operation.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  whether the operation should be delegated (True), run immediately
  (False), or None to defer to [`resolve_execution_options()`](#fiftyone.operators.PipelineOperator.resolve_execution_options) to
  specify the available options

#### resolve_execution_options(ctx)

Returns the resolved execution options.

Subclasses can implement this method to define the execution options
available for the operation.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a [`fiftyone.operators.executor.ExecutionOptions`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionOptions) instance

#### resolve_input(ctx) → [Property](fiftyone.operators.types.md#fiftyone.operators.types.Property) | None

Returns the resolved input property.

Subclasses can implement this method to define the inputs to the
operator. This method should never be called directly. Instead
use [`resolve_type()`](#fiftyone.operators.PipelineOperator.resolve_type).

By default, this method is called once when the operator is created.
If the operator is dynamic, this method is called each time the input
changes.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a [`fiftyone.operators.types.Property`](fiftyone.operators.types.md#fiftyone.operators.types.Property), or None

#### resolve_output(ctx)

Returns the resolved output property.

Subclasses can implement this method to define the outputs of the
operator.

By default, this method is called once when the operator is created.
If the operator is dynamic, this method is called after the operator is
executed.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a [`fiftyone.operators.types.Property`](fiftyone.operators.types.md#fiftyone.operators.types.Property), or None

#### resolve_placement(ctx)

Returns the resolved placement of the operator.

Subclasses can implement this method to define the placement of the
operator.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a [`fiftyone.operators.types.Placement`](fiftyone.operators.types.md#fiftyone.operators.types.Placement), or None

#### resolve_run_name(ctx)

Returns the resolved run name of the operator.

Subclasses can implement this method to define the run name of the
operator.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a string, or None

#### resolve_type(ctx, type)

Returns the resolved input or output property.

* **Parameters:**
  * **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
  * **type** – the type of property to resolve, either `"inputs"` or
    `"outputs"`
* **Returns:**
  a [`fiftyone.operators.types.Property`](fiftyone.operators.types.md#fiftyone.operators.types.Property), or None

#### *property* risk_level

The effective risk level of the operator, which is used by guardrail
systems of an agent to classify tool calls.

#### to_json()

Returns a JSON representation of the operator.

* **Returns:**
  a JSON dict

#### *property* uri

The unique identifier of the operator:
`plugin_name/operator_name`.

### *class* fiftyone.operators.OperatorRegistry(enabled=True)

Bases: `object`

Operator registry.

enabled (True): whether to include only enabled operators (True) or
: only disabled operators (False) or all operators (“all”)

**Methods:**

| [`list_operators`](#fiftyone.operators.OperatorRegistry.list_operators)([builtin, type])   | Lists the available FiftyOne operators.                 |
|--------------------------------------------------------------------------------------------|---------------------------------------------------------|
| [`list_errors`](#fiftyone.operators.OperatorRegistry.list_errors)()                        | Lists the errors that occurred during operator loading. |
| [`operator_exists`](#fiftyone.operators.OperatorRegistry.operator_exists)(operator_uri)    | Checks if the operator exists.                          |
| [`can_execute`](#fiftyone.operators.OperatorRegistry.can_execute)(operator_uri)            | Whether the operator can be executed.                   |
| [`get_operator`](#fiftyone.operators.OperatorRegistry.get_operator)(operator_uri)          | Retrieves an operator by its URI.                       |

#### list_operators(builtin=None, type=None)

Lists the available FiftyOne operators.

* **Parameters:**
  * **builtin** (*None*) – whether to include only builtin operators (True) or
    only non-builtin operators (False)
  * **type** (*None*) – whether to include only `"panel"` or `"operator"`
    type operators, or a specific
    [`fiftyone.operators.Operator`](#fiftyone.operators.Operator) subclass to restrict to
* **Returns:**
  a list of [`fiftyone.operators.Operator`](#fiftyone.operators.Operator) instances

#### list_errors()

Lists the errors that occurred during operator loading.

* **Returns:**
  a list of errors

#### operator_exists(operator_uri)

Checks if the operator exists.

* **Parameters:**
  **operator_uri** – the URI of the operator
* **Returns:**
  True/False

#### can_execute(operator_uri)

Whether the operator can be executed.

* **Parameters:**
  **operator_uri** – the URI of the operator
* **Returns:**
  True/False

#### get_operator(operator_uri)

Retrieves an operator by its URI.

* **Parameters:**
  **operator_uri** – the URI of an operator
* **Returns:**
  an [`fiftyone.operators.Operator`](#fiftyone.operators.Operator), or None

### fiftyone.operators.get_operator(operator_uri, enabled=True)

Gets the operator with the given URI.

* **Parameters:**
  * **operator_uri** – the operator URI
  * **enabled** (*True*) – whether to include only enabled operators (True) or
    only disabled operators (False) or all operators (“all”)
* **Returns:**
  an [`fiftyone.operators.Operator`](#fiftyone.operators.Operator)
* **Raises:**
  **ValueError** – if the operator is not found

### fiftyone.operators.list_operators(enabled=True, builtin='all', type=None)

Returns all available operators.

* **Parameters:**
  * **enabled** (*True*) – whether to include only enabled operators (True) or
    only disabled operators (False) or all operators (“all”)
  * **builtin** ( *"all"*) – whether to include only builtin operators (True) or
    only non-builtin operators (False) or all operators (“all”)
  * **type** (*None*) – whether to include only `"panel"` or `"operator"` type
    operators, or a specific [`fiftyone.operators.Operator`](#fiftyone.operators.Operator)
    subclass to restrict to
* **Returns:**
  a list of [`fiftyone.operators.Operator`](#fiftyone.operators.Operator) instances

### fiftyone.operators.operator_exists(operator_uri, enabled=True)

Checks if the given operator exists.

* **Parameters:**
  * **operator_uri** – the operator URI
  * **enabled** (*True*) – whether to include only enabled operators (True) or
    only disabled operators (False) or all operators (“all”)
* **Returns:**
  True/False

### *class* fiftyone.operators.ViewTarget

Bases: `object`

Choices for target view that an operator should operate on

See [`fiftyone.operators.types.ViewTargetProperty()`](fiftyone.operators.types.md#fiftyone.operators.types.ViewTargetProperty) for details.

**Attributes:**

| [`BASE_VIEW`](#fiftyone.operators.ViewTarget.BASE_VIEW)                   | Base view from which a generated view was created   |
|---------------------------------------------------------------------------|-----------------------------------------------------|
| [`CURRENT_VIEW`](#fiftyone.operators.ViewTarget.CURRENT_VIEW)             | Current view in the app                             |
| [`DATASET`](#fiftyone.operators.ViewTarget.DATASET)                       | Entire dataset                                      |
| [`DATASET_VIEW`](#fiftyone.operators.ViewTarget.DATASET_VIEW)             | Empty dataset view, i.e., `ctx.dataset.view()`.     |
| [`SELECTED_LABELS`](#fiftyone.operators.ViewTarget.SELECTED_LABELS)       | Selected labels in the app view, if any.            |
| [`SELECTED_SAMPLES`](#fiftyone.operators.ViewTarget.SELECTED_SAMPLES)     | Selected samples in the app view, if any.           |
| [`CUSTOM_VIEW_TARGET`](#fiftyone.operators.ViewTarget.CUSTOM_VIEW_TARGET) | Custom view target specified by the caller.         |

**Methods:**

| [`values`](#fiftyone.operators.ViewTarget.values)()   | Returns all [`ViewTarget`](#fiftyone.operators.ViewTarget) values.   |
|-------------------------------------------------------|----------------------------------------------------------------------|

#### BASE_VIEW *= 'BASE_VIEW'*

Base view from which a generated view was created

If the current view is a generated view such as
[`fiftyone.core.clips.ClipsView`](fiftyone.core.clips.md#fiftyone.core.clips.ClipsView),
[`fiftyone.core.video.FramesView`](fiftyone.core.video.md#fiftyone.core.video.FramesView), or
[`fiftyone.core.patches.PatchesView`](fiftyone.core.patches.md#fiftyone.core.patches.PatchesView)), base view is the semantic
equivalent of “entire dataset” for these views. The base view is the
view from which the generated view was created. For example,
`dataset.limit(51).to_frames("ground_truth").limit(10)` has a base
view of `dataset.limit(51).to_frames("ground_truth")`

#### CURRENT_VIEW *= 'CURRENT_VIEW'*

Current view in the app

#### DATASET *= 'DATASET'*

Entire dataset

#### DATASET_VIEW *= 'DATASET_VIEW'*

Empty dataset view, i.e., `ctx.dataset.view()`.

Note: unlikely to be useful in the typical case.

#### SELECTED_LABELS *= 'SELECTED_LABELS'*

Selected labels in the app view, if any.

#### SELECTED_SAMPLES *= 'SELECTED_SAMPLES'*

Selected samples in the app view, if any.

#### CUSTOM_VIEW_TARGET *= 'CUSTOM_VIEW_TARGET'*

Custom view target specified by the caller.

When using this option, specify ‘custom_view_target’ in the
operator parameters with a list of JSON-serialized view stages to apply.

#### *classmethod* values()

Returns all [`ViewTarget`](#fiftyone.operators.ViewTarget) values.

### *class* fiftyone.operators.EvaluationMetricConfig(name, label=None, description=None, eval_types=None, aggregate_key=None, lower_is_better=True, \*\*kwargs)

Bases: [`OperatorConfig`](fiftyone.operators.operator.md#fiftyone.operators.operator.OperatorConfig)

Configuration class for evaluation metrics.

* **Parameters:**
  * **name** – the name of the evaluation metric
  * **label** ([*name*](fiftyone.core.annotation.attributes.md#fiftyone.core.annotation.attributes.AttributeSpec.name)) – a label for the evaluation metric
  * **description** (*None*) – a description of the evaluation metric
  * **eval_types** (*None*) – an optional list of evaluation method types that
    this metric supports
  * **aggregate_key** (*None*) – an optional key under which to store the metric’s
    aggregate value. This is used, for example, by
    [`metrics()`](fiftyone.utils.eval.base.md#fiftyone.utils.eval.base.BaseEvaluationResults.metrics).
    By default, the metric’s `name` is used as its key
  * **lower_is_better** (*True*) – whether lower values of the metric are better
  * **\*\*kwargs** – other kwargs for [`fiftyone.operators.OperatorConfig`](#fiftyone.operators.OperatorConfig)

**Attributes:**

| [`risk_level`](#fiftyone.operators.EvaluationMetricConfig.risk_level)   | The declared `RiskLevel` for this operator.   |
|-------------------------------------------------------------------------|-----------------------------------------------|

**Methods:**

| [`to_json`](#fiftyone.operators.EvaluationMetricConfig.to_json)()   |    |
|---------------------------------------------------------------------|----|

#### *property* risk_level

The declared `RiskLevel` for this operator.

#### to_json()

### *class* fiftyone.operators.EvaluationMetric(\_builtin=False)

Bases: [`Operator`](fiftyone.operators.operator.md#fiftyone.operators.operator.Operator)

Base class for evaluation metric operators.

**Methods:**

| [`resolve_input`](#fiftyone.operators.EvaluationMetric.resolve_input)(ctx)                         | Defines any necessary properties to collect this evaluation metric's parameters from a user during prompting.   |
|----------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|
| [`parse_parameters`](#fiftyone.operators.EvaluationMetric.parse_parameters)(ctx, params)           | Performs any necessary execution-time formatting to this evaluation metric's parameters.                        |
| [`compute`](#fiftyone.operators.EvaluationMetric.compute)(samples, results, \*\*kwargs)            | Computes the evaluation metric for the given collection.                                                        |
| [`get_fields`](#fiftyone.operators.EvaluationMetric.get_fields)(samples, config, eval_key)         | Lists the fields that were populated by the evaluation metric with the given key, if any.                       |
| [`rename`](#fiftyone.operators.EvaluationMetric.rename)(samples, config, eval_key, new_eval_key)   | Performs any necessary operations required to rename this evaluation metric's key.                              |
| [`cleanup`](#fiftyone.operators.EvaluationMetric.cleanup)(samples, config, eval_key)               | Cleans up the results of the evaluation metric with the given key from the collection.                          |
| [`add_secrets`](#fiftyone.operators.EvaluationMetric.add_secrets)(secrets)                         | Adds secrets to the operator.                                                                                   |
| [`execute`](#fiftyone.operators.EvaluationMetric.execute)(ctx)                                     | Executes the operator.                                                                                          |
| [`method_to_uri`](#fiftyone.operators.EvaluationMetric.method_to_uri)(method_name)                 | Converts a method name to a URI.                                                                                |
| [`resolve_delegation`](#fiftyone.operators.EvaluationMetric.resolve_delegation)(ctx)               | Returns the resolved *forced* delegation flag.                                                                  |
| [`resolve_execution_options`](#fiftyone.operators.EvaluationMetric.resolve_execution_options)(ctx) | Returns the resolved execution options.                                                                         |
| [`resolve_output`](#fiftyone.operators.EvaluationMetric.resolve_output)(ctx)                       | Returns the resolved output property.                                                                           |
| [`resolve_placement`](#fiftyone.operators.EvaluationMetric.resolve_placement)(ctx)                 | Returns the resolved placement of the operator.                                                                 |
| [`resolve_run_name`](#fiftyone.operators.EvaluationMetric.resolve_run_name)(ctx)                   | Returns the resolved run name of the operator.                                                                  |
| [`resolve_type`](#fiftyone.operators.EvaluationMetric.resolve_type)(ctx, type)                     | Returns the resolved input or output property.                                                                  |
| [`to_json`](#fiftyone.operators.EvaluationMetric.to_json)()                                        | Returns a JSON representation of the operator.                                                                  |

**Attributes:**

| [`builtin`](#fiftyone.operators.EvaluationMetric.builtin)       | Whether the operator is builtin.                                                                                 |
|-----------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------|
| [`config`](#fiftyone.operators.EvaluationMetric.config)         | The [`OperatorConfig`](#fiftyone.operators.OperatorConfig) for the operator.                                     |
| [`name`](#fiftyone.operators.EvaluationMetric.name)             |                                                                                                                  |
| [`risk_level`](#fiftyone.operators.EvaluationMetric.risk_level) | The effective risk level of the operator, which is used by guardrail systems of an agent to classify tool calls. |
| [`uri`](#fiftyone.operators.EvaluationMetric.uri)               | The unique identifier of the operator: `plugin_name/operator_name`.                                              |

#### resolve_input(ctx)

Defines any necessary properties to collect this evaluation metric’s
parameters from a user during prompting.

* **Parameters:**
  **ctx** – an [`fiftyone.operators.ExecutionContext`](#fiftyone.operators.ExecutionContext)
* **Returns:**
  a [`fiftyone.operators.types.Property`](fiftyone.operators.types.md#fiftyone.operators.types.Property), or None

#### parse_parameters(ctx, params)

Performs any necessary execution-time formatting to this evaluation
metric’s parameters.

* **Parameters:**
  * **ctx** – an [`fiftyone.operators.ExecutionContext`](#fiftyone.operators.ExecutionContext)
  * **params** – a params dict

#### compute(samples, results, \*\*kwargs)

Computes the evaluation metric for the given collection.

* **Parameters:**
  * **samples** – a [`fiftyone.core.collections.SampleCollection`](fiftyone.core.collections.md#fiftyone.core.collections.SampleCollection)
  * **results** – an [`fiftyone.core.evaluation.EvaluationResults`](fiftyone.core.evaluation.md#fiftyone.core.evaluation.EvaluationResults)
  * **\*\*kwargs** – arbitrary metric-specific parameters
* **Returns:**
  an optional aggregate metric value to store on the results

#### get_fields(samples, config, eval_key)

Lists the fields that were populated by the evaluation metric with
the given key, if any.

* **Parameters:**
  * **samples** – a [`fiftyone.core.collections.SampleCollection`](fiftyone.core.collections.md#fiftyone.core.collections.SampleCollection)
  * **config** – an [`fiftyone.core.evaluation.EvaluationMethodConfig`](fiftyone.core.evaluation.md#fiftyone.core.evaluation.EvaluationMethodConfig)
  * **eval_key** – an evaluation key
* **Returns:**
  a list of fields

#### rename(samples, config, eval_key, new_eval_key)

Performs any necessary operations required to rename this evaluation
metric’s key.

* **Parameters:**
  * **samples** – a [`fiftyone.core.collections.SampleCollection`](fiftyone.core.collections.md#fiftyone.core.collections.SampleCollection)
  * **config** – an [`fiftyone.core.evaluation.EvaluationMethodConfig`](fiftyone.core.evaluation.md#fiftyone.core.evaluation.EvaluationMethodConfig)
  * **eval_key** – an evaluation key
  * **new_eval_key** – a new evaluation key

#### cleanup(samples, config, eval_key)

Cleans up the results of the evaluation metric with the given key
from the collection.

* **Parameters:**
  * **samples** – a [`fiftyone.core.collections.SampleCollection`](fiftyone.core.collections.md#fiftyone.core.collections.SampleCollection)
  * **config** – an [`fiftyone.core.evaluation.EvaluationMethodConfig`](fiftyone.core.evaluation.md#fiftyone.core.evaluation.EvaluationMethodConfig)
  * **eval_key** – an evaluation key

#### add_secrets(secrets)

Adds secrets to the operator.

* **Parameters:**
  **secrets** – a list of secrets

#### *property* builtin

Whether the operator is builtin.

#### *property* config

The [`OperatorConfig`](#fiftyone.operators.OperatorConfig) for the operator.

#### execute(ctx)

Executes the operator.

Subclasses must implement this method.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  JSON serializable data, or None

#### method_to_uri(method_name)

Converts a method name to a URI.

* **Parameters:**
  **method_name** – the method name
* **Returns:**
  a URI

#### *property* name

#### resolve_delegation(ctx) → [bool](fiftyone.core.stages.md#fiftyone.core.stages.Exists.bool) | None

Returns the resolved *forced* delegation flag.

Subclasses can implement this method to decide if delegated execution
should be *forced* for the given operation.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  whether the operation should be delegated (True), run immediately
  (False), or None to defer to [`resolve_execution_options()`](#fiftyone.operators.EvaluationMetric.resolve_execution_options) to
  specify the available options

#### resolve_execution_options(ctx)

Returns the resolved execution options.

Subclasses can implement this method to define the execution options
available for the operation.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a [`fiftyone.operators.executor.ExecutionOptions`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionOptions) instance

#### resolve_output(ctx)

Returns the resolved output property.

Subclasses can implement this method to define the outputs of the
operator.

By default, this method is called once when the operator is created.
If the operator is dynamic, this method is called after the operator is
executed.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a [`fiftyone.operators.types.Property`](fiftyone.operators.types.md#fiftyone.operators.types.Property), or None

#### resolve_placement(ctx)

Returns the resolved placement of the operator.

Subclasses can implement this method to define the placement of the
operator.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a [`fiftyone.operators.types.Placement`](fiftyone.operators.types.md#fiftyone.operators.types.Placement), or None

#### resolve_run_name(ctx)

Returns the resolved run name of the operator.

Subclasses can implement this method to define the run name of the
operator.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a string, or None

#### resolve_type(ctx, type)

Returns the resolved input or output property.

* **Parameters:**
  * **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
  * **type** – the type of property to resolve, either `"inputs"` or
    `"outputs"`
* **Returns:**
  a [`fiftyone.operators.types.Property`](fiftyone.operators.types.md#fiftyone.operators.types.Property), or None

#### *property* risk_level

The effective risk level of the operator, which is used by guardrail
systems of an agent to classify tool calls.

#### to_json()

Returns a JSON representation of the operator.

* **Returns:**
  a JSON dict

#### *property* uri

The unique identifier of the operator:
`plugin_name/operator_name`.

### fiftyone.operators.execute_operator(operator_uri, ctx=None, \*\*kwargs)

Executes the operator with the given name.

* **Parameters:**
  * **operator_uri** – the URI of the operator
  * **ctx** (*None*) – 

    a dictionary of parameters defining the execution context.
    The supported keys are:
    - `dataset`: a [`fiftyone.core.dataset.Dataset`](fiftyone.core.dataset.md#fiftyone.core.dataset.Dataset) or the
      name of a dataset to process. This is required unless a
      `view` is provided
    - `view` (None): an optional
      [`fiftyone.core.view.DatasetView`](fiftyone.core.view.md#fiftyone.core.view.DatasetView) to process
    - `selected` ([]): an optional list of selected sample IDs
    - `selected_labels` ([]): an optional list of selected labels
      in the format returned by
      [`fiftyone.core.session.Session.selected_labels`](fiftyone.core.session.md#fiftyone.core.session.Session.selected_labels)
    - `current_sample` (None): an optional ID of the current sample
      being processed
    - `extended_selection` (None): an optional extended selection
      of the view.
    - `params`: a dictionary of parameters for the operator.
      Consult the operator’s documentation for details
    - `request_delegation` (False): whether to request delegated
      execution, if supported by the operator
    - `delegation_target` (None): an optional orchestrator on which
      to schedule the operation, if it is delegated
    - `active_fields` ([]): a list of active field names
    - `workspace_name` (None): an optional name of the workspace
      to use for the operation
    - `spaces` (None): an optional dictionary defining spaces to
      use for the operation
    - `group_slice` (None): an optional group slice to use for the
      operation’s view. This is only applicable to group datasets
    - `query_performance` (None): whether to enable query
      performance

    > - `num_distributed_tasks` (None): the number of tasks to split

    > > the operation into, if it is delegated.
  * **\*\*kwargs** – you can optionally provide any of the supported `ctx` keys
    as keyword arguments rather than including them in `ctx`
* **Returns:**
  an `ExecutionResult`, or an `asyncio.Task` if you run this
  method in a notebook context
* **Raises:**
  [**ExecutionError**](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionError) – if an error occurred while immediately executing an
      operation or scheduling a delegated operation

### *class* fiftyone.operators.ExecutionContext(request_params=None, executor=None, set_progress=None, delegated_operation_id=None, operator_uri=None, required_secrets=None, pipeline=None)

Bases: `AbstractContextManager`

Represents the execution context of an operator.

Operators can use the execution context to access the view, dataset, and
selected samples, as well as to trigger other operators.

* **Parameters:**
  * **request_params** (*None*) – an optional dictionary of request parameters
  * **executor** (*None*) – an optional `Executor` instance
  * **set_progress** (*None*) – an optional function to set the progress of the
    current operation
  * **delegated_operation_id** (*None*) – an optional ID of the delegated
    operation
  * **operator_uri** (*None*) – the unique id of the operator
  * **required_secrets** (*None*) – the list of required secrets from the
    plugin’s definition
  * **pipeline** (*None*) – an optional `PipelineExecutionContext` with
    information about the current pipeline execution, if this operator
    is being executed as part of a pipeline

**Attributes:**

| [`dataset`](#fiftyone.operators.ExecutionContext.dataset)                                               | The [`fiftyone.core.dataset.Dataset`](fiftyone.core.dataset.md#fiftyone.core.dataset.Dataset) being operated on.                                                                                          |
|---------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [`dataset_name`](#fiftyone.operators.ExecutionContext.dataset_name)                                     | The name of the [`fiftyone.core.dataset.Dataset`](fiftyone.core.dataset.md#fiftyone.core.dataset.Dataset) being operated on.                                                                              |
| [`dataset_id`](#fiftyone.operators.ExecutionContext.dataset_id)                                         | The ID of the [`fiftyone.core.dataset.Dataset`](fiftyone.core.dataset.md#fiftyone.core.dataset.Dataset) being operated on.                                                                                |
| [`view`](#fiftyone.operators.ExecutionContext.view)                                                     | The [`fiftyone.core.view.DatasetView`](fiftyone.core.view.md#fiftyone.core.view.DatasetView) being operated on.                                                                                           |
| [`has_custom_view`](#fiftyone.operators.ExecutionContext.has_custom_view)                               | Whether the operator has a custom view.                                                                                                                                                                   |
| [`spaces`](#fiftyone.operators.ExecutionContext.spaces)                                                 | The current spaces layout in the FiftyOne App.                                                                                                                                                            |
| [`selected`](#fiftyone.operators.ExecutionContext.selected)                                             | The list of selected IDs (if any).                                                                                                                                                                        |
| [`selected_samples`](#fiftyone.operators.ExecutionContext.selected_samples)                             | A list of selected sample dicts, if any.                                                                                                                                                                  |
| [`sample_selection_style`](#fiftyone.operators.ExecutionContext.sample_selection_style)                 | The current sample grid selection style config, if any.                                                                                                                                                   |
| [`label_selection_style`](#fiftyone.operators.ExecutionContext.label_selection_style)                   | The current label selection style config (if any).                                                                                                                                                        |
| [`selected_labels`](#fiftyone.operators.ExecutionContext.selected_labels)                               | A list of selected labels (if any).                                                                                                                                                                       |
| [`extended_selection`](#fiftyone.operators.ExecutionContext.extended_selection)                         | The extended selection of the view (if any).                                                                                                                                                              |
| [`current_sample`](#fiftyone.operators.ExecutionContext.current_sample)                                 | The ID of the current sample being processed (if any).                                                                                                                                                    |
| [`active_fields`](#fiftyone.operators.ExecutionContext.active_fields)                                   | The list of currently active fields in the FiftyOne App sidebar.                                                                                                                                          |
| [`active_media_type`](#fiftyone.operators.ExecutionContext.active_media_type)                           | The media type being processed, accounting for the active group slice of grouped datasets.                                                                                                                |
| [`user_id`](#fiftyone.operators.ExecutionContext.user_id)                                               | The ID of the user executing the operation, if known.                                                                                                                                                     |
| [`user_request_token`](#fiftyone.operators.ExecutionContext.user_request_token)                         | The request token authenticating the user executing the operation, if known.                                                                                                                              |
| [`panel_id`](#fiftyone.operators.ExecutionContext.panel_id)                                             | The ID of the panel that invoked the operator, if any.                                                                                                                                                    |
| [`panel_state`](#fiftyone.operators.ExecutionContext.panel_state)                                       | The current panel state.                                                                                                                                                                                  |
| [`panel`](#fiftyone.operators.ExecutionContext.panel)                                                   | A [`fiftyone.operators.panel.PanelRef`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRef) instance that you can use to read and write the state and data of the current panel.               |
| [`delegated`](#fiftyone.operators.ExecutionContext.delegated)                                           | Whether the operation was delegated.                                                                                                                                                                      |
| [`requesting_delegated_execution`](#fiftyone.operators.ExecutionContext.requesting_delegated_execution) | Whether delegated execution was requested for the operation.                                                                                                                                              |
| [`delegation_target`](#fiftyone.operators.ExecutionContext.delegation_target)                           | The orchestrator to which the operation was delegated (if any).                                                                                                                                           |
| [`results`](#fiftyone.operators.ExecutionContext.results)                                               | A `dict` of results for the current operation.                                                                                                                                                            |
| [`secrets`](#fiftyone.operators.ExecutionContext.secrets)                                               | A read-only mapping of keys to their resolved values.                                                                                                                                                     |
| [`ops`](#fiftyone.operators.ExecutionContext.ops)                                                       | A [`fiftyone.operators.operations.Operations`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations) instance that you can use to trigger builtin operations on the current context. |
| [`group_slice`](#fiftyone.operators.ExecutionContext.group_slice)                                       | The current group slice of the view (if any).                                                                                                                                                             |
| [`num_distributed_tasks`](#fiftyone.operators.ExecutionContext.num_distributed_tasks)                   | The number of tasks this job should be split into.                                                                                                                                                        |
| [`query_performance`](#fiftyone.operators.ExecutionContext.query_performance)                           | Whether query performance is enabled.                                                                                                                                                                     |
| [`prompt_id`](#fiftyone.operators.ExecutionContext.prompt_id)                                           | An identifier for the prompt, unique to each instance of a user opening a prompt in the FiftyOne App.                                                                                                     |
| [`operator_uri`](#fiftyone.operators.ExecutionContext.operator_uri)                                     | The URI of the target operator.                                                                                                                                                                           |

**Methods:**

| [`target_view`](#fiftyone.operators.ExecutionContext.target_view)([param_name, require_flat])                       | The target view for the operator being executed.                                                                                                                                               |
|---------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [`get_unavailable_view_targets`](#fiftyone.operators.ExecutionContext.get_unavailable_view_targets)([require_flat]) | The view targets that this operation cannot process, mapped to the reason why.                                                                                                                 |
| [`view_target`](#fiftyone.operators.ExecutionContext.view_target)([param_name, require_flat])                       | The target view for the operator being executed.                                                                                                                                               |
| [`flatten_group_slices`](#fiftyone.operators.ExecutionContext.flatten_group_slices)([sample_collection, ...])       | Flattens the given grouped collection to the requested slices, or to the active group slice if none are requested.                                                                             |
| [`get_group_slice_scopes`](#fiftyone.operators.ExecutionContext.get_group_slice_scopes)([sample_collection, ...])   | Returns short descriptions of the slice(s) that view-based targets and the dataset target resolve to, so that operator forms and panels can surface the default behavior for grouped datasets. |
| [`prompt`](#fiftyone.operators.ExecutionContext.prompt)(operator_uri[, params, on_success, ...])                    | Prompts the user to execute the operator with the given URI.                                                                                                                                   |
| [`secret`](#fiftyone.operators.ExecutionContext.secret)(key)                                                        | Retrieves the secret with the given key.                                                                                                                                                       |
| [`resolve_secret_values`](#fiftyone.operators.ExecutionContext.resolve_secret_values)(keys, \*\*kwargs)             | Resolves the values of the given secrets keys.                                                                                                                                                 |
| [`trigger`](#fiftyone.operators.ExecutionContext.trigger)(operator_name[, params])                                  | Triggers an invocation of the operator with the given name.                                                                                                                                    |
| [`log`](#fiftyone.operators.ExecutionContext.log)(message)                                                          | Logs a message to the browser console.                                                                                                                                                         |
| [`set_progress`](#fiftyone.operators.ExecutionContext.set_progress)([progress, label])                              | Sets the progress of the current operation.                                                                                                                                                    |
| [`store`](#fiftyone.operators.ExecutionContext.store)(store_name)                                                   | Retrieves the execution store with the given name.                                                                                                                                             |
| [`serialize`](#fiftyone.operators.ExecutionContext.serialize)()                                                     | Serializes the execution context.                                                                                                                                                              |
| [`to_dict`](#fiftyone.operators.ExecutionContext.to_dict)()                                                         | Returns the properties of the execution context as a dict.                                                                                                                                     |

#### *property* dataset

The [`fiftyone.core.dataset.Dataset`](fiftyone.core.dataset.md#fiftyone.core.dataset.Dataset) being operated on.

#### *property* dataset_name

The name of the [`fiftyone.core.dataset.Dataset`](fiftyone.core.dataset.md#fiftyone.core.dataset.Dataset) being
operated on.

#### *property* dataset_id

The ID of the [`fiftyone.core.dataset.Dataset`](fiftyone.core.dataset.md#fiftyone.core.dataset.Dataset) being operated
on.

#### *property* view

The [`fiftyone.core.view.DatasetView`](fiftyone.core.view.md#fiftyone.core.view.DatasetView) being operated on.

#### target_view(param_name='view_target', require_flat=False)

The target view for the operator being executed.

* **Parameters:**
  * **param_name** ( *"view_target"*) – the name of the enum parameter defining
    the target view choice
  * **require_flat** (*False*) – whether the operation requires a flattened
    (non-grouped) collection. When `False`, grouped collections
    are returned as-is. When `True`, grouped collections are
    flattened to the current active slice
* **Returns:**
  a [`fiftyone.core.collections.SampleCollection`](fiftyone.core.collections.md#fiftyone.core.collections.SampleCollection)

#### get_unavailable_view_targets(require_flat=False)

The view targets that this operation cannot process, mapped to the
reason why.

Targets that resolve to a grouped collection are unavailable to
operations that require a flattened one, so that panels and operator
forms can offer them with an explanation rather than fail at execution.

Every known target is considered, so the result may name targets that
the caller does not offer.

* **Parameters:**
  **require_flat** (*False*) – whether the operation requires a flattened
  (non-grouped) collection
* **Returns:**
  a dict mapping view targets to reasons

#### view_target(param_name='view_target', require_flat=False)

The target view for the operator being executed.

* **Parameters:**
  * **param_name** ( *"view_target"*) – the name of the enum parameter defining
    the target view choice
  * **require_flat** (*False*) – whether the operation requires a flattened
    (non-grouped) collection. When `False`, grouped collections
    are returned as-is. When `True`, grouped collections are
    flattened to the current active slice
* **Returns:**
  a [`fiftyone.core.collections.SampleCollection`](fiftyone.core.collections.md#fiftyone.core.collections.SampleCollection)

#### flatten_group_slices(sample_collection=None, slices=None, media_type=None)

Flattens the given grouped collection to the requested slices, or
to the active group slice if none are requested.

Non-grouped collections and views that already select slices are
returned as-is.

* **Parameters:**
  * **sample_collection** (*None*) – the
    [`fiftyone.core.collections.SampleCollection`](fiftyone.core.collections.md#fiftyone.core.collections.SampleCollection) to flatten.
    By default, the dataset is used
  * **slices** (*None*) – the group slice(s) to flatten to, as accepted by
    [`select_group_slices()`](fiftyone.core.collections.md#fiftyone.core.collections.SampleCollection.select_group_slices)
  * **media_type** (*None*) – the group slice media type(s) to flatten to, as
    accepted by [`select_group_slices()`](fiftyone.core.collections.md#fiftyone.core.collections.SampleCollection.select_group_slices)
* **Returns:**
  a [`fiftyone.core.collections.SampleCollection`](fiftyone.core.collections.md#fiftyone.core.collections.SampleCollection)

#### get_group_slice_scopes(sample_collection=None, require_flat=False)

Returns short descriptions of the slice(s) that view-based
targets and the dataset target resolve to, so that operator forms
and panels can surface the default behavior for grouped datasets.

* **Parameters:**
  * **sample_collection** (*None*) – the
    [`fiftyone.core.collections.SampleCollection`](fiftyone.core.collections.md#fiftyone.core.collections.SampleCollection) to
    describe. By default, the current view is used
  * **require_flat** (*False*) – whether the operation requires a
    flattened (non-grouped) collection
* **Returns:**
  a `(view_scope, dataset_scope)` tuple of descriptions, or
  `(None, None)` if the collection is not grouped or already
  selects its own slices

#### *property* has_custom_view

Whether the operator has a custom view.

#### *property* spaces

The current spaces layout in the FiftyOne App.

#### *property* selected

The list of selected IDs (if any).

Derived from [`selected_samples`](#fiftyone.operators.ExecutionContext.selected_samples) when available, otherwise
falls back to `request_params["selected"]`.

#### *property* selected_samples

A list of selected sample dicts, if any.

Each dict has `id` and `type` (`"default"` or `"alt"`),
where type corresponds to a key in [`sample_selection_style`](#fiftyone.operators.ExecutionContext.sample_selection_style).

Despite its name, `selected_samples` represents whatever sample grid
items are in the current view: samples, patches, clips, or frames.

#### *property* sample_selection_style

The current sample grid selection style config, if any.

A dict with a `default` key and optional `alt` key specifying
icon styles.

#### *property* label_selection_style

The current label selection style config (if any).

A dict with a `default` key and optional `alt` key specifying
label selection visual styles.

#### *property* selected_labels

A list of selected labels (if any).

Items are dictionaries with the following keys:

- `label_id`: the ID of the label
- `sample_id`: the ID of the sample containing the label
- `field`: the field name containing the label
- `frame_number`: the frame number containing the label (only
  applicable to video samples)
- `type`: the selection type (`"default"` or `"alt"`)

#### *property* extended_selection

The extended selection of the view (if any).

#### *property* current_sample

The ID of the current sample being processed (if any).

When executed via the FiftyOne App, this is set when the user opens a
sample in the modal.

#### *property* active_fields

The list of currently active fields in the FiftyOne App sidebar.

#### *property* active_media_type

The media type being processed, accounting for the active group
slice of grouped datasets.

#### *property* user_id

The ID of the user executing the operation, if known.

#### *property* user_request_token

The request token authenticating the user executing the operation,
if known.

#### *property* panel_id

The ID of the panel that invoked the operator, if any.

#### *property* panel_state

The current panel state.

Only available when the operator is invoked from a panel.

#### *property* panel

A [`fiftyone.operators.panel.PanelRef`](fiftyone.operators.panel.md#fiftyone.operators.panel.PanelRef) instance that you can
use to read and write the state and data of the current panel.

Only available when the operator is invoked from a panel.

#### *property* delegated

Whether the operation was delegated.

#### *property* requesting_delegated_execution

Whether delegated execution was requested for the operation.

#### *property* delegation_target

The orchestrator to which the operation was delegated (if any).

#### *property* results

A `dict` of results for the current operation.

#### *property* secrets

A read-only mapping of keys to their resolved values.

#### *property* ops

A [`fiftyone.operators.operations.Operations`](fiftyone.operators.operations.md#fiftyone.operators.operations.Operations) instance that
you can use to trigger builtin operations on the current context.

#### *property* group_slice

The current group slice of the view (if any).

#### *property* num_distributed_tasks

The number of tasks this job should be split into.

#### *property* query_performance

Whether query performance is enabled.

#### *property* prompt_id

An identifier for the prompt, unique to each instance of a user
opening a prompt in the FiftyOne App.

#### *property* operator_uri

The URI of the target operator.

#### prompt(operator_uri, params=None, on_success=None, on_error=None, skip_prompt=False)

Prompts the user to execute the operator with the given URI.

* **Parameters:**
  * **operator_uri** – the URI of the operator
  * **params** (*None*) – a dictionary of parameters for the operator
  * **on_success** (*None*) – a callback to invoke if the user successfully
    executes the operator
  * **on_error** (*None*) – a callback to invoke if the execution fails
  * **skip_prompt** (*False*) – whether to skip the prompt
* **Returns:**
  a [`fiftyone.operators.message.GeneratedMessage`](fiftyone.operators.message.md#fiftyone.operators.message.GeneratedMessage) containing
  instructions for the FiftyOne App to prompt the user

#### secret(key)

Retrieves the secret with the given key.

* **Parameters:**
  **key** – a secret key
* **Returns:**
  the secret value

#### *async* resolve_secret_values(keys, \*\*kwargs)

Resolves the values of the given secrets keys.

* **Parameters:**
  * **keys** – a list of secret keys
  * **\*\*kwargs** – additional keyword arguments to pass to the secrets
    client for authentication if required

#### trigger(operator_name, params=None)

Triggers an invocation of the operator with the given name.

This method is only available when the operator is invoked via the
FiftyOne App. You can check this via `ctx.executor`.

Example:

```default
def execute(self, ctx):
    # Trigger the `reload_dataset` operator after this operator
    # finishes executing
    ctx.trigger("reload_dataset")

    # Immediately trigger the `reload_dataset` operator while a
    # generator operator is executing
    yield ctx.trigger("reload_dataset")
```

* **Parameters:**
  * **operator_name** – the name of the operator
  * **params** (*None*) – a dictionary of parameters for the operator
* **Returns:**
  a [`fiftyone.operators.message.GeneratedMessage`](fiftyone.operators.message.md#fiftyone.operators.message.GeneratedMessage) containing
  instructions for the FiftyOne App to invoke the operator

#### log(message)

Logs a message to the browser console.

#### NOTE
This method is only available to non-delegated operators. You can
only use this method during the execution of an operator.

* **Parameters:**
  **message** – a message to log
* **Returns:**
  a [`fiftyone.operators.message.GeneratedMessage`](fiftyone.operators.message.md#fiftyone.operators.message.GeneratedMessage) containing
  instructions for the FiftyOne App to invoke the operator

#### set_progress(progress=None, label=None)

Sets the progress of the current operation.

* **Parameters:**
  * **progress** (*None*) – an optional float between 0 and 1 (0% to 100%)
  * **label** (*None*) – an optional label to display

#### store(store_name)

Retrieves the execution store with the given name.

The store is automatically created if necessary.

* **Parameters:**
  **store_name** – the name of the store
* **Returns:**
  a [`fiftyone.operators.store.ExecutionStore`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStore)

#### serialize()

Serializes the execution context.

* **Returns:**
  a JSON dict

#### to_dict()

Returns the properties of the execution context as a dict.

### *class* fiftyone.operators.ExecutionOptions(allow_immediate_execution=True, allow_delegated_execution=False, default_choice_to_delegated=False, allow_distributed_execution=False, min_distributed_tasks=2, max_distributed_tasks=None, recommended_distributed_tasks=None, \*\*\_)

Bases: `object`

Represents the execution options of an operation.

* **Parameters:**
  * **allow_immediate_execution** (*True*) – whether the operation can be executed
    immediately
  * **allow_delegated_execution** (*False*) – whether the operation can be
    delegated to an orchestrator
  * **default_choice_to_delegated** (*False*) – whether to default to delegated
    execution, if allowed
  * **allow_distributed_execution** (*False*) – whether the operator supports
    distributing delegated execution across parallel workers. Only
    valid for delegated operations.
  * **min_distributed_tasks** (*2*) – the minimum number of tasks that a distributed
    delegated operation can be split into. None means no limit.
    Only valid for distributed and delegated operations.
  * **max_distributed_tasks** (*None*) – the maximum number of tasks that a distributed
    delegated operation can be split into. None means no limit.
    Only valid for distributed and delegated operations.
  * **recommended_distributed_tasks** (*None*) – the recommended number of tasks
    that a distributed delegated operation should be split into. None
    means no recommendation. Only valid for distributed and delegated
    operations.

**Attributes:**

| [`allow_immediate_execution`](#fiftyone.operators.ExecutionOptions.allow_immediate_execution)                 |    |
|---------------------------------------------------------------------------------------------------------------|----|
| [`allow_delegated_execution`](#fiftyone.operators.ExecutionOptions.allow_delegated_execution)                 |    |
| [`allow_distributed_execution`](#fiftyone.operators.ExecutionOptions.allow_distributed_execution)             |    |
| [`default_choice_to_delegated`](#fiftyone.operators.ExecutionOptions.default_choice_to_delegated)             |    |
| [`min_distributed_tasks`](#fiftyone.operators.ExecutionOptions.min_distributed_tasks)                         |    |
| [`max_distributed_tasks`](#fiftyone.operators.ExecutionOptions.max_distributed_tasks)                         |    |
| [`recommended_distributed_tasks`](#fiftyone.operators.ExecutionOptions.recommended_distributed_tasks)         |    |
| [`available_orchestrators`](#fiftyone.operators.ExecutionOptions.available_orchestrators)                     |    |
| [`orchestrator_registration_enabled`](#fiftyone.operators.ExecutionOptions.orchestrator_registration_enabled) |    |

**Methods:**

| [`update`](#fiftyone.operators.ExecutionOptions.update)([available_orchestrators])   |    |
|--------------------------------------------------------------------------------------|----|
| [`to_dict`](#fiftyone.operators.ExecutionOptions.to_dict)()                          |    |

#### *property* allow_immediate_execution

#### *property* allow_delegated_execution

#### *property* allow_distributed_execution

#### *property* default_choice_to_delegated

#### *property* min_distributed_tasks

#### *property* max_distributed_tasks

#### *property* recommended_distributed_tasks

#### *property* available_orchestrators

#### *property* orchestrator_registration_enabled

#### update(available_orchestrators=None)

#### to_dict()

### *class* fiftyone.operators.ProgressHandler(ctx, logger=None, level=None)

Bases: `Handler`

A logging handler that reports all logging messages issued while the
handler’s context manager is active to the provided execution context’s
[`set_progress()`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext.set_progress)
method.

* **Parameters:**
  * **ctx** – an [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
  * **logger** (*None*) – a specific `logging.Logger` for which to report
    records. By default, the root logger is used
  * **level** (*None*) – an optional logging level above which to report records.
    By default, the logger’s effective level is used

**Methods:**

| [`emit`](#fiftyone.operators.ProgressHandler.emit)(record)                 | Do whatever it takes to actually log the specified logging record.   |
|----------------------------------------------------------------------------|----------------------------------------------------------------------|
| [`acquire`](#fiftyone.operators.ProgressHandler.acquire)()                 | Acquire the I/O thread lock.                                         |
| [`addFilter`](#fiftyone.operators.ProgressHandler.addFilter)(filter)       | Add the specified filter to this handler.                            |
| [`close`](#fiftyone.operators.ProgressHandler.close)()                     | Tidy up any resources used by the handler.                           |
| [`createLock`](#fiftyone.operators.ProgressHandler.createLock)()           | Acquire a thread lock for serializing access to the underlying I/O.  |
| [`filter`](#fiftyone.operators.ProgressHandler.filter)(record)             | Determine if a record is loggable by consulting all the filters.     |
| [`flush`](#fiftyone.operators.ProgressHandler.flush)()                     | Ensure all logging output has been flushed.                          |
| [`format`](#fiftyone.operators.ProgressHandler.format)(record)             | Format the specified record.                                         |
| [`get_name`](#fiftyone.operators.ProgressHandler.get_name)()               |                                                                      |
| [`handle`](#fiftyone.operators.ProgressHandler.handle)(record)             | Conditionally emit the specified logging record.                     |
| [`handleError`](#fiftyone.operators.ProgressHandler.handleError)(record)   | Handle errors which occur during an emit() call.                     |
| [`release`](#fiftyone.operators.ProgressHandler.release)()                 | Release the I/O thread lock.                                         |
| [`removeFilter`](#fiftyone.operators.ProgressHandler.removeFilter)(filter) | Remove the specified filter from this handler.                       |
| [`setFormatter`](#fiftyone.operators.ProgressHandler.setFormatter)(fmt)    | Set the formatter for this handler.                                  |
| [`setLevel`](#fiftyone.operators.ProgressHandler.setLevel)(level)          | Set the logging level of this handler.                               |
| [`set_name`](#fiftyone.operators.ProgressHandler.set_name)(name)           |                                                                      |

**Attributes:**

| [`name`](#fiftyone.operators.ProgressHandler.name)   |    |
|------------------------------------------------------|----|

#### emit(record)

Do whatever it takes to actually log the specified logging record.

This version is intended to be implemented by subclasses and so
raises a NotImplementedError.

#### acquire()

Acquire the I/O thread lock.

#### addFilter(filter)

Add the specified filter to this handler.

#### close()

Tidy up any resources used by the handler.

This version removes the handler from an internal map of handlers,
\_handlers, which is used for handler lookup by name. Subclasses
should ensure that this gets called from overridden close()
methods.

#### createLock()

Acquire a thread lock for serializing access to the underlying I/O.

#### filter(record)

Determine if a record is loggable by consulting all the filters.

The default is to allow the record to be logged; any filter can veto
this by returning a false value.
If a filter attached to a handler returns a log record instance,
then that instance is used in place of the original log record in
any further processing of the event by that handler.
If a filter returns any other true value, the original log record
is used in any further processing of the event by that handler.

If none of the filters return false values, this method returns
a log record.
If any of the filters return a false value, this method returns
a false value.

#### Versionchanged
Changed in version 3.2: Allow filters to be just callables.

#### Versionchanged
Changed in version 3.12: Allow filters to return a LogRecord instead of
modifying it in place.

#### flush()

Ensure all logging output has been flushed.

This version does nothing and is intended to be implemented by
subclasses.

#### format(record)

Format the specified record.

If a formatter is set, use it. Otherwise, use the default formatter
for the module.

#### get_name()

#### handle(record)

Conditionally emit the specified logging record.

Emission depends on filters which may have been added to the handler.
Wrap the actual emission of the record with acquisition/release of
the I/O thread lock.

Returns an instance of the log record that was emitted
if it passed all filters, otherwise a false value is returned.

#### handleError(record)

Handle errors which occur during an emit() call.

This method should be called from handlers when an exception is
encountered during an emit() call. If raiseExceptions is false,
exceptions get silently ignored. This is what is mostly wanted
for a logging system - most users will not care about errors in
the logging system, they are more interested in application errors.
You could, however, replace this with a custom handler if you wish.
The record which was being processed is passed in to this method.

#### *property* name

#### release()

Release the I/O thread lock.

#### removeFilter(filter)

Remove the specified filter from this handler.

#### setFormatter(fmt)

Set the formatter for this handler.

#### setLevel(level)

Set the logging level of this handler.  level must be an int or a str.

#### set_name(name)

### fiftyone.operators.is_new(release_date, days=30)

Determines if a feature is considered “new” based on its release date.

A feature is considered new if its release date is within the specified
number of days.

Examples:

```default
is_new("2024-11-09")
# True if today's date is within 30 days after 2024-11-09

is_new(datetime(2024, 11, 9), days=15)
# True if today's date is within 15 days after November 9, 2024

is_new("2024-10-01", days=45)
# False if today's date is more than 45 days after October 1, 2024
```

* **Parameters:**
  * **release_date** – 

    the release date of the feature, in one of the following
    formats:
    - a string in the format `"%Y-%m-%d"`, e.g., `"2024-11-09"`
    - a datetime instance
  * **days** (*30*) – the number of days for which the feature is considered new
* **Returns:**
  True/False whether the release date is within the specified number of
  days

### *class* fiftyone.operators.Panel(\_builtin=False)

Bases: [`Operator`](fiftyone.operators.operator.md#fiftyone.operators.operator.Operator)

A panel.

**Methods:**

| [`render`](#fiftyone.operators.Panel.render)(ctx)                                       | Defines the panel's layout and events.          |
|-----------------------------------------------------------------------------------------|-------------------------------------------------|
| [`resolve_input`](#fiftyone.operators.Panel.resolve_input)(ctx)                         | Returns the resolved input property.            |
| [`resolve_panel_config`](#fiftyone.operators.Panel.resolve_panel_config)()              | Returns the registration config for this panel. |
| [`on_startup`](#fiftyone.operators.Panel.on_startup)(ctx)                               |                                                 |
| [`on_load`](#fiftyone.operators.Panel.on_load)(ctx)                                     |                                                 |
| [`execute`](#fiftyone.operators.Panel.execute)(ctx)                                     | Executes the operator.                          |
| [`add_secrets`](#fiftyone.operators.Panel.add_secrets)(secrets)                         | Adds secrets to the operator.                   |
| [`method_to_uri`](#fiftyone.operators.Panel.method_to_uri)(method_name)                 | Converts a method name to a URI.                |
| [`resolve_delegation`](#fiftyone.operators.Panel.resolve_delegation)(ctx)               | Returns the resolved *forced* delegation flag.  |
| [`resolve_execution_options`](#fiftyone.operators.Panel.resolve_execution_options)(ctx) | Returns the resolved execution options.         |
| [`resolve_output`](#fiftyone.operators.Panel.resolve_output)(ctx)                       | Returns the resolved output property.           |
| [`resolve_placement`](#fiftyone.operators.Panel.resolve_placement)(ctx)                 | Returns the resolved placement of the operator. |
| [`resolve_run_name`](#fiftyone.operators.Panel.resolve_run_name)(ctx)                   | Returns the resolved run name of the operator.  |
| [`resolve_type`](#fiftyone.operators.Panel.resolve_type)(ctx, type)                     | Returns the resolved input or output property.  |
| [`to_json`](#fiftyone.operators.Panel.to_json)()                                        | Returns a JSON representation of the operator.  |

**Attributes:**

| [`builtin`](#fiftyone.operators.Panel.builtin)       | Whether the operator is builtin.                                                                                 |
|------------------------------------------------------|------------------------------------------------------------------------------------------------------------------|
| [`config`](#fiftyone.operators.Panel.config)         | The [`OperatorConfig`](#fiftyone.operators.OperatorConfig) for the operator.                                     |
| [`name`](#fiftyone.operators.Panel.name)             |                                                                                                                  |
| [`risk_level`](#fiftyone.operators.Panel.risk_level) | The effective risk level of the operator, which is used by guardrail systems of an agent to classify tool calls. |
| [`uri`](#fiftyone.operators.Panel.uri)               | The unique identifier of the operator: `plugin_name/operator_name`.                                              |

#### render(ctx)

Defines the panel’s layout and events.

This method is called after every panel event is called (on load,
button callback, context change event, etc).

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a [`fiftyone.operators.types.Property`](fiftyone.operators.types.md#fiftyone.operators.types.Property)

#### resolve_input(ctx)

Returns the resolved input property.

Subclasses can implement this method to define the inputs to the
operator. This method should never be called directly. Instead
use [`resolve_type()`](#fiftyone.operators.Panel.resolve_type).

By default, this method is called once when the operator is created.
If the operator is dynamic, this method is called each time the input
changes.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a [`fiftyone.operators.types.Property`](fiftyone.operators.types.md#fiftyone.operators.types.Property), or None

#### resolve_panel_config()

Returns the registration config for this panel.

#### on_startup(ctx)

#### on_load(ctx)

#### execute(ctx)

Executes the operator.

Subclasses must implement this method.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  JSON serializable data, or None

#### add_secrets(secrets)

Adds secrets to the operator.

* **Parameters:**
  **secrets** – a list of secrets

#### *property* builtin

Whether the operator is builtin.

#### *property* config

The [`OperatorConfig`](#fiftyone.operators.OperatorConfig) for the operator.

#### method_to_uri(method_name)

Converts a method name to a URI.

* **Parameters:**
  **method_name** – the method name
* **Returns:**
  a URI

#### *property* name

#### resolve_delegation(ctx) → [bool](fiftyone.core.stages.md#fiftyone.core.stages.Exists.bool) | None

Returns the resolved *forced* delegation flag.

Subclasses can implement this method to decide if delegated execution
should be *forced* for the given operation.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  whether the operation should be delegated (True), run immediately
  (False), or None to defer to [`resolve_execution_options()`](#fiftyone.operators.Panel.resolve_execution_options) to
  specify the available options

#### resolve_execution_options(ctx)

Returns the resolved execution options.

Subclasses can implement this method to define the execution options
available for the operation.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a [`fiftyone.operators.executor.ExecutionOptions`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionOptions) instance

#### resolve_output(ctx)

Returns the resolved output property.

Subclasses can implement this method to define the outputs of the
operator.

By default, this method is called once when the operator is created.
If the operator is dynamic, this method is called after the operator is
executed.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a [`fiftyone.operators.types.Property`](fiftyone.operators.types.md#fiftyone.operators.types.Property), or None

#### resolve_placement(ctx)

Returns the resolved placement of the operator.

Subclasses can implement this method to define the placement of the
operator.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a [`fiftyone.operators.types.Placement`](fiftyone.operators.types.md#fiftyone.operators.types.Placement), or None

#### resolve_run_name(ctx)

Returns the resolved run name of the operator.

Subclasses can implement this method to define the run name of the
operator.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a string, or None

#### resolve_type(ctx, type)

Returns the resolved input or output property.

* **Parameters:**
  * **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
  * **type** – the type of property to resolve, either `"inputs"` or
    `"outputs"`
* **Returns:**
  a [`fiftyone.operators.types.Property`](fiftyone.operators.types.md#fiftyone.operators.types.Property), or None

#### *property* risk_level

The effective risk level of the operator, which is used by guardrail
systems of an agent to classify tool calls.

#### to_json()

Returns a JSON representation of the operator.

* **Returns:**
  a JSON dict

#### *property* uri

The unique identifier of the operator:
`plugin_name/operator_name`.

### *class* fiftyone.operators.PanelConfig(name, label, help_markdown=None, alpha=False, beta=False, is_new=False, category=None, icon=None, light_icon=None, dark_icon=None, allow_multiple=False, surfaces: Literal['grid', 'modal', 'grid modal'] = 'grid', priority=None, \*\*kwargs)

Bases: [`OperatorConfig`](fiftyone.operators.operator.md#fiftyone.operators.operator.OperatorConfig)

Configuration for a panel.

* **Parameters:**
  * **name** – the name of the panel
  * **label** – the display name for the panel
  * **icon** (*None*) – the icon to show in the panel’s tab
  * **light_icon** (*None*) – the icon to show in the panel’s tab when the App is
    in light mode
  * **dark_icon** (*None*) – the icon to show in the panel’s tab when the App is
    in dark mode
  * **allow_multiple** (*False*) – whether to allow multiple instances of the
    panel to be opened
  * **surfaces** ( *"grid"*) – the surfaces on which the panel can be displayed
  * **help_markdown** (*None*) – a markdown string to display in the panel’s help
    tooltip
  * **category** (*Category*) – the category id of the panel
  * **priority** (*None*) – the priority of the panel for sorting in the UI

**Methods:**

| [`to_json`](#fiftyone.operators.PanelConfig.to_json)()   |    |
|----------------------------------------------------------|----|

**Attributes:**

| [`risk_level`](#fiftyone.operators.PanelConfig.risk_level)   | The declared `RiskLevel` for this operator.   |
|--------------------------------------------------------------|-----------------------------------------------|

#### to_json()

#### *property* risk_level

The declared `RiskLevel` for this operator.

### *class* fiftyone.operators.ExecutionStore(store_name: str, store_service: [ExecutionStoreService](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService), default_policy: str = 'persist')

Bases: `object`

Execution store.

* **Parameters:**
  * **store_name** – the name of the store
  * **store_service** – an
    [`fiftyone.operators.store.service.ExecutionStoreService`](fiftyone.operators.store.service.md#fiftyone.operators.store.service.ExecutionStoreService)
  * **default_policy** ( *"persist"*) – the default eviction policy for the store.

**Methods:**

| [`create`](#fiftyone.operators.ExecutionStore.create)(store_name[, dataset_id, ...])                      | Creates a new execution store.                                     |
|-----------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------|
| [`list_stores`](#fiftyone.operators.ExecutionStore.list_stores)()                                         | Lists all stores in the execution store.                           |
| [`get`](#fiftyone.operators.ExecutionStore.get)(key)                                                      | Retrieves a value from the store by its key.                       |
| [`set`](#fiftyone.operators.ExecutionStore.set)(key, value[, ttl, policy])                                | Sets the value of a key in the specified store.                    |
| [`set_cache`](#fiftyone.operators.ExecutionStore.set_cache)(key, value[, ttl])                            | Sets a value in the store with the eviction policy set to "evict". |
| [`set_if_absent`](#fiftyone.operators.ExecutionStore.set_if_absent)(key, value[, ttl, policy])            | Sets a key only when it does not already exist.                    |
| [`compare_and_set`](#fiftyone.operators.ExecutionStore.compare_and_set)(key, expected, value[, ttl, ...]) | Atomically replaces a key whose value matches `expected`.          |
| [`delete`](#fiftyone.operators.ExecutionStore.delete)(key)                                                | Deletes a key from the store.                                      |
| [`has`](#fiftyone.operators.ExecutionStore.has)(key)                                                      | Checks if the store has a specific key.                            |
| [`clear`](#fiftyone.operators.ExecutionStore.clear)()                                                     | Clears all the data in the store.                                  |
| [`clear_cache`](#fiftyone.operators.ExecutionStore.clear_cache)()                                         | Clears the cache for the store.                                    |
| [`update_ttl`](#fiftyone.operators.ExecutionStore.update_ttl)(key, new_ttl)                               | Updates the TTL for a specific key.                                |
| [`update_policy`](#fiftyone.operators.ExecutionStore.update_policy)(key, policy)                          | Updates the eviction policy for a specific key.                    |
| [`get_metadata`](#fiftyone.operators.ExecutionStore.get_metadata)(key)                                    | Retrieves the metadata for the given key.                          |
| [`list_keys`](#fiftyone.operators.ExecutionStore.list_keys)()                                             | Lists all keys in the store.                                       |
| [`subscribe`](#fiftyone.operators.ExecutionStore.subscribe)(callback)                                     | Subscribes to changes in the store.                                |
| [`unsubscribe`](#fiftyone.operators.ExecutionStore.unsubscribe)(subscription_id)                          | Unsubscribes from changes in the store.                            |

#### *static* create(store_name: str, dataset_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId) | None = None, default_policy: str = 'persist', collection_name: str | None = None) → [ExecutionStore](fiftyone.operators.store.store.md#fiftyone.operators.store.store.ExecutionStore)

Creates a new execution store.

* **Parameters:**
  * **store_name** – the name of the store
  * **dataset_id** – an optional dataset ID to scope the store to
* **Returns:**
  an ExecutionStore instance

#### list_stores() → [list](fiftyone.core.session.events.md#fiftyone.core.session.events.Colorscale.list)[str]

Lists all stores in the execution store.

* **Returns:**
  a list of store names
* **Return type:**
  [list](fiftyone.core.session.events.md#fiftyone.core.session.events.Colorscale.list)

#### get(key: str) → Any | None

Retrieves a value from the store by its key.

* **Parameters:**
  **key** – the key to retrieve the value for
* **Returns:**
  the value stored under the given key, or None if not found

#### set(key: str, value: Any, ttl: int | None = None, policy=None) → None

Sets the value of a key in the specified store.

* **Parameters:**
  * **key** – the key to set
  * **value** – the value to set
  * **ttl** (*None*) – an optional TTL in seconds
  * **policy** (*persist*) – the eviction policy for the key. Can be “persist” or “evict”.
    If “persist”, the key will never be automatically removed.
    If “evict”, the key may be removed automatically if a TTL is set,
    or manually via [`clear_cache()`](#fiftyone.operators.ExecutionStore.clear_cache).
* **Returns:**
  a `fiftyone.store.models.KeyDocument`

#### set_cache(key: str, value: Any, ttl: int | None = None) → None

Sets a value in the store with the eviction policy set to “evict”.

* **Parameters:**
  * **key** – the key to store the value under
  * **value** – the value to store
  * **ttl** (*None*) – the time-to-live in seconds

#### set_if_absent(key: str, value: Any, ttl: int | None = None, policy=None) → [bool](fiftyone.core.stages.md#fiftyone.core.stages.Exists.bool)

Sets a key only when it does not already exist.

#### compare_and_set(key: str, expected: Any, value: Any, ttl: int | None = None, policy=None) → [bool](fiftyone.core.stages.md#fiftyone.core.stages.Exists.bool)

Atomically replaces a key whose value matches `expected`.

Existing expiration and policy metadata is preserved when `ttl` and
`policy` are omitted.

#### delete(key: str) → [bool](fiftyone.core.stages.md#fiftyone.core.stages.Exists.bool)

Deletes a key from the store.

* **Parameters:**
  **key** – the key to delete.
* **Returns:**
  True/False whether the key was deleted

#### has(key: str) → [bool](fiftyone.core.stages.md#fiftyone.core.stages.Exists.bool)

Checks if the store has a specific key.

* **Parameters:**
  **key** – the key to check
* **Returns:**
  True/False whether the key exists

#### clear() → None

Clears all the data in the store.

#### clear_cache() → None

Clears the cache for the store.

This will remove all keys that are eligible for eviction.

#### update_ttl(key: str, new_ttl: int) → None

Updates the TTL for a specific key.

* **Parameters:**
  * **key** – the key to update the TTL for
  * **new_ttl** – the new TTL in seconds

#### update_policy(key: str, policy: str) → None

Updates the eviction policy for a specific key.

* **Parameters:**
  * **key** – the key to update the policy for
  * **policy** – the new policy, either “persist” or “evict”

#### get_metadata(key: str) → dict | None

Retrieves the metadata for the given key.

* **Parameters:**
  **key** – the key to check
* **Returns:**
  a dict of metadata about the key

#### list_keys() → [list](fiftyone.core.session.events.md#fiftyone.core.session.events.Colorscale.list)[str]

Lists all keys in the store.

* **Returns:**
  a list of keys in the store

#### subscribe(callback: Callable[[[MessageData](fiftyone.operators.message.md#fiftyone.operators.message.MessageData)], None]) → str

Subscribes to changes in the store.

* **Parameters:**
  **callback** – a function that will be called when a change occurs in the store
* **Returns:**
  a subscription ID

#### unsubscribe(subscription_id: str) → [bool](fiftyone.core.stages.md#fiftyone.core.stages.Exists.bool)

Unsubscribes from changes in the store.

* **Parameters:**
  **subscription_id** – the subscription ID to unsubscribe from
* **Returns:**
  True if the subscription was removed, False otherwise

### *class* fiftyone.operators.Categories(\*values)

Bases: `Enum`

**Attributes:**

| [`IMPORT`](#fiftyone.operators.Categories.IMPORT)   |    |
|-----------------------------------------------------|----|
| [`CURATE`](#fiftyone.operators.Categories.CURATE)   |    |
| [`ANALYZE`](#fiftyone.operators.Categories.ANALYZE) |    |
| [`CUSTOM`](#fiftyone.operators.Categories.CUSTOM)   |    |

#### IMPORT *= 'import'*

#### CURATE *= 'curate'*

#### ANALYZE *= 'analyze'*

#### CUSTOM *= 'custom'*

### fiftyone.operators.execution_cache(\_func=None, , residency='hybrid', ttl=None, max_size=None, link_to_dataset=True, key_fn=None, store_name=None, version=None, operator_scoped=False, user_scoped=False, prompt_scoped=False, jwt_scoped=False, collection_name=None, serialize=None, deserialize=None)

Decorator for caching function results in an
[`ExecutionStore`](fiftyone.operators.store.md#fiftyone.operators.store.ExecutionStore).

The function being cached must:

- accept a [`ctx`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
  as the first parameter
- be idempotent, i.e., same inputs produce the same outputs
- have serializable function arguments and return values
- have no side effects

#### NOTE
When `residency != "ephemeral"`, cached values must be coerced to
JSON safe types in order to be stored. By default, a default JSON
converter is used that can handle many common types, but you can
override this behavior if necessary by providing custom `serialize`
and `deserialize` functions.

Examples:

```default
from fiftyone.operators import execution_cache

# Default behavior: cache for the life of a dataset
@execution_cache
def expensive_query(ctx, path):
    return ctx.dataset.count_values(path)

# Cache in-memory, and only while the current operator prompt modal is open
@execution_cache(prompt_scoped=True, residency="ephemeral")
def expensive_query(ctx, path):
    return ctx.dataset.count_values(path)

# Cache with a custom TTL and store name
class Processor:
    @execution_cache(ttl=60, store_name="processor_cache")
    def expensive_query(self, ctx, path):
        return ctx.dataset.count_values(path)

#
# Cache at the user-level
#

def custom_key_fn(ctx, path):
    return path, ctx.user_id

@execution_cache(ttl=90, key_fn=custom_key_fn, jwt_scoped=True)
def user_specific_query(ctx, path):
    return ctx.dataset.match(F("creator_id") == ctx.user_id).count_values(path)

#
# You can manually bypass/modify the cache if necessary
#

# Bypass the cache
result = expensive_query.uncached(ctx, path)

# Set the cache for the given arguments
expensive_query.set_cache(ctx, path, value_to_cache)

# Clear the cache for a specific input
expensive_query.clear_cache(ctx, path)

# Clear all cache entries for the function
expensive_query.clear_all_caches()
expensive_query.clear_all_caches(dataset_id=dataset._doc.id)
```

* **Parameters:**
  * **residency** ( *"hybrid"*) – 

    the residency of the cache. Can be one of:
    - `"transient"`: the cache is stored in the execution store
      with `policy="evict"`
    - `"ephemeral"`: the cache is stored in memory and is cleared
      when the process ends
    - `"hybrid"` (default): a combination of transient and
      ephemeral. The cache is stored in memory and in the execution
      store. The memory cache is used first, and if the value is not
      found, it falls back to the execution store
  * **ttl** (*None*) – a time-to-live for cached values, in seconds
  * **max_size** (*None*) – a maximum size for ephemeral caches. The default size
    is 1024. The cache will evict the least recently used items when
    the size exceeds this limit
  * **link_to_dataset** (*True*) – whether to namespace cache entries to the
    current dataset. If True, any cached values are automatically
    deleted when the dataset is deleted
  * **key_fn** (*None*) – a custom function to generate cache keys. By default,
    the function arguments are used as the key by serializing them as
    JSON
  * **store_name** (*None*) – a custom name for the execution store backing the
    cache. Defaults to the function name
  * **version** (*None*) – a version number to prevent cache collisions when the
    function implementation changes
  * **operator_scoped** (*False*) – whether to tie the cache entry to the current
    operator
  * **user_scoped** (*False*) – whether to tie the cache entry to the current user
  * **prompt_scoped** (*False*) – whether to tie the cache entry to the current
    operator prompt
  * **jwt_scoped** (*False*) – whether to tie the cache entry to the current
    user’s JWT
  * **collection_name** (*None*) – override the default collection name for the
    execution store used by the cache. The default is
    `"execution_store"`
  * **serialize** (*None*) – a custom serialization function to use when caching
    values and function arguments
  * **deserialize** (*None*) – a custom deserialization function when retrieving
    cached values

### *class* fiftyone.operators.SseOperator(\_builtin=False)

Bases: [`Operator`](fiftyone.operators.operator.md#fiftyone.operators.operator.Operator)

**Attributes:**

| [`IS_SSE_OPERATOR`](#fiftyone.operators.SseOperator.IS_SSE_OPERATOR)         |                                                                                                                  |
|------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------|
| [`subscription_config`](#fiftyone.operators.SseOperator.subscription_config) |                                                                                                                  |
| [`config`](#fiftyone.operators.SseOperator.config)                           | The [`OperatorConfig`](#fiftyone.operators.OperatorConfig) for the operator.                                     |
| [`builtin`](#fiftyone.operators.SseOperator.builtin)                         | Whether the operator is builtin.                                                                                 |
| [`name`](#fiftyone.operators.SseOperator.name)                               |                                                                                                                  |
| [`risk_level`](#fiftyone.operators.SseOperator.risk_level)                   | The effective risk level of the operator, which is used by guardrail systems of an agent to classify tool calls. |
| [`uri`](#fiftyone.operators.SseOperator.uri)                                 | The unique identifier of the operator: `plugin_name/operator_name`.                                              |

**Methods:**

| [`execute`](#fiftyone.operators.SseOperator.execute)(ctx)                                     | Executes the operator.                          |
|-----------------------------------------------------------------------------------------------|-------------------------------------------------|
| [`add_secrets`](#fiftyone.operators.SseOperator.add_secrets)(secrets)                         | Adds secrets to the operator.                   |
| [`method_to_uri`](#fiftyone.operators.SseOperator.method_to_uri)(method_name)                 | Converts a method name to a URI.                |
| [`resolve_delegation`](#fiftyone.operators.SseOperator.resolve_delegation)(ctx)               | Returns the resolved *forced* delegation flag.  |
| [`resolve_execution_options`](#fiftyone.operators.SseOperator.resolve_execution_options)(ctx) | Returns the resolved execution options.         |
| [`resolve_input`](#fiftyone.operators.SseOperator.resolve_input)(ctx)                         | Returns the resolved input property.            |
| [`resolve_output`](#fiftyone.operators.SseOperator.resolve_output)(ctx)                       | Returns the resolved output property.           |
| [`resolve_placement`](#fiftyone.operators.SseOperator.resolve_placement)(ctx)                 | Returns the resolved placement of the operator. |
| [`resolve_run_name`](#fiftyone.operators.SseOperator.resolve_run_name)(ctx)                   | Returns the resolved run name of the operator.  |
| [`resolve_type`](#fiftyone.operators.SseOperator.resolve_type)(ctx, type)                     | Returns the resolved input or output property.  |
| [`to_json`](#fiftyone.operators.SseOperator.to_json)()                                        | Returns a JSON representation of the operator.  |

#### IS_SSE_OPERATOR *= True*

#### *property* subscription_config

#### *property* config

The [`OperatorConfig`](#fiftyone.operators.OperatorConfig) for the operator.

#### *async* execute(ctx: [ExecutionContext](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext))

Executes the operator.

Subclasses must implement this method.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  JSON serializable data, or None

#### add_secrets(secrets)

Adds secrets to the operator.

* **Parameters:**
  **secrets** – a list of secrets

#### *property* builtin

Whether the operator is builtin.

#### method_to_uri(method_name)

Converts a method name to a URI.

* **Parameters:**
  **method_name** – the method name
* **Returns:**
  a URI

#### *property* name

#### resolve_delegation(ctx) → [bool](fiftyone.core.stages.md#fiftyone.core.stages.Exists.bool) | None

Returns the resolved *forced* delegation flag.

Subclasses can implement this method to decide if delegated execution
should be *forced* for the given operation.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  whether the operation should be delegated (True), run immediately
  (False), or None to defer to [`resolve_execution_options()`](#fiftyone.operators.SseOperator.resolve_execution_options) to
  specify the available options

#### resolve_execution_options(ctx)

Returns the resolved execution options.

Subclasses can implement this method to define the execution options
available for the operation.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a [`fiftyone.operators.executor.ExecutionOptions`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionOptions) instance

#### resolve_input(ctx) → [Property](fiftyone.operators.types.md#fiftyone.operators.types.Property) | None

Returns the resolved input property.

Subclasses can implement this method to define the inputs to the
operator. This method should never be called directly. Instead
use [`resolve_type()`](#fiftyone.operators.SseOperator.resolve_type).

By default, this method is called once when the operator is created.
If the operator is dynamic, this method is called each time the input
changes.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a [`fiftyone.operators.types.Property`](fiftyone.operators.types.md#fiftyone.operators.types.Property), or None

#### resolve_output(ctx)

Returns the resolved output property.

Subclasses can implement this method to define the outputs of the
operator.

By default, this method is called once when the operator is created.
If the operator is dynamic, this method is called after the operator is
executed.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a [`fiftyone.operators.types.Property`](fiftyone.operators.types.md#fiftyone.operators.types.Property), or None

#### resolve_placement(ctx)

Returns the resolved placement of the operator.

Subclasses can implement this method to define the placement of the
operator.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a [`fiftyone.operators.types.Placement`](fiftyone.operators.types.md#fiftyone.operators.types.Placement), or None

#### resolve_run_name(ctx)

Returns the resolved run name of the operator.

Subclasses can implement this method to define the run name of the
operator.

* **Parameters:**
  **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
* **Returns:**
  a string, or None

#### resolve_type(ctx, type)

Returns the resolved input or output property.

* **Parameters:**
  * **ctx** – the [`fiftyone.operators.executor.ExecutionContext`](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionContext)
  * **type** – the type of property to resolve, either `"inputs"` or
    `"outputs"`
* **Returns:**
  a [`fiftyone.operators.types.Property`](fiftyone.operators.types.md#fiftyone.operators.types.Property), or None

#### *property* risk_level

The effective risk level of the operator, which is used by guardrail
systems of an agent to classify tool calls.

#### to_json()

Returns a JSON representation of the operator.

* **Returns:**
  a JSON dict

#### *property* uri

The unique identifier of the operator:
`plugin_name/operator_name`.

### *class* fiftyone.operators.SseOperatorConfig(name, label, store_name, description=None, icon=None, light_icon=None, dark_icon=None)

Bases: [`OperatorConfig`](fiftyone.operators.operator.md#fiftyone.operators.operator.OperatorConfig)

**Attributes:**

| [`risk_level`](#fiftyone.operators.SseOperatorConfig.risk_level)   | The declared `RiskLevel` for this operator.   |
|--------------------------------------------------------------------|-----------------------------------------------|

**Methods:**

| [`to_json`](#fiftyone.operators.SseOperatorConfig.to_json)()   |    |
|----------------------------------------------------------------|----|

#### *property* risk_level

The declared `RiskLevel` for this operator.

#### to_json()
