Class: QgsProviderRegistry¶
- class qgis.core.QgsProviderRegistry¶
Bases:
sip.wrapper
A registry / canonical manager of data providers.
This is a Singleton class that manages data provider access.
Providers can be either loaded via libraries or native providers that are included in the core QGIS installation and accessed through function pointers.
Loaded providers may be restricted using QGIS_PROVIDER_FILE environment variable. QGIS_PROVIDER_FILE is regexp pattern applied to provider file name (not provider key). For example, if the variable is set to gdal|ogr|postgres it will load only providers gdal, ogr and postgres.
Methods
Creates database by the provider on the path
Creates a new instance of a provider.
Returns a new QLibrary for the specified
providerKey
.Creates new instance of raster data provider
Returns a new widget for selecting layers from a provider.
Returns new instance of transaction.
Returns list of data item providers of the provider
Returns a string containing the available database drivers
Breaks a provider data source URI into its component paths (e.g.
Deletes a layer style defined by
styleId
Returns a string containing the available directory drivers
Reassembles a provider data source URI from its component paths (e.g.
Returns mesh's dataset file filter string
Returns mesh file filter string
Returns raster file filter string
Returns vector file filter string
Gets pointer to provider function
Gets a layer style defined by
styleId
Means of accessing canonical single instance
Returns path for the library of the provider.
Returns the library directory where plugins are found.
Lists stored layer styles in the provider defined by
providerKey
anduri
Loads a layer style defined by
uri
Returns list of provider plugins found
Returns a string containing the available protocol drivers
Returns the provider capabilities
Returns list of available providers by their keys
Returns metadata of the provider or
None
if not foundReturns list of raster pyramid resampling methods
Deprecated since version QGIS: 3.10
register a new vector data provider from its
providerMetadata
Saves a layer style to provider
Sets library directory where to search for plugins
Attributes
- Embedded = 1¶
- Manager = 2¶
- None = 0¶
- class WidgetMode¶
Bases:
int
- createDb(self, providerKey: str, dbPath: str, errCause: str) bool ¶
Creates database by the provider on the path
New in version 3.10.
- Parameters
providerKey (str) –
dbPath (str) –
errCause (str) –
- Return type
bool
- createProvider(self, providerKey: str, dataSource: str, options: QgsDataProvider.ProviderOptions = QgsDataProvider.ProviderOptions(), flags: Union[QgsDataProvider.ReadFlags, QgsDataProvider.ReadFlag] = QgsDataProvider.ReadFlags()) QgsDataProvider ¶
Creates a new instance of a provider.
- Parameters
providerKey (str) – identifier of the provider
dataSource (str) – string containing data source for the provider
options (QgsDataProvider.ProviderOptions = QgsDataProvider.ProviderOptions()) – provider options
flags (Union[QgsDataProvider.ReadFlags) – provider flags since QGIS 3.16
- Return type
- Returns
new instance of provider or
None
on error
See also
- createProviderLibrary(self, providerKey: str) QLibrary ¶
Returns a new QLibrary for the specified
providerKey
. Ownership of the returned object is transferred to the caller and the caller is responsible for deleting it.If the provider uses direct provider function pointers instead of a library
None
will be returned.Deprecated since version QGIS: 3.10 - providers may not need to be loaded from a library
- Parameters
providerKey (str) –
- Return type
QLibrary
- createRasterDataProvider(self, providerKey: str, uri: str, format: str, nBands: int, type: Qgis.DataType, width: int, height: int, crs: QgsCoordinateReferenceSystem, createOptions: Iterable[str] = []) Tuple[QgsRasterDataProvider, float] ¶
Creates new instance of raster data provider
See also
New in version 3.10.
- Parameters
providerKey (str) –
uri (str) –
format (str) –
nBands (int) –
type (Qgis.DataType) –
width (int) –
height (int) –
crs (QgsCoordinateReferenceSystem) –
createOptions (Iterable[str] = []) –
- Return type
Tuple[
QgsRasterDataProvider
, float]
- createSelectionWidget(self, providerKey: str, parent: QWidget = None, fl: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags(), widgetMode: QgsProviderRegistry.WidgetMode = QgsProviderRegistry.WidgetMode.None) QWidget ¶
Returns a new widget for selecting layers from a provider. Either the
parent
widget must be set or the caller becomes responsible for deleting the returned widget.Deprecated since version QGIS: 3.10 - use QgsGui.sourceSelectProviderRegistry()->createDataSourceWidget() instead
- Parameters
providerKey (str) –
parent (QWidget = None) –
fl (Union[Qt.WindowFlags) –
widgetMode (QgsProviderRegistry.WidgetMode = QgsProviderRegistry.WidgetMode.None) –
- Return type
QWidget
- createTransaction(self, providerKey: str, connString: str) QgsTransaction ¶
Returns new instance of transaction. Ownership is transferred to the caller
New in version 3.10.
- Parameters
providerKey (str) –
connString (str) –
- Return type
- dataItemProviders(self, providerKey: str) List[QgsDataItemProvider] ¶
Returns list of data item providers of the provider
Note
Ownership of created data item providers is passed to the caller.
New in version 3.10.
- Parameters
providerKey (str) –
- Return type
List[QgsDataItemProvider]
- databaseDrivers(self) str ¶
Returns a string containing the available database drivers
- Return type
str
- decodeUri(self, providerKey: str, uri: str) Dict[str, Any] ¶
Breaks a provider data source URI into its component paths (e.g. file path, layer name).
- Parameters
providerKey (str) – identifier of the provider
uri (str) – uri string
- Return type
Dict[str, Any]
- Returns
map containing components. Standard components include “path”, “layerName”, “url”.
Note
this function may not be supported by all providers, an empty map will be returned in such case
New in version 3.4.
- deleteStyleById(self, providerKey: str, uri: str, styleId: str, errCause: str) bool ¶
Deletes a layer style defined by
styleId
New in version 3.10.
- Parameters
providerKey (str) –
uri (str) –
styleId (str) –
errCause (str) –
- Return type
bool
- directoryDrivers(self) str ¶
Returns a string containing the available directory drivers
- Return type
str
- encodeUri(self, providerKey: str, parts: Dict[str, Any]) str ¶
Reassembles a provider data source URI from its component paths (e.g. file path, layer name).
- Parameters
providerKey (str) – identifier of the provider
parts (Dict[str) – parts as returned by decodeUri
- Return type
str
- Returns
datasource uri string
Note
this function may not be supported by all providers, an empty string will be returned in such case
See also
New in version 3.12.
- fileMeshDatasetFilters(self) str ¶
Returns mesh’s dataset file filter string
Returns a string suitable for a QFileDialog of mesh datasets file formats supported by all data providers.
This walks through all data providers appending calls to their fileMeshFilters to a string, which is then returned.
See also
New in version 3.6.
- Return type
str
- fileMeshFilters(self) str ¶
Returns mesh file filter string
Returns a string suitable for a QFileDialog of mesh file formats supported by all data providers.
This walks through all data providers appending calls to their fileMeshFilters to a string, which is then returned.
See also
New in version 3.6.
- Return type
str
- fileRasterFilters(self) str ¶
Returns raster file filter string
Returns a string suitable for a QFileDialog of raster file formats supported by all data providers.
This walks through all data providers appending calls to their buildSupportedRasterFileFilter to a string, which is then returned.
Note
This replaces
QgsRasterLayer.buildSupportedRasterFileFilter()
- Return type
str
- fileVectorFilters(self) str ¶
Returns vector file filter string
Returns a string suitable for a QFileDialog of vector file formats supported by all data providers.
This walks through all data providers appending calls to their fileVectorFilters to a string, which is then returned.
note
It’d be nice to eventually be raster/vector neutral.
- Return type
str
- function(self, providerKey: str, functionName: str) sip.voidptr ¶
Gets pointer to provider function
- Parameters
providerKey (str) – identifier of the provider
functionName (str) – name of function
- Return type
sip.voidptr
- Returns
pointer to function or
None
on error. If the provider uses direct provider function pointers instead of a libraryNone
will be returned.
Deprecated since version QGIS: 3.10 - any provider functionality should be accessed through QgsProviderMetadata
- getStyleById(self, providerKey: str, uri: str, styleId: str, errCause: str) str ¶
Gets a layer style defined by
styleId
New in version 3.10.
- Parameters
providerKey (str) –
uri (str) –
styleId (str) –
errCause (str) –
- Return type
str
- instance(pluginPath: str = '') QgsProviderRegistry ¶
Means of accessing canonical single instance
- Parameters
pluginPath (str = '') –
- Return type
- library(self, providerKey: str) str ¶
Returns path for the library of the provider.
If the provider uses direct provider function pointers instead of a library an empty string will be returned.
Deprecated since version QGIS: 3.10 - providers may not need to be loaded from a library (empty string returned)
- Parameters
providerKey (str) –
- Return type
str
- libraryDirectory(self) QDir ¶
Returns the library directory where plugins are found.
- Return type
QDir
- listStyles(self, providerKey: str, uri: str, ids: Iterable[str], names: Iterable[str], descriptions: Iterable[str], errCause: str) int ¶
Lists stored layer styles in the provider defined by
providerKey
anduri
- Return type
int
- Returns
-1 if not implemented by provider, otherwise number of styles stored
New in version 3.10.
- Parameters
providerKey (str) –
uri (str) –
ids (Iterable[str]) –
names (Iterable[str]) –
descriptions (Iterable[str]) –
errCause (str) –
- loadStyle(self, providerKey: str, uri: str, errCause: str) str ¶
Loads a layer style defined by
uri
New in version 3.10.
- Parameters
providerKey (str) –
uri (str) –
errCause (str) –
- Return type
str
- pluginList(self, asHtml: bool = False) str ¶
Returns list of provider plugins found
- Parameters
asHtml (bool = False) –
- Return type
str
- protocolDrivers(self) str ¶
Returns a string containing the available protocol drivers
- Return type
str
- providerCapabilities(self, providerKey: str) int ¶
Returns the provider capabilities
- Parameters
providerKey (str) – identifier of the provider
New in version 2.6.
Deprecated since version QGIS: 3.10 (use instead capabilities() method of individual data item provider)
- Return type
int
- providerList(self) List[str] ¶
Returns list of available providers by their keys
- Return type
List[str]
- providerMetadata(self, providerKey: str) QgsProviderMetadata ¶
Returns metadata of the provider or
None
if not found- Parameters
providerKey (str) –
- Return type
QgsProviderMetadata
- pyramidResamplingMethods(self, providerKey: str) List[Tuple[str, str]] ¶
Returns list of raster pyramid resampling methods
New in version 3.10.
- Parameters
providerKey (str) –
- Return type
List[Tuple[str, str]]
- registerGuis(self, widget: QWidget)¶
Deprecated since version QGIS: 3.10 - does nothing - use QgsGui.providerGuiRegistry()
- Parameters
widget (QWidget) –
- registerProvider(self, providerMetadata: QgsProviderMetadata) bool ¶
register a new vector data provider from its
providerMetadata
- Return type
bool
- Returns
True
on success,False
if a provider with the same key was already registered
Note
ownership of the
QgsProviderMetadata
instance is transferred to the registryNew in version 3.2.
- Parameters
providerMetadata (QgsProviderMetadata) –
- saveStyle(self, providerKey: str, uri: str, qmlStyle: str, sldStyle: str, styleName: str, styleDescription: str, uiFileContent: str, useAsDefault: bool, errCause: str) bool ¶
Saves a layer style to provider
New in version 3.10.
- Parameters
providerKey (str) –
uri (str) –
qmlStyle (str) –
sldStyle (str) –
styleName (str) –
styleDescription (str) –
uiFileContent (str) –
useAsDefault (bool) –
errCause (str) –
- Return type
bool
- setLibraryDirectory(self, path: QDir)¶
Sets library directory where to search for plugins
- Parameters
path (QDir) –