Sisense Python SDK
Project description
Overview
PySense is the fastest, easiest way to manage and automate your Sisense deployment.
PySense is more than just an API wrapper. PySense handles all the complexities of the Sisense API for you so you can spend more time creating value for your customers.
I've taken my years of experience both with implementing BI solutions myself and as a consultant managing implementations for large corporations to streamline what matters most.
With PySense you can manage your BI implementation like a pro with barely any technical skills.
Prerequisites
Required:
- A basic understanding of a high level programing language (JS, Java, Python, C/C++/C#, etc)
- A basic understanding of the following programming concepts
- Control Flows (if, for, while)
- Objects (calling object methods)
- Collections (arrays, lists)
Recommended:
- A basic understanding of Python
If you lack the above but still wish to use PySense I recommend CodeAcademy
Getting Started
You'll need to have Python 3.0+ and an IDE. Development of PySense was done with PyCharm.
If you need help installing Python/PyCharm, see our tutorial
Install PySense with pip:
- pip install PySenseSDK
V 1.0.0 Release Notes
-
Breaking changes
- Private variables removed
- The py_client and json class variables have been made "public" across all objects
- If you referenced these directly, you'll need to remove the leading underscore
- All internal JSON for an object can be accessed through the 'json' member variable
- *.get_json() and *.set_json() methods have been removed as you can now access the JSON directly.
- py_client.set_debug() removed as debug is now public and can be set directly
- Methods renamed for consistency
- dashboard.get_id() -> dashboard.get_oid()
- elasticube.get_datasecurity() -> elasticube.get_data_security()
- elasticube.get_datasecurity_by_table_column() -> elasticube.get_data_security_by_table_column()
- elasticube.add_security_rule() -> elasticube.add_data_security_rule()
- elasticube.delete_rule -> elasticube.delete_data_security_rule()
- Elasticube.get_datasecurity_for_user()
- Renamed to Elasticube.get_data_security_for_user()
- Now takes a PySense User instead of a user_id
- Method does not seem to work on swagger.
- Shares
- A change to the shares necessitates renaming current get_shares() to get_shares_json()
- An additional method was added to get shares by user and group. See more below in additions
- export_* and run_sql methods now require path
- Exports used to have the option to get the raw data back.
- In order to streamline code, exports will be printed directly to file.
- Export methods return the path of the file allowing for easy re read and modification
- DataModel.get_schema_json() removed.
- The schema json is different from the datamodel JSON which PySense works on.
- Schemas are primarily used to migrate/backup models and so will automatically be written to disk
- Use export_to_smodel instead
- Elasticube.get_model()
- Path parameter removed. If you wish to export, use export_to_smodel
- Get model now only returns a DataModel object
- Method only available on Linux
- Formula management removed
- Formulas are unsupported by the API
- Formulas have unpredictable behavior when used/accessed/migrated through undocumented end points
- py_client.bulk_export_dashboards()
- Now export_dashboards, can be used to export 1 to many dashboards
- The Sisense API does not play well with individual dash files
- Path is now required
- py_client.get_datamodels now always returns an array for consistency
- Blox Actions
- create_blox_action adds the action to Sisense automatically
- delete_blox_action now delete_blox_actions
- Accepts an array of Blox Actions instead of a string action type
- Can delete multiple blox actions with one method
- Connections
- Connections are only manageable in Linux
- The windows connections api is unreliable and work differently than the linux API
- Updates and changes to connections can be managed by working directly with the connection json
- Private variables removed
-
Additions
- Get_shares_user_group
- Available for Rules, DataModels, Elasticubes, and Dashboards
- Get a list of users/groups asset is shared with
- Add and delete folders from PySense
- Password
- Can be set as optional variable when creating user
- Can be set after user creation with user.change_password
- Dev readme file added for those who may wish to augment PySense
- Get_shares_user_group
-
Fixes
- Comments now more conformant to standards
- Imports reorganized
- get_shares_json() now returns the shares portion of the JSON and not the entire JSON object
- Test now set up and tear themselves down automatically
- Less time for new developers to work with PySense
- Windows elasticube must still be added manually as the API does not support elasticube manipulation through the API
-
Known Issues
- REST API sometimes becomes unresponsive on Linux builds
- REST API sometimes fails uploading sdata files
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file PySenseSDK-1.0.0.tar.gz
.
File metadata
- Download URL: PySenseSDK-1.0.0.tar.gz
- Upload date:
- Size: 32.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82b956447eb5315b0d5a35cacb0431adeacc6537f3e04195dda62edfb8951332 |
|
MD5 | 9d885dc9b37686cfedf9ee133616cb39 |
|
BLAKE2b-256 | 905f4d3f157376c589f7a95b533c72b4c0dfba878dae6f7b9575631ed26011e4 |
File details
Details for the file PySenseSDK-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: PySenseSDK-1.0.0-py3-none-any.whl
- Upload date:
- Size: 56.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9c99d61232242abc8c760924d046929970ef95f405480d39c9789cc3c9b8651 |
|
MD5 | 7de4ae3d5748d5876cde90b0e71e7962 |
|
BLAKE2b-256 | dc5aa6a6e4ca22ed02ae578ba9a488dec3a4fe6323b073e254a4b6ca31591306 |