tableaudocumentapi
A Python module for working with Tableau files.
What it is and what it does
Tableaudocumentapi is a Python library for reading and modifying Tableau workbook and data source files by directly manipulating their XML structure. It lets you extract connection details (server, username, database, authentication type) and field metadata from TWB, TWBX, TDE, and TDSX files, and update connection information without opening Tableau Desktop. The package is explicitly unsupported by Tableau and does not support creating files from scratch, adding extracts, or modifying field definitions.
The library targets developers who have been hand-editing Tableau file XML and want a programmatic alternative. It carries high install friction because it ships as source-only and requires local compilation. Maintenance is active (recent commits in 2026), but the last release was in 2022, and Python version support is not formally declared.
Use it for:
- Bulk-update database server names or credentials across many Tableau workbooks in a deployment pipeline.
- Extract connection metadata from data sources to audit or migrate Tableau configurations.
- Automate field discovery across workbooks to catalog which sheets use which data source fields.
- Programmatically modify authentication settings in workbooks before publishing to a different Tableau Server.
- Build a Tableau file inventory tool that reads connection and field information without opening Tableau.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Reads and modifies Tableau workbook and data source files (TWB, TWBX, TDE, TDSX) by programmatically updating their internal XML, without creating files from scratch.
Yes, if you need to programmatically modify Tableau files and accept the unsupported status and high install friction. The package is actively maintained, has no known vulnerabilities, and solves a real problem for Tableau automation. However, verify that it builds cleanly on your Python version before committing to it in production, and be aware that Tableau does not officially support this API.
Install
tableaudocumentapi on PyPI
pip
pip install tableaudocumentapiuv
uv add tableaudocumentapipoetry
poetry add tableaudocumentapiInstalling tableaudocumentapi
Before you install
High install friction: distributed as a source tarball with no runtime dependencies listed, requiring local build. Last release was in 2022, over three years ago, though the repository remains active with recent commits.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely in commercial or private projects with minimal restrictions.
Quickstart
pip install tableaudocumentapi
from tableaudocumentapi import Workbook
wb = Workbook('myfile.twbx')
for ds in wb.datasources:
print(ds.name)
Requires local compilation from source tarball; Python version support is unspecified.
Verify before relying
- Whether the package actually builds and installs cleanly on modern Python versions despite unspecified version support.
- Whether high install friction reflects a genuine build requirement or merely packaging convention.
- Scope and stability of the 'unsupported' API—what breaking changes users should anticipate.
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | actively maintained — 1,376 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 88,118/month — #13,748 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: tableaudocumentapi-0.11.tar.gz
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
tableauhyperapiAutomate creation, reading, and modification of…
permissive · top 5,000 on PyPI
tableauserverclientA Python client library for the Tableau Server…
permissive · top 1,000 on PyPI
pantabConverts DataFrames to and from Tableau Hyper…
permissive · top 15,000 on PyPI
openpyxlopenpyxl reads and writes Excel 2010…
permissive · top 1,000 on PyPI
hyperleaupGenerates Tableau Hyper files directly from…
permissive · top 15,000 on PyPI
tableau-api-libProvides Python bindings to call Tableau…
permissive · top 5,000 on PyPI
excel-mcp-serverProvides a Model Context Protocol server that…
unclear · top 15,000 on PyPI
aspose-cells-pythonAspose.Cells for Python via .NET creates,…
unclear · top 15,000 on PyPI
apache-airflow-providers-tableauIntegrates Tableau with Apache Airflow,…
permissive · top 5,000 on PyPI
dominodatalabProvides Python bindings to interact with the…
permissive · top 15,000 on PyPI