Subgroup: Processing

Class: QgsProcessingProvider

class qgis.core.QgsProcessingProvider(parent: QObject = None)

Bases: PyQt5.QtCore.QObject

Constructor for QgsProcessingProvider.

Abstract base class for processing providers. An algorithm provider is a set of related algorithms, typically from the same external application or related to a common area of analysis.

New in version 3.0: Methods

addAlgorithm Adds an algorithm to the provider.
algorithm Returns the matching algorithm by name, or a None if no matching algorithm is contained by this provider.
algorithms Returns a list of algorithms supplied by this provider.
canBeActivated Returns true if the provider can be activated, or false if it cannot be activated (e.g.
childEvent
connectNotify
customEvent
defaultRasterFileExtension Returns the default file extension to use for raster outputs created by the provider.
defaultVectorFileExtension Returns the default file extension to use for vector outputs created by the provider.
disconnectNotify
helpId Returns the provider help id string, used for creating QgsHelp urls for algorithms belong to this provider.
icon Returns an icon for the provider.
id Returns the unique provider id, used for identifying the provider.
isActive Returns true if the provider is active and able to run algorithms.
isSignalConnected
load Loads the provider.
loadAlgorithms Loads all algorithms belonging to this provider.
longName Returns the longer version of the provider name, which can include extra details such as version numbers.
name Returns the provider name, which is used to describe the provider within the GUI.
receivers
refreshAlgorithms Refreshes the algorithms available from the provider, causing it to re-populate with all associated algorithms.
sender
senderSignalIndex
supportedOutputRasterLayerExtensions Returns a list of the raster format file extensions supported by this provider.
supportedOutputVectorLayerExtensions Returns a list of the vector format file extensions supported by this provider.
supportsNonFileBasedOutput Returns true if the provider supports non-file based outputs (such as memory layers or direct database outputs).
svgIconPath Returns a path to an SVG version of the provider’s icon.
timerEvent
unload Unloads the provider.

Signals

algorithmsLoaded Emitted when the provider has loaded (or refreshed) its list of available algorithms.

Attributes

addAlgorithm(self, algorithm: QgsProcessingAlgorithm) → bool

Adds an algorithm to the provider. Ownership of the algorithm is transferred to the provider.

algorithm(self, name: str) → QgsProcessingAlgorithm

Returns the matching algorithm by name, or a None if no matching algorithm is contained by this provider.

See also

algorithms()

algorithms(self) → object

Returns a list of algorithms supplied by this provider.

See also

algorithm()

algorithmsLoaded

Emitted when the provider has loaded (or refreshed) its list of available algorithms.

See also

refreshAlgorithms() [signal]

canBeActivated(self) → bool

Returns true if the provider can be activated, or false if it cannot be activated (e.g. due to missing external dependencies).

See also

isActive()

childEvent()
connectNotify()
customEvent()
defaultRasterFileExtension(self) → str

Returns the default file extension to use for raster outputs created by the provider.

The default implementation returns the user’s default Processing raster output format setting, if it’s supported by the provider (see supportedOutputRasterLayerExtensions()). Otherwise the first reported supported raster format will be used.

defaultVectorFileExtension(self, hasGeometry: bool = True) → str

Returns the default file extension to use for vector outputs created by the provider.

If hasGeometry is true then the output file format must have support for geometry. If hasGeometry is false then non-spatial formats can be used.

The default implementation returns the user’s default Processing vector output format setting, if it’s supported by the provider (see supportedOutputVectorLayerExtensions()). Otherwise the first reported supported vector format will be used.

disconnectNotify()
helpId(self) → str

Returns the provider help id string, used for creating QgsHelp urls for algorithms belong to this provider. By default, this returns an empty string, meaning that no QgsHelp url should be created for the provider’s algorithms.

See also

id()

icon(self) → QIcon

Returns an icon for the provider.

See also

svgIconPath()

id(self) → str

Returns the unique provider id, used for identifying the provider. This string should be a unique, short, character only string, eg “qgis” or “gdal”. This string should not be localised.

See also

name()

See also

helpId()

isActive(self) → bool

Returns true if the provider is active and able to run algorithms.

isSignalConnected()
load(self) → bool

Loads the provider. This will be called when the plugin is being loaded, and any general setup actions should occur in an overridden version of this method. Subclasses should not individually load any algorithms in their load() implementations, as that must occur within the loadAlgorithms() method. Instead, subclasses should call refreshAlgorithms() from any overloaded load() method to trigger an initial load of the provider’s algorithms.

Returns:true if provider could be successfully loaded

See also

unload()

loadAlgorithms(self)

Loads all algorithms belonging to this provider. Subclasses should implement this, calling addAlgorithm() to register all their associated algorithms.

longName(self) → str

Returns the longer version of the provider name, which can include extra details such as version numbers. E.g. “Lastools LIDAR tools (version 2.2.1)”. This string should be localised.

The default implementation returns the same string as name().

See also

name()

See also

id()

name(self) → str

Returns the provider name, which is used to describe the provider within the GUI. This string should be short (e.g. “Lastools”) and localised.

See also

longName()

See also

id()

receivers()
refreshAlgorithms(self)

Refreshes the algorithms available from the provider, causing it to re-populate with all associated algorithms.

sender()
senderSignalIndex()
supportedOutputRasterLayerExtensions(self) → List[str]

Returns a list of the raster format file extensions supported by this provider.

supportedOutputVectorLayerExtensions(self) → List[str]

Returns a list of the vector format file extensions supported by this provider.

supportsNonFileBasedOutput(self) → bool

Returns true if the provider supports non-file based outputs (such as memory layers or direct database outputs). If a provider returns false for this method than it indicates that none of the outputs from any of the provider’s algorithms have support for non-file based outputs. Returning true indicates that the algorithm’s parameters will each individually declare their non-file based support.

The default behavior for providers is to support non-file based outputs, and most providers which rely solely on QGIS API (and which do not depend on third-party scripts or external dependencies) will automatically support this.

svgIconPath(self) → str

Returns a path to an SVG version of the provider’s icon.

See also

icon()

timerEvent()
unload(self)

Unloads the provider. Any tear-down steps required by the provider should be implemented here.

See also

load()