A Python SDK for interacting with Sisense API
Project description
📊 Sisense SDK (pysisense)
pysisense is a Python SDK designed for seamless and structured interaction with the Sisense API.
It simplifies complex API operations and allows you to automate and manage users, groups, dashboards, data models, and more.
✅ Built for automation, debugging, and extensibility.
📦 Installation
You can install pysisense from PyPI:
pip install pysisense
For local development, install in editable mode:
pip install -e .
🚀 Quick Start
1️⃣ Configure the YAML
Before running any scripts, update the required YAML files in the examples/ folder:
config.yaml– for single-environment operationssource.yamlandtarget.yaml– for migration scenarios
These contain fields like:
domain: "your-domain.sisense.com"
is_ssl: true
token: "<your_api_token>"
⚠️ Do not commit your tokens. The provided YAMLs contain placeholder structure only.
⚠️ Important: Use a Dedicated Admin Token
Some methods in this SDK require full administrative privileges to interact with Sisense resources (such as ownership changes, user migrations, or folder/dashboard access).
To avoid permission-related issues or incomplete operations:
It is recommended to use a new dedicated Sisense admin user's token when authenticating via your config.yaml.
Using restricted or scoped users may result in failures or inconsistent behavior, especially for:
- Folder and dashboard ownership changes
- Granting permissions across environments
- System-wide migrations
2️⃣ Use Example Scripts
A complete set of usage examples is available under examples/. Each file demonstrates common operations and usage patterns:
-
access_management_example.py
Identity & Governance – Manage users, groups, folder access, and governance operations such as identifying unused assets. -
datamodel_example.py
Data Modeling – Work with datasets, tables, columns, and schema structures within Sisense data models. -
dashboard_example.py
Dashboard Lifecycle – Retrieve, update, reassign ownership, and manage shares of Sisense dashboards. -
migration_example.py
Environment Migration – Migrate users, dashboards, and data models across Sisense environments (e.g., from dev to prod).
These example files are not meant to be executed end-to-end, but rather serve as reference implementations to guide usage within your own environment or automation pipelines.
3️⃣ Logs
All logs are saved automatically to a local folder:
logs/pysisense.log
You don’t need to create this folder manually — it will be created at runtime in the same directory where you run your scripts.
✅ Features
- 👥 User & Group Management – Create, update, delete, and fetch users or groups
- 📊 Dashboard Management – Export, share, and migrate dashboards
- 📦 Data Models – Explore, describe, and update schemas and security
- 🔐 Permissions – Resolve and apply share rules (users & groups)
- 🔄 Cross-Environment Migrations – Move dashboards, models, and users
- 🧠 Smart Logging & Data Helpers – Auto log capture, CSV export, and DataFrame conversion
- ➕ And many more – Refer to the documentation for full details
🔧 Design Philosophy
- Pythonic SDK with class-based structure (
Dashboard,DataModel,AccessManagement,Migration) - Modular YAML-based authentication
- Built-in logging and exception handling
- Designed for end-to-end automation and real-world use
📚 Documentation
Comprehensive module-level documentation is available in the docs/ folder:
-
Index – Overview of the SDK structure and modules
-
API Client – Base API wrapper for all HTTP operations
-
Access Management – Manage users, groups, roles, and permissions
-
Data Model – Handle datasets, tables, schemas, security, and deployment
-
Dashboard – Retrieve, modify, and share Sisense dashboards
-
Migration – Migrate users, dashboards, and models between environments
-
Utils – Helper functions for export, formatting, and data operations
You can also explore:
- Inline method docstrings using
help()in Python or directly within your IDE.
🛠️ Contributing
We welcome your contributions!
- Fork this repo
- Create a feature branch:
git checkout -b feature/my-feature - Commit your changes
- Open a pull request for review
📄 License
This project is licensed under the MIT License.
📧 Contact
Maintainer: Himanshu Negi
📩 Email: himanshu.negi.08@gmail.com
🔗 GitHub Repository
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pysisense-0.1.1.tar.gz.
File metadata
- Download URL: pysisense-0.1.1.tar.gz
- Upload date:
- Size: 53.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
517e8966d6e61a759692e2d7bbdd44d4a54e8f535c37cae04af20610717f3a1c
|
|
| MD5 |
51599a1c541759ae1807748da8cf1d09
|
|
| BLAKE2b-256 |
e2a7f167073975298ce8d5ed96c2ccd02446cac1df67d8c276505c01100e602a
|
File details
Details for the file pysisense-0.1.1-py3-none-any.whl.
File metadata
- Download URL: pysisense-0.1.1-py3-none-any.whl
- Upload date:
- Size: 53.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b595f39d41a6dffcee7f4b39a9f82363bed70933649bf2cb3fdaaef360ac932c
|
|
| MD5 |
78a43574a3dd167b72b9760455516d32
|
|
| BLAKE2b-256 |
08add053ffcbf91e7dc497726bba54ff2b97e8177e0c2c9e255f886a596f2d8a
|