team-10/venv/Lib/site-packages/pydeck/settings.py
2025-08-02 02:00:33 +02:00

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()