🐍 PySisense: Programmable Sisense Environment Management
⚠️ Experimental Project Notice PySisense is an experimental, community-contributed Python SDK from Sisense Field Engineering, shared “as-is” for learning and experimentation. It is not a GA Sisense feature and is not supported through standard Sisense Customer Support. PySisense runs locally in your environment. You control where it runs, which credentials it uses, and what permissions it has. Use a sandbox first and validate behavior before broader adoption. PySisense is a Python SDK designed for structured, repeatable interaction with the Sisense API. It turns common “environment work” (governance, migrations, lifecycle management, and audits) into clean Python methods so teams can manage Sisense like a platform, not a set of manual clicks and one-off scripts. GitHub Repository: PySisense PySisense's Purpose As Sisense environments scale, operational work becomes harder to manage in three common areas: Efficient Governance: Reduce repetitive audits across large numbers of assets and folders. Smooth and Reliable Migrations: Promote assets across dev, staging, and production with speed and consistency. Straightforward Workflow Development: Avoid stitching together multiple API calls and handling pagination, retries, and permission edge cases manually. PySisense was created to remove that friction by packaging real-world Sisense admin workflows into a consistent SDK that is easy to automate, debug, and extend. PySisense Capabilities 1) Environment and asset management at scale Use Python to search, inventory, and manage Sisense assets and metadata without writing raw REST calls each time. Examples of the type of work PySisense supports: Finding dashboards and folders quickly by name or metadata patterns Auditing ownership, access, and sharing posture Standardizing repeatable admin workflows across environments 2) Cross-environment migrations (dev to prod and beyond) PySisense supports repeatable migrations where you can move users, dashboards, and models across Sisense environments with predictable behavior and structured outputs. This is particularly useful when teams need: Controlled promotion from dev to prod Tenant-to-tenant migration and consolidation Repeatable rollout patterns across multiple environments 3) Governance and bulk operations with consistent logging Operational actions are only useful if they are traceable. PySisense is built for automation with: Structured logging (debug/info/error) Repeatable method interfaces and return shapes A design that is friendly for CI/CD and scripted execution 4) WellCheck: Visibility into complexity and risk PySisense includes a WellCheck module that helps you evaluate dashboard and model health, focusing on complexity and patterns that create operational risk. This can include checks such as: Dashboard structural complexity (widget density, pivot usage, etc.) Data model patterns (many-to-many relationships, island tables, RLS datatype checks, import query patterns) Unused columns and other common cleanup opportunities Intended Audience for PySisense Sisense platform owners who need repeatable governance and operational control Analytics engineering teams managing multiple environments or tenants Developers automating Sisense workflows through scripts and pipelines Advanced Sisense users who prefer “as-code” control over manual UI-heavy operations Organization of the SDK PySisense follows a class-based structure to keep workflows clear and modular: SisenseClient: Base API wrapper for consistent HTTP operations AccessManagement: Users, groups, roles, and permissions workflows Dashboard: Dashboard lifecycle tasks including shares and ownership patterns DataModel: Dataset/schema/security operations and model-level tasks Migration: Cross-environment workflows (users, dashboards, models) WellCheck: Health checks for dashboards and data models Utils: Helpers for export, formatting, and data operations Contributing and Support This is an experimental, community-contributed project maintained by Sisense Field Engineering and provided “as-is.” Do not open a GSS ticket (this is not a GA Sisense feature). For usage questions or help getting started, contact your Customer Success Manager (CSM), who will route feedback to the Field Engineering team. For bugs and improvements, use GitHub Issues or submit a Pull Request. For feature requests, comment below or open a GitHub Issue with details.23Views0likes0Comments