Skip to main content

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)

Source distribution for tableau-inspector 0.3.0
File Size Uploaded
tableau_inspector-0.3.0.tar.gz 71.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tableau-inspector 0.3.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

0.20.2

2 release files

0.20.1

2 release files

0.20.0

2 release files

0.19.1

2 release files

0.19.0

2 release files

0.18.3

2 release files

0.18.2

2 release files

0.18.1

2 release files

0.18.0

2 release files

0.17.2

2 release files

0.17.1

2 release files

0.17.0

2 release files

0.16.0

2 release files

0.15.0

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page