tableau-inspector (Python)
Local-first CLI that statically analyzes Tableau workbooks (.twb / .twbx) for common issues —
dev-only DB connections, hidden worksheets, unused calculations/parameters, duplicate calculations,
default filters, blank dashboard titles, missing captions, duplicate field aliases — before you
publish. Everything is parsed from the workbook's embedded XML.
An optional AI assistant (ask, explain, summarize, docs --ai) can explain calculations,
summarize dashboards, and answer questions in plain English. It sends only already-extracted
metadata (never raw XML, never live Tableau data) to a configured AI provider — a local Ollama
instance by default, so workbook metadata stays on your machine. Every other command makes no
network calls at all.
This is a Python port of the Node.js tableau-inspector CLI, with the same functionality and
zero runtime dependencies (stdlib only) -- the AI provider layer is implemented with stdlib
urllib, so this holds even with the assistant enabled.
Install
pip install -e .
Quick start
# Lint a workbook for common publishing issues
tableau-inspector analyze workbook.twbx
# Generate a self-contained interactive HTML explorer (overview, lineage, calculations, health)
tableau-inspector explore workbook.twbx
# Trace what a field/calculation depends on and what depends on it
tableau-inspector lineage workbook.twbx --field "Customer Segment"
# Search fields, calculations, dashboards, worksheets, filters, parameters, and datasources
tableau-inspector search workbook.twbx "profit"
tableau-inspector search workbook.twbx "DATEDIFF" --formula
tableau-inspector search workbook.twbx "sales" --type field
# Diff two versions of a workbook
tableau-inspector compare old.twbx new.twbx
# Ask a question about a workbook (requires a running Ollama instance)
tableau-inspector ask workbook.twbx "What does Profit Margin calculate?" --model llama3.1
# Explain a specific calculation in plain English
tableau-inspector explain workbook.twbx --calculation "Profit Margin" --model llama3.1
# Summarize a dashboard's purpose, contents, filters, parameters, and key calculations
tableau-inspector summarize workbook.twbx --dashboard "Executive Dashboard" --model llama3.1
# Generate documentation with AI-written summaries and calculation explanations woven in
tableau-inspector docs workbook.twbx --ai --model llama3.1
Every command also supports --json for machine-readable output, and analyze/compare support
--html for a shareable, self-contained HTML report.
AI assistant
ask/explain/summarize/docs --ai require a model name via --model, the
TABLEAU_INSPECTOR_AI_MODEL environment variable, or (for a non-default provider)
--provider/TABLEAU_INSPECTOR_AI_PROVIDER. The default provider is a local
Ollama instance at http://localhost:11434 (override with --ollama-host /
TABLEAU_INSPECTOR_OLLAMA_HOST). Start Ollama and pull a model before using these commands:
ollama serve
ollama pull llama3.1
Documentation
See USAGE.md for the full command reference (every flag, exit codes, AI provider
setup, and example workflows), or run tableau-inspector --help / tableau-inspector <command> --help for the same option reference from the CLI itself.
License
MIT © Joshua Bowen
Release files for tableau-inspector 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tableau_inspector-0.3.0.tar.gz | 71.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tableau_inspector-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 184.8 kB
Release files / tableau_inspector-0.3.0.tar.gz
| Download URL | tableau_inspector-0.3.0.tar.gz |
|---|---|
| Size | 71.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6cfbcbe01e8cd8f1919025c2dac6a8a30c45c9df348f17f847d8f3450b46258e
|
|
BLAKE2b-256 checksum How to use checksums |
81286a7f9faec70907a1c9a905745d92dbb2a2a5a98bf546edb10dc8314df5c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.7
|
Release files / tableau_inspector-0.3.0-py3-none-any.whl
| Download URL | tableau_inspector-0.3.0-py3-none-any.whl |
|---|---|
| Size | 113.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4da35ef51abc5512b2b3be05206902978522c425372fd857b31ddf35c406e8e4
|
|
BLAKE2b-256 checksum How to use checksums |
3efe29d527e93d1c3446f9ae17e5f9c9a6f94737007aede2103e9a726cb224f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.7
|