Documentation Status


TRExt is short for Tableau Refresh Extract (Externally).

TRExt is a means to refresh a Tableau Extract (.tde files) externally so the Tableau Server can serve visual content without having to compete for resources while refreshing extracts internally.


The main dependencies are:

The repo also supports


You need pip to install TRExt.

You can install the latest version of the package straight from PyPI using:

$ pip install trext

You can also directly install from GitHub directly using:

$ pip install


$ pip install git+


Create an extract

>>> import trext
>>> tde = trext.Extract()
>>> connection_string = "appropriate db connection string"
>>> tde.create("db.schema.table", conn_string=connection_string, dbtype='exasol')
>>> tde.location

Publish to Tableau Server (overwrites existing extract)

>>> tableau_auth_details = ("username", "password")
>>> publish_details = ("site_content_url", "project_name")
>>> tde.publish("tableau server address", auth=tableau_auth_details, params=publish_details)

Refreshing an extract is now replaced with creating and publishing an extract. You can use this is conjunction with TabAuto (not yet open source) or with Tableau’s server-client-python library to get the datasource names that need refreshing.


More detailed documentation is available at


TRExt is still a Work-in-Progress

I wrote most of this codebase when Tableau SDK was released for Tableau 8 and never got around to moving it from a POC/local copy to open source, so this a rough-and-ready type of library.

This is fair warning to anyone who uses this library: there will be bugs, bad documentation and no tests for a short while till I fix it up. So please use with care and if you find issues submit a bug report or a PR.

If you want to contribute and add tests, better documentation, new connectors, cleaner interface etc, please do and submit a PR.

Oh and don’t forget to add yourself to AUTHORS

Note: I have tested TRExt only on a Linux distro, so if you find any issues on other Operating Systems please do create a bug report and I can try to fix it, but if you do know how to fix it please also submit a PR.