42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
settings = None
|
|
|
|
|
|
class Settings:
|
|
"""Global settings for pydeck
|
|
|
|
Parameters
|
|
----------
|
|
custom_libraries : list
|
|
List of dictionaries of the format {'libraryName': 'LibraryName', 'resouceUri': 'deck.gl class URL'}.
|
|
For example, if there was a custom deck.gl Layer classed `TagmapLayer`
|
|
bundled for distribution at the path `https://demourl.libpath/bundle.js`,
|
|
one could load it into pydeck by doing the following:
|
|
|
|
```
|
|
pydeck.settings.custom_libraries = [
|
|
{
|
|
'libraryName': 'tagmapLibrary',
|
|
'resourceUri': 'https://demourl.libpath/bundle.js'
|
|
}
|
|
]
|
|
layer = pydeck.Layer(
|
|
'TagmapLayer', # Assumes that tagmapLibrary exports TagmapLayer
|
|
# <... kwargs here ...>
|
|
)
|
|
```
|
|
configuration : str
|
|
default_layer_attributes : dict
|
|
"""
|
|
|
|
def __init__(self, custom_libraries: list = None, configuration: str = None, default_layer_attributes: dict = None):
|
|
assert not settings, "Cannot instantiate more than one Settings object"
|
|
self.custom_libraries = custom_libraries or []
|
|
self.configuration = configuration
|
|
self.default_layer_attributes = default_layer_attributes
|
|
|
|
def register_library(self, name, uri):
|
|
self.custom_libraries.append({"libraryName": name, "uri": uri})
|
|
|
|
|
|
if not settings:
|
|
settings = Settings()
|