TabPy v2.3.1 Released: Deployed Function Overriding Bug Fixed

PyPi package – https://pypi.org/project/tabpy/2.3.1/.

GitHub release – https://github.com/tableau/TabPy/releases/tag/2.3.1.

The most important improvement of this release is a bug fix for overriding deployed functions (models).

TabPy supports overriding for deployed functions with increasing endpoint version for it.

For example if you run TabPy locally and deploy function like in the example below you will have endpoint Fn version 1:

from tabpy.tabpy_tools.client import Client

client = Client('http://localhost:9004/')

def fn(x, y):
  return x + y


client.deploy('Fn', fn, 'My awesome function')

In case you want to make any changes in the function in the way users of it automatically pick up new version without any work on their side use override parameter when deploying again:

def fn(x, y):
  return x * y + x * 2

client.deploy('Fn', fn, override=True)

With overriding endpoint Fn its version will be increased and all user SCRIPT_... calculations from now on will call this new version.

TabPy v2.2.0 Released

TabPy version 2.2.0 is released:

To install or update to the latest version as usual run

pip install --upgrade tabpy

The release includes fixes for authentication:

  • Fixed bug for scripts with tabpy.query(...) calls for when authentication is configured for TabPy.
  • Fixed bug for TabPy reporting 500 error instead of 401 when it runs without the attached console.
  • Improved authentication security (this is breaking change) – now TabPy returns authentication error when credentials are provided, but it is not configured for it.

Additional reads:

TabPy v1.1.0 released

TabPy version 1.1.0 is released: package – https://pypi.org/project/tabpy/, release on GitHub – https://github.com/tableau/TabPy/releases/tag/1.1.0.

You can update your TabPy with the following command (you’ll need to stop all running TabPy instances first):

pip install --upgrade tabpy

New release main improvement is for /info method (https://tableau.github.io/TabPy/docs/server-rest.html#get-info) – now it checks for credentials to be provided if TabPy is configured for authentication. The improvement won’t affect any older Tableau Desktop or Tableau Server versions which already had support for TabPy authentication.

For how to configure authentication for TabPy read How to configure TabPy with authentication and use it in Tableau.

TabPy v1 released!

It took some time, but TabPy v1 finally happened. Comparing to the previous v0.9.0 there are not so many changes:

To install TabPy or update your TabPy instance to the latest release run the following command:

pip install --upgrade tabpy

Additional reading:

TabPy v0.9.0 released

As we getting closer to TabPy v1 being released (read here for more details – https://www.tableau.com/about/blog/2020/1/python-tableau-now-10) some bug fixes, documentation updates and code improvements are made. In the v0.9.0 release those are:

  • TabPy now works with Python 3.8.
  • Client.remove() method was added and now models (deployed functions) can be deleted with tabpy_tools.
  • Index page for running TabPy instance now shows the instance settings, deployed models and some useful links.
  • Bug fixes for Ctrl+C, query timeout, returning None or not returning value from a script, returning NaN in result.
  • Internals improvements for code quality, package size, test coverage.

To install this specific version run pip install tabpy==0.9.0 command.