✅ Resolved in v012: Introduced a DatasourceDependency class and extended each Worksheet with a .datasource_dependencies property.
- Dependencies now expose their own columns and column instances, separate from
Datasource.fields. - This distinction allows developers to correctly differentiate between true fields and dependency columns, avoiding the ambiguity in the original API.
✅ Resolved in v012: Added a Filter class that provides direct access to worksheet-level and datasource-level filters.
- Exposes filter class, target column(s), and nested
groupfilterstructures. - Eliminates the need for manual XML parsing when analyzing filters.
Example:
workbook.datasources[3].filters
# Output: [<tableaudocumentapi.filter.Filter at 0x104765600>]✅ Resolved in v012: Added a Worksheet class that exposes structured child elements and objects, including:
- Datasource Dependencies
- Filters
- Rows
- Columns
- Column Instances
- Worksheet ID (UUID)
This provides full programmatic access to worksheet internals that were previously only accessible by traversing raw XML.
✅ Resolved in v012: Extended support for column instances at the worksheet level.
- Each column instance now exposes contextual attributes (derivation, pivot type, etc.).
- Previously, this metadata was only available at the datasource level in the pre-fork API.
✅ Resolved in v012: Added a Query object that supports high-level traversal of XML for cross-workbook analysis.
- Query.get_workbook_dependencies() generates a tabular usage report of all fields across dashboards and worksheets.
- Greatly simplifies complex dependency mapping that previously required custom XML logic.
workbook.query.get_workbook_dependencies()
# Outputs a tabular field usage report for every Dashboard and Worksheet