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

# fiftyone.operators.store.subscription_registry

Subscription registry class.

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

**Classes:**

| [`LocalSubscriptionRegistry`](#fiftyone.operators.store.subscription_registry.LocalSubscriptionRegistry)()                 | Abstract base class for subscription registry.   |
|----------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------|
| [`InLocalMemorySubscriptionRegistry`](#fiftyone.operators.store.subscription_registry.InLocalMemorySubscriptionRegistry)() |                                                  |

### *class* fiftyone.operators.store.subscription_registry.LocalSubscriptionRegistry

Bases: `ABC`

Abstract base class for subscription registry.

**Methods:**

| [`subscribe`](#fiftyone.operators.store.subscription_registry.LocalSubscriptionRegistry.subscribe)(store_name, callback[, dataset_id])   | Registers a subscription for a given store.       |
|------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------|
| [`unsubscribe`](#fiftyone.operators.store.subscription_registry.LocalSubscriptionRegistry.unsubscribe)(subscription_id)                  | Unsubscribes a subscription by its id.            |
| [`unsubscribe_all`](#fiftyone.operators.store.subscription_registry.LocalSubscriptionRegistry.unsubscribe_all)(store_name)               | Unsubscribes all subscriptions for a given store. |
| [`empty_subscribers`](#fiftyone.operators.store.subscription_registry.LocalSubscriptionRegistry.empty_subscribers)()                     | Empties all subscribers.                          |
| [`get_subscribers`](#fiftyone.operators.store.subscription_registry.LocalSubscriptionRegistry.get_subscribers)(store_name)               | Retrieves all subscriptions for a given store.    |

#### *abstractmethod* subscribe(store_name: str, callback: Callable[[str], None], dataset_id: str | None = None) → str

Registers a subscription for a given store.
Returns a unique subscription id.

* **Parameters:**
  * **store_name** – The name of the store to subscribe to.
  * **callback** – The callback to call when a change occurs.
  * **dataset_id** – Optional dataset ID to filter changes by.

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

Unsubscribes a subscription by its id.
Returns True if a subscription was removed.

#### *abstractmethod* unsubscribe_all(store_name: str)

Unsubscribes all subscriptions for a given store.

#### *abstractmethod* empty_subscribers() → None

Empties all subscribers.

#### *abstractmethod* get_subscribers(store_name: str) → Dict[str, Tuple[Callable[[str], None], str | None]]

Retrieves all subscriptions for a given store.
Returns a dictionary mapping subscription id to a tuple of (callback, dataset_id).

### *class* fiftyone.operators.store.subscription_registry.InLocalMemorySubscriptionRegistry

Bases: [`LocalSubscriptionRegistry`](#fiftyone.operators.store.subscription_registry.LocalSubscriptionRegistry)

**Methods:**

| [`subscribe`](#fiftyone.operators.store.subscription_registry.InLocalMemorySubscriptionRegistry.subscribe)(store_name, callback[, dataset_id])   | Registers a subscription for a given store.       |
|--------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------|
| [`unsubscribe`](#fiftyone.operators.store.subscription_registry.InLocalMemorySubscriptionRegistry.unsubscribe)(subscription_id)                  | Unsubscribes a subscription by its id.            |
| [`unsubscribe_all`](#fiftyone.operators.store.subscription_registry.InLocalMemorySubscriptionRegistry.unsubscribe_all)(store_name)               | Unsubscribes all subscriptions for a given store. |
| [`get_subscribers`](#fiftyone.operators.store.subscription_registry.InLocalMemorySubscriptionRegistry.get_subscribers)(store_name)               | Retrieves all subscriptions for a given store.    |
| [`empty_subscribers`](#fiftyone.operators.store.subscription_registry.InLocalMemorySubscriptionRegistry.empty_subscribers)()                     | Empties all subscribers.                          |

#### subscribe(store_name: str, callback: Callable[[str], None], dataset_id: str | None = None) → str

Registers a subscription for a given store.
Returns a unique subscription id.

* **Parameters:**
  * **store_name** – The name of the store to subscribe to.
  * **callback** – The callback to call when a change occurs.
  * **dataset_id** – Optional dataset ID to filter changes by.

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

Unsubscribes a subscription by its id.
Returns True if a subscription was removed.

#### unsubscribe_all(store_name: str)

Unsubscribes all subscriptions for a given store.

#### get_subscribers(store_name: str) → Dict[str, Tuple[Callable[[str], None], str | None]]

Retrieves all subscriptions for a given store.
Returns a dictionary mapping subscription id to a tuple of (callback, dataset_id).

#### empty_subscribers() → None

Empties all subscribers.
