sisense.data package¶
Submodules¶
sisense.data.build module¶
-
class
sisense.data.build.Build(api: sisense.api.API, rjson: dict = None)[source]¶ Bases:
sisense.resource.Resource-
BUILDING= 'building'¶
-
CANCELLED= 'cancelled'¶
-
DONE= 'done'¶
-
FAILED= 'failed'¶
-
PENDING= 'pending'¶
-
all(datamodel_id: str = None, status: str = None) → list[source]¶ Get a list of build tasks.
Parameters: - datamodel_id – (str, default None) ID of Datamodel to filter results by.
- status – (str, default None) Build status to filter results by. Possible values: pending, building, done, failed, cancelled.
Returns: (list) List of Build objects.
-
get(oid: str) → sisense.resource.Resource[source]¶ Get a build task by id.
Parameters: oid – (str) Build ID. Returns: Build
-
start(datamodel_id: str, build_type: str = 'schema_changes', row_limit: int = None) → sisense.resource.Resource[source]¶ Start a new build.
Parameters: - datamodel_id – (str) Datamodel ID.
- build_type – (str, default ‘schema_changes’) Type of build. Possible values: schema_changes, by_table, full
- row_limit – (int) Row limit.
Returns: Build
-
sisense.data.connection module¶
-
class
sisense.data.connection.Connection(api: sisense.api.API, rjson: dict = None)[source]¶ Bases:
sisense.resource.Resource-
all(**kwargs) → list[source]¶ Get all connections.
Parameters: kwargs – Optional keyword arguments. - sort: (str) Field by which the result should be sorted. - skip: (int) Number the results to skip from the start. USe for paging. - limit: (int) Nuber of results to retrieve. Returns: a list of Connection objects.
-
create(**kwargs) → sisense.resource.Resource[source]¶ Create a new connection.
Parameters: kwargs – Keyword arguments. - owner: (str) User’s ID. - provider: (str) Connection type: Excel, MySQL, MS SQL… - timeout: (int) Connection timeout. - refreshRate: (float) Optional. Just for live models. - timezone: (str) Optional. Timezone. - schema: (str) Database schema that will be used. - parameters: (dict) Other parameters such as UserName, Password, Database… Returns: (Connection) The new connection.
-
get(oid: str) → sisense.resource.Resource[source]¶ Get the specified connection.
Parameters: oid – (str) Connections’s ID. Returns: (Connection)
-
update(**kwargs) → sisense.resource.Resource[source]¶ Update the current connection.
Parameters: kwargs – Keyword arguments. - owner: (str) User’s ID. - provider: (str) Connection type: Excel, MySQL, MS SQL… - timeout: (int) Connection timeout. - refreshRate: (float) Optional. Just for live models. - timezone: (str) Optional. Timezone. - schema: (str) Database schema that will be used. - parameters: (dict) Other parameters such as UserName, Password, Database… Returns: (Connection) The updated connection.
-
sisense.data.datamodel module¶
-
class
sisense.data.datamodel.Datamodel(api: sisense.api.API, rjson: dict = None)[source]¶ Bases:
sisense.resource.Resource-
clone(title: str) → sisense.resource.Resource[source]¶ Clone this datamodel.
Parameters: title – (str) Datamodel’s title. Returns: (Datamodel) The new datamodel.
-
create(title: str, server: str = 'LocalHost', ctype: str = 'extract') → sisense.resource.Resource[source]¶ Create a new datamodel.
Parameters: - title – (str) Datamodel’s title.
- server – (str, default ‘LocalHost’) Server in which the datamodel should be created.
- ctype – (str, default ‘extract’) Creation type.
Returns: (Datamodel) The new datamodel.
-
do_export(filepath: str, full: bool = False)[source]¶ Export the datamodel.
Parameters: - filepath – (str) Where to save the downloaded file, including file’s name.
- full – (bool, default False) If true, export datamodel with schema and data. Otherwise, only export datamodel’s schema.
-
do_import(title: str, filepath: str, full: bool = False) → sisense.resource.Resource[source]¶ Import a datamodel.
Parameters: - title – (str) New datamodel’s title.
- filepath – (str) Where to get data for import, including file’s name.
- full – (bool, default False) If true, import datamodel with schema and data. Otherwise, only import datamodel’s schema.
Returns: (Datamodel) The new datamodel.
-
get(oid: str = None, title: str = None) → sisense.resource.Resource[source]¶ Get datamodel by ID. At least one of the parameters should be set.
Parameters: - oid – (str, default None) Datamodel’s ID to search for.
- title – (str, default None) Datamodel’s title to search for. If oid is set, title is ignored.
Returns: Datamodel
-
get_latest_build_log(start_from: int = 1)[source]¶ Get datamodel’s latest build log.
Parameters: start_from – (int, default 1) From log sequence number. Returns: (list) Logs. Example: [{ ”timestamp”: “2022-10-25T19:03:12.069Z”, “verbosity”: “Info”, “type”: “buildFlow”, “message”: “Waiting in queue”, “trackId”: “77d24bba-c7f8-4c47-9de9-a64bc5a7e746”, “contextRef”: null, “serverId”: “7c3f73dd-0b38-48dc-9347-c78811bd80c4”, “serverName”: “localhost”, “cubeId”: “Bot”, “sessionId”: “0c2152c0-d716-4579-895e-1f24f3aa8670”, “buildSeq”: 1, “typeValue”: {”tableName”: null, “columnName”: null, “trackingItemEventId”: null, “title”: “Waiting in queue”, “description”: “Waiting in queue”, “additionalInfo”: null, “__typename”: “BuildLogGeneralInfoTypeValue”}, “serverTime”: “2022-10-28T17:42:00.795Z”, “__typename”: “BuildLogEntry”
}, …]
-
list()[source]¶ - Get the following information for each elasticube:
- instance: Query instance
- id: elasticube’s ID
- name: elasticube’s name
- runtime_status: RUNNING or STOPPED
- index_size: LONG or SHORT
- path: path to the elasticube data on Linux
- shadow_path: (?)
- next_path: in case the elasticube is divided into two paths
- last_failure_message: if build failed, shows the last message
Returns: (list) a list of Datamodel objects
-
sisense.data.datasecurity module¶
-
class
sisense.data.datasecurity.DataSecurity(api: sisense.api.API, rjson: dict = None, elasticube_name: str = None)[source]¶ Bases:
sisense.resource.Resource-
all(table: str = None, column: str = None, elasticube: str = None) → list[source]¶ Get elasticube’s data security rules. If ‘table’ and ‘column’ are specified, get rules for that specific column.
Parameters: - table – (str, default None) Datatable’s name.
- column – (str, default None) Column’s name.
- elasticube – (str, default None) Elasticube’s name. If None, use self.elasticube.
Returns: (list) of DataSecurity objects
-
create(table: str, column: str, datatype: str, shares: list, elasticube: str = None, **kwargs) → sisense.resource.Resource[source]¶ Create a new data security rule.
Parameters: - table – (str) Datatable’s name.
- column – (str) Column’s name.
- datatype – (str) Type of data. For example: ‘text’.
- shares – (list) List of shares dict {‘party’: <user/group id>, ‘type’: <’user’ or ‘group’>}
- members – (list, default None) Values considered. For example: if column is CountryName, then members can be a list of country names to allow or deny.
- all_members – (bool, default True) Whether to apply the rules for all members. If members is set, this parameter is ignored.
- exclusionary – (bool, default True) Allow (False) or deny (True) members.
- elasticube – (str, default None) Elasticube’s name. If None, use self.elasticube.
Returns: (DataSecurity) The new data security rule.
-
delete_all(table: str = None, column: str = None, elasticube: str = None)[source]¶ Delete data security rules for a specific column.
Parameters: - table – (str, default None) Datatable’s name. If None, use self.table.
- column – (str, default None) Column’s name. If None, use self.column.
- elasticube – (str, default None) Elasticube’s name. If None, use self.elasticube.
-
sisense.data.datasource module¶
-
class
sisense.data.datasource.Datasource(api: sisense.api.API, rjson: dict = None)[source]¶ Bases:
sisense.resource.Resource-
from_sql(datasource, query: str) → dict[source]¶ Execute a SQL statement in the specified datasource.
Parameters: - datasource – (str or dict) Elasticube name or datasource representation as JSON.
- query – (str) A SQL statement.
Returns: (dict) {“headers”: list, “values”: list of lists}
-
jaql(datasource: [<class 'dict'>, <class 'str'>], metadata: list) → dict[source]¶ Execute JAQL on datasource.
Parameters: - datasource – (str or dict) Elasticube name or datasource representation as JSON.
- metadata – (list) A list of JAQL representations as dict. See https://sisense.dev/reference/jaql/ for details.
Returns: returns a dictionary with the structure of a widget expected in headers, metadata, datasource, values.
-
to_csv(datasource, metadata: list) → str[source]¶ Execute JAQL and return the result as CSV.
Parameters: - datasource – (str or dict) Elasticube name or datasource representation as JSON.
- metadata – (list) A list of JAQL representations as dict. See https://sisense.dev/reference/jaql/ for details.
Returns: (pandas.DataFrame) Data as CSV represent by a pandas.DataFrame.
-
sisense.data.elasticube module¶
-
class
sisense.data.elasticube.Elasticube(api: sisense.api.API, rjson: dict = None)[source]¶ Bases:
sisense.resource.Resource
sisense.data.hierarchy module¶
-
class
sisense.data.hierarchy.Hierarchy(api: sisense.api.API, rjson: dict = None, elasticube_name: str = None)[source]¶ Bases:
sisense.resource.Resource-
all(elasticube: str = None) → list[source]¶ Get elasticube’s hierarchies.
Parameters: elasticube – (str, default None) Elasticube’s name. If None, use self.elasticube. Returns: a list of Hierarchy objects
-
create(title: str, levels: list, always_included: bool, elasticube: str = None) → sisense.resource.Resource[source]¶ Create a new hierarchy.
Parameters: - title – (str) Hierarchy’s title.
- levels – (list) List of dict {‘title’: str, ‘table’: str, ‘column’: str, ‘datatype’: str, ‘dim’: str, index: int}.
- always_included – (bool) Whether to always include the hierarchy on widget.
- elasticube – (str, default None) Elasticube’s name. If None, use self.elasticube.
Returns: (Hierarchy) The new hierarchy.
-
sisense.data.permission module¶
-
class
sisense.data.permission.Permission(api: sisense.api.API, rjson: dict = None, elasticube_name: str = None)[source]¶ Bases:
sisense.resource.Resource-
all(elasticube: str = None) → list[source]¶ Get permissions (shares) for the specified elasticube.
Parameters: elasticube – (str, default None) Elasticube’s name. If None, use self.elasticube. Returns: a list of permission objects
-
create(oid: str = None, ptype: str = None, level: str = None, elasticube: str = None) → sisense.resource.Resource[source]¶ Create new permission to the specified elasticube. If any optional parameters are None, add the current permission.
Parameters: - oid – (str, default None) Group/user id.
- ptype – (str, default None) Party’s type. Possible values are: ‘group’ or ‘user’.
- level – (str, default None) Permission’s type. Possible values are: ‘r’ (read) or ‘w’ (write).
- elasticube – (str, default None) Elasticube’s name. If None, use self.elasticube.
Returns: (Permission) The new permission.
-