Source code for sisense.sisense_client

from .api import API
from .analysis import *
from .admin import *
from .data import *


[docs]class Sisense: def __init__(self, host: str, token: str): """ Manage API's entities. :param host: (str) Domain name server. :param token: (str) API's access token. """ self._host = host self._token = token if token.startswith('Bearer ') else f'Bearer {token}' @property def datamodel(self) -> Datamodel: """Start point for datamodel objects.""" api = self._api_v2() return Datamodel(api) @property def build(self) -> Build: """Start point for build objects.""" api = self._api_v2() return Build(api) @property def elasticube(self) -> Elasticube: """Start point for elasticube objects.""" api = self._api_v1() return Elasticube(api) @property def connection(self) -> Connection: """Start point for connection objects.""" api = self._api_v1() return Connection(api) @property def permission(self) -> Permission: """Start point for permission objects.""" api = self._api_v09() return Permission(api) @property def hierarchy(self) -> Hierarchy: """Start point for hierarchy objects.""" api = self._api_v09() return Hierarchy(api) @property def datasecurity(self) -> DataSecurity: """Start point for datasecurity objects.""" api = self._api_v09() return DataSecurity(api) @property def user(self) -> User: """Start point for user objects.""" api = self._api_v1() return User(api) @property def group(self) -> Group: """Start point for group objects.""" api = self._api_v1() return Group(api) @property def dashboard(self) -> Dashboard: """Start point for dashboard objects.""" api = self._api_v1() return Dashboard(api) @property def folder(self) -> Folder: """Start point for folder objects.""" api = self._api_v1() return Folder(api) @property def datasource(self) -> Datasource: """Start point for Datasource objects.""" api = self._api_v09() return Datasource(api) @property def grafana(self) -> Grafana: """Start point for Grafana objects.""" api = API(self._host, '', self._token, prefix='app') return Grafana(api) def _api_v2(self): return API(self._host, 'v2', self._token) def _api_v1(self): return API(self._host, 'v1', self._token) def _api_v09(self): return API(self._host, '', self._token)