Skip to main content

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.

Documentation

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

Tutorial Videos

V 0.3.0 Release Notes

  • Breaking changes

    • Sisense Roles are now an enum.

      • There are many different names for a role that are used internally and externally. In an attempt to control for that, Roles are now implemented as an enum in SisenseRoles.Role.
      • To get the role from a string, you can use SisenseRole.Role.from_str()
      • To add a user with the Viewer role you would do: add_user('my_user@example.com', SisenseRole.Role.from_str('Viewer'))
      • This will ensure stability around roles as Sisense terminology changes.
      • PySense.get_role_name -> PySense.get_role_by_id()
        • This method now returns a SisenseRole.Role enum instead of a string
    • Many methods have been renamed

      • Some Sisense components have ids, some have oids, some have _ids, and some have multiple. When I started I wanted to see if I could remove some of the confusion by picking a single naming structure. As Sisense and PySense have grown in complexity, that goal is no longer realistic and so methods have been renamed to match their json attributes more directly.
      • In addition some methods have been renamed for brevity, clarity, and to align with the rest of PySense.
      • The parameters and usage of these methods has not changes unless noted otherwise
      • The following have been changes
        • Dashboard.get_name -> Dashboard.get_title
        • Dashboard.get_dashboard_folder -> Dashboard.get_folder
        • Elasticube.get_name -> Elasticube.get_title
        • Elasticube.get_security_for_user -> Elasticube.get_datasecurity_for_user
        • Elasticube.get_elasticube_oid -> Elasticube.get_oid
        • Folder.get_id -> Folder.get_oid
        • Widget.get_id -> Widget.get_oid
        • Group.get_id -> Group.get_oid
    • Undocumented endpoints have been disabled

      • When PySense first started as more of a hacked together project, I felt it would be nice to incorporate hidden endpoints. As PySense has grown it is unsustainable to keep these end points reliable.
      • The following methods have been modified
        • DataModel.export_to_smodel no longer works on Windows
        • Elasticube.get_model no longer works on Windows
      • To manipulate datamodels in Windows, use the CLI/Prism
    • Snippets have been removed as the effort required to keep them in sync with versions was not worth it

  • Additions

    • A public training series is being created. The reference material for that will be stored in the PySense Tutorial folder.
  • Fixes

    • More consistent version checking
  • Known Issues

    • REST API sometimes becomes responsive on Linux builds
    • 0.3.0 has a large number of changes. If you encounter problems, feel free to create GitHub issues.
    • Scripts folder was updated, but due to the difficulty of testing the scripts, there may be syntax issues. If you find them, feel free to create a GitHub issue.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PySenseSDK-0.3.0.tar.gz (26.3 kB view details)

Uploaded Source

Built Distribution

PySenseSDK-0.3.0-py3-none-any.whl (48.4 kB view details)

Uploaded Python 3

File details

Details for the file PySenseSDK-0.3.0.tar.gz.

File metadata

  • Download URL: PySenseSDK-0.3.0.tar.gz
  • Upload date:
  • Size: 26.3 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

Hashes for PySenseSDK-0.3.0.tar.gz
Algorithm Hash digest
SHA256 2bf745ed8c2b22a7ec3b3853fa2461a834582bc93c92bb9a35ddfded3c9a0677
MD5 92ed7f0274319597cc2c53567650d108
BLAKE2b-256 4102ecad081815ca62a18023de351c5b30a35717ad1636baca9188794c6cb2c6

See more details on using hashes here.

File details

Details for the file PySenseSDK-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: PySenseSDK-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 48.4 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

Hashes for PySenseSDK-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f9a33377c2805be21cfd43f12a281e6960a61b5c9869eb31f4dc89f4fa6603ab
MD5 a816dd148f8ef1a4dda82c5196cf9b74
BLAKE2b-256 c792aa13699ef81806e009b8e9cd87e18eb60459d7dcc736f26b6a4969f14be4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page