Class: QgsProcessingRegistry

class qgis.core.QgsProcessingRegistry

Bases: PyQt5.QtCore.QObject

Registry for various processing components, including providers, algorithms and various parameters and outputs.

QgsProcessingRegistry is not usually directly created, but rather accessed through QgsApplication.processingRegistry().

QgsProcessingRegistry(parent: Optional[QObject] = None) Constructor for QgsProcessingRegistry.

Methods

addAlgorithmAlias

Adds a new alias to an existing algorithm.

addParameterType

Register a new parameter type for processing.

addProvider

Add a processing provider to the registry.

algorithmById

Finds an algorithm by its ID.

algorithmInformation

Returns basic algorithm information for the algorithm with matching ID.

algorithms

Returns a list of all available algorithms from registered providers.

childEvent

connectNotify

createAlgorithmById

Creates a new instance of an algorithm by its ID.

customEvent

disconnectNotify

isSignalConnected

parameterType

Returns the parameter type registered for id.

parameterTypes

Returns a list with all known parameter types.

providerById

Returns a matching provider by provider ID.

providers

Gets list of available providers.

receivers

removeParameterType

Unregister a custom parameter type from processing.

removeProvider

Removes a provider implementation from the registry (the provider object is deleted).

sender

senderSignalIndex

timerEvent

Signals

parameterTypeAdded

pyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL

parameterTypeRemoved

pyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL

providerAdded

pyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL

providerRemoved

pyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL

addAlgorithmAlias(self, aliasId: str | None, actualId: str | None)

Adds a new alias to an existing algorithm.

This allows algorithms to be referred to by a different provider ID and algorithm name to their actual underlying provider and algorithm name. It provides a mechanism to allow algorithms to be moved between providers without breaking existing scripts or plugins.

The aliasId argument specifies the “fake” algorithm id (eg “fake_provider:fake_alg”) by which the algorithm can be referred to, and the actualId argument specifies the real algorithm ID for the algorithm.

Added in version 3.10.

Parameters:
  • aliasId (Optional[str])

  • actualId (Optional[str])

addParameterType(self, type: QgsProcessingParameterType | None) bool

Register a new parameter type for processing. Ownership is transferred to the registry. Will emit parameterTypeAdded.

Added in version 3.2.

Parameters:

type (Optional[QgsProcessingParameterType])

Return type:

bool

addProvider(self, provider: QgsProcessingProvider | None) bool

Add a processing provider to the registry. Ownership of the provider is transferred to the registry, and the provider’s parent will be set to the registry. Returns False if the provider could not be added (eg if a provider with a duplicate ID already exists in the registry). Adding a provider to the registry automatically triggers the providers QgsProcessingProvider.load() method to populate the provider with algorithms.

See also

removeProvider()

Parameters:

provider (Optional[QgsProcessingProvider])

Return type:

bool

algorithmById(self, id: str | None) QgsProcessingAlgorithm | None

Finds an algorithm by its ID. If no matching algorithm is found, None is returned.

See also

algorithms()

Parameters:

id (Optional[str])

Return type:

Optional[QgsProcessingAlgorithm]

algorithmInformation(self, id: str | None) QgsProcessingAlgorithmInformation

Returns basic algorithm information for the algorithm with matching ID.

This method uses an internal cache to ensure that information is quickly returned and is suitable for calling many times.

Added in version 3.32.

Parameters:

id (Optional[str])

Return type:

QgsProcessingAlgorithmInformation

algorithms(self) List[QgsProcessingAlgorithm]

Returns a list of all available algorithms from registered providers.

See also

algorithmById()

Return type:

List[QgsProcessingAlgorithm]

childEvent(self, a0: QChildEvent | None)
connectNotify(self, signal: QMetaMethod)
createAlgorithmById(self, id: str | None, configuration: Dict[str, Any] = {}) QgsProcessingAlgorithm | None

Creates a new instance of an algorithm by its ID. If no matching algorithm is found, None is returned. Callers take responsibility for deleting the returned object.

The configuration argument allows passing of a map of configuration settings to the algorithm, allowing it to dynamically adjust its initialized parameters and outputs according to this configuration. This is generally used only for algorithms in a model, allowing them to adjust their behavior at run time according to some user configuration.

See also

algorithms()

See also

algorithmById()

Parameters:
  • id (Optional[str])

  • configuration (Dict[str)

Return type:

Optional[QgsProcessingAlgorithm]

customEvent(self, a0: QEvent | None)
disconnectNotify(self, signal: QMetaMethod)
isSignalConnected(self, signal: QMetaMethod) bool
parameterType(self, id: str | None) QgsProcessingParameterType | None

Returns the parameter type registered for id.

Added in version 3.2.

Parameters:

id (Optional[str])

Return type:

Optional[QgsProcessingParameterType]

parameterTypeAdded

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Parameters:
  • name (str = ...)

  • revision (int = ...)

  • arguments (Sequence = ...)

Return type:

PYQT_SIGNAL

parameterTypeRemoved

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Parameters:
  • name (str = ...)

  • revision (int = ...)

  • arguments (Sequence = ...)

Return type:

PYQT_SIGNAL

parameterTypes(self) List[QgsProcessingParameterType]

Returns a list with all known parameter types.

Added in version 3.2.

Return type:

List[QgsProcessingParameterType]

providerAdded

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Parameters:
  • name (str = ...)

  • revision (int = ...)

  • arguments (Sequence = ...)

Return type:

PYQT_SIGNAL

providerById(self, id: str | None) QgsProcessingProvider | None

Returns a matching provider by provider ID.

Parameters:

id (Optional[str])

Return type:

Optional[QgsProcessingProvider]

providerRemoved

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Parameters:
  • name (str = ...)

  • revision (int = ...)

  • arguments (Sequence = ...)

Return type:

PYQT_SIGNAL

providers(self) List[QgsProcessingProvider]

Gets list of available providers.

Return type:

List[QgsProcessingProvider]

receivers(self, signal: PYQT_SIGNAL) int
removeParameterType(self, type: QgsProcessingParameterType | None)

Unregister a custom parameter type from processing. The type will be deleted. Will emit parameterTypeRemoved.

Added in version 3.2.

Parameters:

type (Optional[QgsProcessingParameterType])

removeProvider(self, provider: QgsProcessingProvider | None) bool

Removes a provider implementation from the registry (the provider object is deleted). Returns False if the provider could not be removed (eg provider does not exist in the registry).

See also

addProvider()

removeProvider(self, providerId: Optional[str]) -> bool Removes a provider implementation from the registry (the provider object is deleted). Returns False if the provider could not be removed (eg provider does not exist in the registry).

See also

addProvider()

Parameters:

provider (Optional[QgsProcessingProvider])

Return type:

bool

sender(self) QObject | None
senderSignalIndex(self) int
timerEvent(self, a0: QTimerEvent | None)