This repository is a maintained fork of Tableau’s document-api-python.
It extends the original Document API with object-oriented access to dashboards, worksheets, filters, and datasource dependencies.
All enhancements are fully backward compatible.
If you are looking for the official Tableau Document API, see the upstream project.
This fork builds on Tableau’s Document API with optional, backward-compatible features aimed at analysis and diff tooling:
- Dashboard objects – structured representation with worksheet containment and dependency tracking
- Worksheet objects – access to datasource dependencies, filters, rows, columns, and column instances
- Filter support – dedicated
Filterclass, including parsing of nestedgroupfilterstructures - Datasource dependencies – new
DatasourceDependencyclass separating fields from dependency columns and instances - Query interface – high-level
workbook.queryAPI for cross-workbook analysis and dependency mapping - Column - Table mapping – get the column datasource table as a read-only attribute with
field.table - XML string input –
Workbookclass now accepts TWB XML string input for integration with Tableau Server Client and REST API - Parameter parsing – Enhanced
Fieldclass with read-only parameter attributes (value,param_domain_type,members) and addedget_workbook_parameters()method
Detailed descriptions, examples, and resolved issue references are available in Version 012 Enhancements.
This fork addresses several upstream issues, including:
- #33 – Datasource Filters
- #138 – Datasource-dependencies columns passed as fields
- #164 – Expose all child objects of Workbook/Worksheet
- #246 – Missing attributes for meta-data records
- #129 – Retrieve all fields used in a workbook
For a full explanation, see the “Resolved Upstream Issues” section in Version 012 Enhancements.
All original capabilities of the Tableau Document API are preserved, including:
- Support for TWB, TWBX, TDE and TDSX files
- Access to connection information (server, username, database, authentication type, connection type)
- Updating connection details in workbooks and datasources
- Extracting field information from datasources and workbooks
For more information on the original API, see the Tableau API documentation.